From the RTFM
In this example, your client machine is connected to a firewalled LAN through ethernet device eth0. Its IP address is 188.8.131.52; its network is 184.108.40.206/24; its router is 220.127.116.11.
Your network administrator may have told you to use 18.104.22.168 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 22.214.171.124/16 and 126.96.36.199/16, and of host 188.8.131.52. To make them accessible through your client router, add these routes to your global network startup script:
route add -net 184.108.40.206 netmask 255.255.0.0 gw 220.127.116.11 route add -net 18.104.22.168 netmask 255.255.0.0 gw 22.214.171.124 route add -host 126.96.36.199 gw 188.8.131.52
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 184.108.40.206 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 220.127.116.11
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 18.104.22.168
Just so that it’s all in one place 🙂