Hi folks,

I set up an old Pentium II box to do NAT for my home network. It's
running Gentoo 2006.1, linux 2.6.20-gentoo-r6 and iptables 1.3.5.

I have three ethernet interfaces:
1. ISA ethernet card (RTL8019AS) which works with the ne kernel module
2. USB ethernet stick (Linksys USB200M) which works with asix
3. USB cable modem (Motorola SurfBoard SB4200) which works with
cdc_ether
(The modem also has an ethernet port.)

I have tried two ways of connecting things up:
1. [modem] ...usb... [oldbox] ...eth... [hub/network]
2. [modem] ...eth... [stick] ...usb... [oldbox] ...eth... [hub/
network]

To set up very simple NAT, I ran:
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
(Obviously I made sure the modem was coming up as eth1 and the
internal network was 192.168.1.1/24.)

Topology 1 gives oldbox a working internet connection, but other
machines on the network can only ping (icmp) and do dns (udp), but not
http etc (tcp). Topology 2 gives all machines a working internet
connection. The _only_ difference between the two topologies (afaict)
is the way the modem is connected. I tried several times, keeping a
close eye on routing/dns/modules/dhcp configurations to ensure that
they were equivalent.

I've googled extensively for help, but can't work out why topology 1
doesn't work. Does anyone have a better understanding of this? My usb
ethernet stick is a bit unreliable and I'd love to get it out of the
setup.

Cheers,
Jeremy