An implementation of Mobile IP under Linux (2.0.30) Version 1.00 Introducction: This implementation of Mobile IP is fully compliant with Mobile IP RFC 2002 (except when ARP requests are issued by the FA) It runs all the code at user space and it does not need any kernel modification whatsoever. Installation: 1) Create the directory MobileIP under /user/local/sbin 2) Copy the file MobileIP.tar.gz to /user/local/sbin/MobileIP 3) gunzip MobileIP.tar.gz 4) tar xvf MobileIP.tar 5) gcc mymnode.c -o mymnode 6) gcc broadcast.c -o broadcast 7) gcc myagent.c -o myagent Running Mobile IP a) Agents. A configuration file must be created in order to run the appropiate software. The configuration file is called "configuration" and it must appear in the same direcctory as broadcast and myagent. Its syntax is: -Agent's IP address (eg. 123.123.123.123) -Agent's MAC address (eg. 23:67:aa:dd:35:8f) -Name of the interface where the agent provides its services (eg. eth0) -Number of MN it supports as home agent (eg. 3) (by default 2 max., but if it is changed Space.c, it could be more) -Number of MN it supports as foreign agent (eg. 5) -Mobile node's IP address (the one it supports as home agent) -SPI of that mobile node (eg. 2135) -Key Length (authentication key) -MD5 key in ASCII format (spaces can be used) These previous four steps must be repeated for every mobile node it supports. -Number of authentication bindings between this agent and other agents. if the number of bindings is 0 next four fields are empty. -Agent's IP address (correspondent agent) -SPI of that agent (eg. 6666) -Key length (authentication key) -MD5 key in ASCII format between both agents(spaces can be used) These previous four steps must be repeated for every authentication binding between agents. b) Mobile node Two configuration files are defined: 1) configuration -MN's IP address (eg. 15.144.23.4) -HA's IP address (eg. 33.66.22.51) -Interface used by the mobile node (eg. eth0) -MN's Hardware address (eg. 26:15:1a:fa:ba:da) -Home Network's Mask (eg 255.255.255.0) -MD5 Key length (between mobile node and home agent) -MD5 Key length in ASCII format -Number of authentication bindings between the mobile node and different FAs. If the previous value is 0, the next four fields are not neccessary, but that number (0) MUST be specified. -Foreign agent's IP address -Foreign agent's SPI -Foreign agent's key length (eg. 19) -Foreign agent's MD5 key in ASCII format. (eg. estafiestanotermina) These previous four steps must be repeated for every authentication binding between mobile node and foreign agents. 2) routeentry.conf This configuration file contains the default entries for the routing table. Its syntax is as follows: -Number of entries. For each entry the following fields: -Network device name (eg. eth0, eth1, ...) -Source address (eg. 24.44.6.0, 0.0.0.0 (default), ...) -Destination address (eg. 23.53.65.11) When these files are configured then run the programs like: a) Mobile node mymnode -1 & b) Agents broadcast -1 & myagent -1 & Notes: -These release has been tested under Linux 2.0.30. -tunnel.c and ipip.c must be configured (in the agents). -Root permission is needed to run these programs. -If you have any questions or you have found out a bug, please do not hesitate to email: Manuel Rodriguez (manuel@spainmail.com)