First load the IP Alias module (you can skip this step if you compiled the module into the kernel): /sbin/insmod /lib/modules/`uname -r`/ipv4/ip_alias.o Second, setup the loopback, eth0 and all the IP #s beginning with the main IP # for the eth0 interface: /sbin/ifconfig lo 127.0.0.1 /sbin/ifconfig eth0 up /sbin/ifconfig eth0 172.16.3.1 /sbin/ifconfig eth0:0 172.16.3.10 /sbin/ifconfig eth0:1 172.16.3.100 172.16.3.1 is the main IP #, while .10 and .100 are the aliases. The magic is the eth0:x where x=0,1,2,...n for the different IP #s. The main IP # does not need to be aliased. Third, setup the routes. First route the loopback, then the net and, finally, the various IP #s starting with the default (originally allocated) one: /sbin/route add -net 127.0.0.0 /sbin/route add -net 172.16.3.0 dev eth0 /sbin/route add -host 172.16.3.1 dev eth0 /sbin/route add -host 172.16.3.10 dev eth0:0 /sbin/route add -host 172.16.3.100 dev eth0:1 /sbin/route add default gw 172.16.3.200 -------------------------------- ================================================== Router /sbin/route add 127.0.0.1 /sbin/route add -net 192.168.1.0 gw 192.168.1.99 dev eth1 /sbin/route add -net 192.168.20.0 gw 192.168.20.99 dev eth0 /sbin/route add default gw 192.168.1.252 ================================================== keep ssh alive ? echo 500 > /proc/sys/net/ipv4/tcp_keepalive_time sh -c 'while sleep 45; do echo -en " \b"; done' & ================================================== IP-alias /sbin/insmod /lib/modules/`uname -r`/ipv4/ip_alias.o /sbin/ifconfig eth0:0 172.16.3.10 /sbin/route add -net 172.16.3.0 dev eth0 /sbin/route add -host 172.16.3.10 dev eth0:0 /sbin/route add default gw 172.16.3.200 ================================================== boot arp -s somehost mac-address pub ping somehost -------------------------------- ================================================== list open net files lsof -P | grep ":" http://oob.freeshell.org/nzwireless/nocat1.html