I was trying the following setup with IPIP tunnels, one that used to work through another ISP, but no longer... Internal network | Linux box 1 (kernel 2.2.24) iif=10.0.0.1, extf=a.b.c.d, tunf=172.16.0.1 | |local metropolitan network | Another Linux box 2 (kernel 2.2.17, or 2.4.19, same result) iif=irrelevant, extf=x.y.z.v, tunf=172.16.0.2 | internet mtu is 1500 on iif, extf (ethernet) In short : I''m using an IPIP between the two linux boxes to give the internal network access to the internet outside the metropolitan network. the setup on linux box 1: ip tun add tun0 mode ipip ttl 64 local a.b.c.d remote x.y.z.v ip addr add 172.16.0.1/32 dev tun0 ip link set tun0 up ip ro add 172.16.0.2/32 via x.y.z.v dev tun0 onlink Then : table main contains no default route. ip ru add pref 10 lookup main ip ro add metro_dest via my_local_gateway dev extf table metro ... as many as needed ip ru add pref 100 lookup metro Up to here I have local directly connected networks and the metropolitan network reachable This is for packets with source set to tunnel address: (i learned this trick from LVS howtos and multi path routing) ip ro add 172.16.0.2/32 via x.y.z.v dev tun0 onlink src 172.16.0.1 table tun ip ro add default via 172.16.0.2 dev tun0 onlink src 172.16.0.1 table tun ip ru add pref 1000 from 172.16.0.1 lookup tun This will direct all the rest through the tunnel. ip ro add default via 172.16.0.2 dev tun0 onlink table outside ip ru add pref 2000 lookup outside firewall masquerades internal network: ipchains -A forward -s 10.0.0.0/24 -j MASQ ------------------------------------- This setup was working last year on a different ISP for my linux box. Now I changed the ISP and this no longer works, or rather it works in part: From the linux box everything works. From a windows box in the internal network ping works, traceroute works. From a windows box in the internal network TCP (like a web page retrival) it doesn''t, with a twist : I request a web page and sometimes I manage to get 1-2 packets of reply (SYN sent, ACK received, at most 1-2 packets of data go through, but that''s all). A tcpdump on such a connection yields the following : windows box is A destination (ie www.google.com) is B A->B SYN B->A ACK after this, I see A->B ACK window 8760 and gets no replies to these B->A ACK window [something > 30000 or 60000] and gets no reaction from A It continues like this for a while, independently sending each other packets, without replying... I have found a temporary fix modifying TCP setup on the windows box using MTUSPEED : I set it to optimum settings for the network interface, which mostly does the following: MTU=576 RWIN=removed MSS=536 PMTUDiscovery=remove -------------------------------------- However, I still don''t know the cause of this, and I''d really like to know a fix that will work on the linux box, without modifying each windows box behind it. _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/