I have Linux gateway/firewall with 3 NIC: eth0 ? LAN, eth1 ? ISP1, eth2 ? ISP2. I?ve got separate static IPs from each of the ISP (IP1 & IP2) which I statically assigned to eth1 and eth2. My default route points to ISP1 gateway via eth1. I need to provide external access to a few computers on the LAN using different IPs and port numbers (no load balancing and target machines are IP-specific). Everything works fine if I use IP1 address but I was unable to get to the corresponding LAN machine through IP2. Ping requests are also not responded if they?re made to IP2. They do reach eth2 and I can see them using tcpdump but then nothing goes out on any NIC. The same goes for TCP/IP requests ? I?ve managed to trace them to the nat table PREROUTING chain but they could not be found in either INPUT or FORWARD chain of the mangle table. If I make default route through eth2 ? everything starts working through that NIC and stops through eth1. I seem to be missing something simple. Any help is greatly appreciated. Mikhail.