#!/bin/bash # PATH=/sbin ip route del 192.168.1.0/24
route add -net 192.168.1.0/24 dev eth0 gw 192.168.3.18 metric 1 The above is a script that I use to switch the default gw on a backside router Dodo. D ---- W | | | | | | | | X------G----LAN I have Dodo, D, connected to Web, W, and Xerxes, X. G, goose, is connected to Dodo via 192.168.4.0/28 network. (not shown) Web is in the 192.168.3.16/28 network. Xerxes is in the 192.168.3.0/24 network. Web, Goose, and Xerxes are also in the 192.168.1.0/24 network. Traditionally, if web and xerxes were on the same subnet, I might use a virtual IP address and route to it. I need to route from dodo based on the source the packet stream came from. When the gateway from the other end is web, I can route to web from dodo and that will usually be correct. It won't be correct to route packets to web if I try to run horde on xerxes though. The correct route can't be determined until I know which machine, web or xerxes, is trying to go through dodo. Yikes, how do I go about figuring this out and untangling this ugly mess? I literally need to change the route to get to the 192.168.1.0/24 network from dodo on the fly. I haven't even talked about tracking gateway outages on web and xerxes. The above script has a sister script that switches to the other router and I run these scripts via cron, but that isn't a very robust approach. I think I need to have 2 routing tables, the original one and a second one, with the 2 routes to reach 192.168.1.0/24. I then need to MARK packet streams going through dodo based on which server by MAC address the packets originate from. _______________________________________________ PLUG mailing list [email protected] http://lists.pdxlinux.org/mailman/listinfo/plug
