Problem with the first ICMP_REDIRECT message
flat view
From: Li Wei <hidden>
Date: 2011-11-30 03:10:41
Hi all, I am doing some tests on ICMP_REDIRECT messages and found that I never receive the first ICMP_REDIRECT message, but the following REDIRECT messages was normal. My test environment as follow: three pc: PC A: IP: 192.168.0.1 MAC: HW:0A PC B: IP: 192.168.0.2 MAC: HW:0B module nf_nat loaded and at least one rule in nat table(rule content not concern) PC C: IP: 192.168.0.3 MAC: HW:0C enable ip forwarding on PC B: # echo 1 > /proc/sys/net/ipv4/ip_forward add a static arp on PC A: # arp -s 192.168.0.3 HW:0B ping 192.168.0.3 on PC A: # ping -c1 192.168.0.3 I expect that PC A will receive a ICMP_REDIRECT message from PC B, but nothing received. ping three times 192.168.0.3 on PC A: # ping -c3 192.168.0.3 PC A got two ICMP_REDIRECT messages from PC B, the first one missing. After some code search, I found in function nf_nat_icmp_reply_translation() the first ICMP_REDIRECT message was droped because the ct->status is not IPS_NAT_DONE_MASK. Does anyone has some suggestion?