On Wed, Nov 20, 2002 at 11:55:37PM +0100, Paco Brufal wrote: > I have a linux box with 3 interfaces, 2 of them have public IPs > (eth1 and eth2), and the third is a private IP (our LAN). I want to do the > following: if a packet is coming from eth1, it must be forwarded to eth0, > and when it comes back, it must be routed to eth1. In case of packet comes > from eth2, it must be forwarded to eth0, and the respose must be routed to > eth2. In other words, a packet must leave our network by the interface it > come. try out following: it's just an idea and i didn't try it out # delete tables 2 and 3 to avoid duplicates # add for each table the gateway to use $IP route del table 2 $IP route add table 2 via $ETH1_GATEWAY_IP dev eth1 $IP route del table 3 $IP route add table 3 via $ETH2_GATEWAY_IP dev eth2 # mark each packet regarding to its incomming device $IPTABLES -t mangle -A INPUT -i eth1 -j MARK --set-mark 2 $IPTABLES -t mangle -A INPUT -i eth2 -j MARK --set-mark 3 # delete to avoid duplicates # lookup the right table regarding to packets fwmark setting # flush the routing cache $IP rule del fwmark 2 table 2 $IP rule del fwmark 3 table 3 $IP rule add fwmark 2 table 2 $IP rule add fwmark 3 table 3 $IP route flush cache -- rob _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/