Credits: George Bonser
grep@shorelink.com, Stand: September 1999
I got it working, finally. All documentation that I have seen is incorrect! You must work around a couple of kernel bugs. Forget the new ip tools for now, it works better for me using the old tools.
Main Router : 192.168.50.254 Eth1 netmask 255.255.255.0
172.16.0.254 Eth2 netmask 255.255.0.0
Remote Macine: 192.168.50.113 Eth0 netmask 255.255.255.0
10.1.1.1 Dummy0 netmask 255.0.0.0
Dummy0 is pretending to be an additional interface on the second machine in this case. On Main Router -
insmod ipip route add -host 192.168.50.113 eth1 ifconfig tunl0 172.16.0.254 pointopoint 192.168.50.113
you will now discover a 192.168.0.0 netmask 255.255.0.0 route installed on tunl0 ... do not delete it yet! The kernel picks up the netmask of the 172.16.0.254 interface and auto-adds a 192.168.0.0 route using that netmask.
route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.50.113 tunl0 now delete the bogus route route del -net 192.168.0.0 netmask 255.255.0.0
On the remote machine -
insmod ipip route add -host 192.168.50.254 eth0 ifconfig tunl0 10.1.1.1 pointopoint 192.168.50.254
(bogus 192.0.0.0/255.0.0.0 route added by kernel)
route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.50.254 tunl0 route del -net 192.0.0.0 netmask 255.0.0.0