From the RTFM
In this example, your client machine is connected to a firewalled LAN through ethernet device eth0. Its IP address is 220.127.116.11; its network is 18.104.22.168/24; its router is 22.214.171.124.
Your network administrator may have told you to use 126.96.36.199 as default router, but you shouldn’t. You should only use it as a route to the client side of the firewall.
Let’s suppose the client side of your firewall is made of networks 188.8.131.52/16 and 184.108.40.206/16, and of host 220.127.116.11. To make them accessible through your client router, add these routes to your global network startup script:
route add -net 18.104.22.168 netmask 255.255.0.0 gw 22.214.171.124 route add -net 126.96.36.199 netmask 255.255.0.0 gw 188.8.131.52 route add -host 184.108.40.206 gw 220.127.116.11
You must also keep the route to the client’s local network, necessary for linux kernel 2.0 and earlier, but but unnecessary for linux kernel 2.2 and later (that implicitly adds it during the ifconfig):
route add -net 18.104.22.168 netmask 255.255.255.0 dev eth0
On the other hand, you must remove any default route from your scripts. Delete or comment away a line like:
route add default gw 22.214.171.124
Note that it is also possible to remove the route from the running kernel configuration without rebooting, by the following command:
route del default gw 126.96.36.199
Just so that it’s all in one place 🙂