Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

My FreeBSD8.2 point gateway to 192.168.1.25. 192.168.1.25 is the gateway where redirect traffic to 192.168.1.1.

When I test PING from FreeBSD to 8.8.8.8, I got below message on screen

*TEST# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes

***92 bytes from 122.248.120.25: Redirect Host(New addr: 122.248.120.1)**
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 0054 3bf7   0 0000  40  01 3b8a 122.248.120.32  8.8.8.8 
92 bytes from 122.248.120.25: Redirect Host(New addr: 122.248.120.1)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 0054 3bfd   0 0000  40  01 3b84 122.248.120.32  8.8.8.8** 

And I got the TCPDUMP for ICMP as below :

*06:19:35.144386 IP TEST.NTTC.COM.MM > google-public-dns-a.google.com: ICMP echo request, id 13094, seq 0, length 64

06:19:35.144841 IP 122.248.120.25 > TEST.NTTC.COM.MM: ICMP redirect google-public-dns-a.google.com to host 122.248.120.1, length 92

06:19:36.155552 IP TEST.NTTC.COM.MM > google-public-dns-a.google.com: ICMP echo request, id 13094, seq 1, length 64

06:19:36.156137 IP 122.248.120.25 > TEST.NTTC.COM.MM: ICMP redirect google-public-dns-a.google.com to host 122.248.120.1, length 92*

As I checked from Google, all configuration about redirect is configured as below :

*TEST# sysctl -a | grep redirect
net.inet.ip.redirect: 1
net.inet.icmp.log_redirect: 0
net.inet.icmp.drop_redirect: 0
net.inet6.ip6.redirect: 1*

But when I test with CentOS 5.8, PING is reachable and screen show as below :

*bash-3.2# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
**From 192.168.1.25: icmp_seq=1 Redirect Host(New nexthop: 192.168.1.1)**
64 bytes from 8.8.8.8: icmp_seq=2 ttl=49 time=75.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=49 time=76.9 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=49 time=75.8 ms
*

And I got the TCPDUMP for ICMP as below :

*02:55:34.098230 IP 122.248.120.32 > google-public-dns-a.google.com: ICMP echo request, id 17419, seq 1, length 64

02:55:34.098629 IP 122.248.120.25 > 122.248.120.32: ICMP redirect google-public-dns-a.google.com to host 122.248.120.1, length 92

02:55:35.098029 IP 122.248.120.32 > google-public-dns-a.google.com: ICMP echo request, id 17419, seq 2, length 64

02:55:35.174478 IP google-public-dns-a.google.com > 122.248.120.32: ICMP echo reply, id 17419, seq 2, length 64*

And the configuration about Redirect as below :

*bash-3.2# /sbin/sysctl -a | grep redirect |grep ipv4
net.ipv4.conf.eth0.send_redirects = 1
net.ipv4.conf.eth0.secure_redirects = 1
net.ipv4.conf.eth0.accept_redirects = 1
net.ipv4.conf.lo.send_redirects = 1
net.ipv4.conf.lo.secure_redirects = 1
net.ipv4.conf.lo.accept_redirects = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.default.secure_redirects = 1
net.ipv4.conf.default.accept_redirects = 1
net.ipv4.conf.all.send_redirects = 1
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.all.accept_redirects = 1
net.ipv4.route.redirect_silence = 20480
net.ipv4.route.redirect_number = 9
net.ipv4.route.redirect_load = 20*

Any idea about FreeBSD, It look like FreeBSD receive redirect information but dose not redirect as the information that it got and still send to old direction.

Is there any workaround or solution to solve this issue?

share|improve this question
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.