My FreeBSD 8.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
And I got the
As I checked from Google, all configuration about redirect is configured as below:
But when I test with CentOS 5.8,
And I got the
And the configuration about redirect as below:
Any idea about FreeBSD, it looks like FreeBSD receives redirect information but does not redirect as the information that it got and still send to old direction. Is there any workaround or solution to solve this issue. Thank you in advance.
Un ^^
When I test
ping
from FreeBSD to 8.8.8.8, I got below message on screen
Code:
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:
Code:
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:
Code:
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:
Code:
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:
Code:
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:
Code:
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 looks like FreeBSD receives redirect information but does not redirect as the information that it got and still send to old direction. Is there any workaround or solution to solve this issue. Thank you in advance.
Un ^^