New: Kernel does not deliver packets going through the INPUT chain even if the app is listening on IN_ADDR_ANY
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]/
Quoted 51 lines · On Fri, 25 Jan 2008 03:59:27 -0800 (PST) [email protected] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=9812
Summary: Kernel does not deliver packets going through the INPUT
chain even if the app is listening onIN_ADDR_ANY
Product: Networking
Version: 2.5
KernelVersion: 2.6.22-14
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Netfilter/Iptables
AssignedTo: [email protected]
ReportedBy: [email protected]Latest working kernel version: never worked
Earliest failing kernel version:
Distribution: ubuntu 7.10Problem Description:
I have a farm of web servers behind a load balancer in DSR mode. I would like to be able to dump packets with any IP address on the web servers through the load balancer and have web servers reply to these requests. Currently for every IP web servers are supposed to reply to, I have to configure the IP on all servers on their loopback interfaces. The web server listens on
IN_ADDR_ANYand I am forcing packets into the INPUT chain via iptables/netfilter but the kernel never replies to any connection requests. I only see the counter for OutNoRoutes increasing.Steps to reproduce:
web server:
#iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 80 -j MARK --set-mark 1
#ip route add to local default dev lo protocol kernel table 1
#ip rule add fwmark 1 table 1 priority 1client:
#ip route add 1.1.1.1/32 via <web server IP> dev eth0
while making requests to 1.1.1.1:80 from the client you can see increasing OutNoRoutes counter but no connection ever takes place.
Quoted 23 lines · Andrew Morton
Quoted 23 lines · On Fri, 25 Jan 2008 03:59:27 -0800 (PST) [email protected] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=9812
Problem Description:
I have a farm of web servers behind a load balancer in DSR mode. I would like to be able to dump packets with any IP address on the web servers through the load balancer and have web servers reply to these requests. Currently for every IP web servers are supposed to reply to, I have to configure the IP on all servers on their loopback interfaces. The web server listens on
IN_ADDR_ANYand I am forcing packets into the INPUT chain via iptables/netfilter but the kernel never replies to any connection requests. I only see the counter for OutNoRoutes increasing.Steps to reproduce:
web server:
#iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 80 -j MARK --set-mark 1 #ip route add to local default dev lo protocol kernel table 1 #ip rule add fwmark 1 table 1 priority 1
Quoted 6 lines
Quoted 6 lines
client:
#ip route add 1.1.1.1/32 via <web server IP> dev eth0
while making requests to 1.1.1.1:80 from the client you can see increasing OutNoRoutes counter but no connection ever takes place.
I already commented in bugzilla, this is not a bug but an incorrect setup. DNAT or REDIRECT must be used to make this work properly.