RE: Entirely ignoring TCP and UDP checksum in kernel level

Josan Kadett
2004-08-22T19:28:26Z

I have found the exact reason why NAT does not work;

- The patched linux box ignores IP checksum errors
- Since now the source address is mofidified without checksumming, NAT also
carries that wrong checksum
- Other boxes does not ignore the checksum and drop packets

I think the solution is here, I have done many different modifications to
get the system redirect packets with wrong checksum. Now all to be done, is
to correct this checksum by changing some code in ip_input.c so that it
recalculates the checksum when the packets seem to arrive from 192.168.1.1.

Where in the code then?

-----Original Message-----
From: Brad Campbell [mailto:brad@wasp.net.au]
Sent: Sunday, August 22, 2004 3:14 PM
To: Josan Kadett
Cc: linux-kernel@vger.kernel.org
Subject: Re: Entirely ignoring TCP and UDP checksum in kernel level

Are you trying to ping 192.168.77.1 from 192.168.0.30?

Can you give me an iptables -L -n -t nat, ifconfig and route -n from the
patched box and also route
-n and ifconfig from the dummy client at 192.168.0.30 so I can try and get a
handle on what you are
doing and how it all is supposed to work?