Linux 收到ICMPv4/v6重定向pkt,但路由表未更新?

Linux 收到ICMPv4/v6重定向pkt,但路由表未更新?,linux,networking,ipv6,freebsd,icmp,Linux,Networking,Ipv6,Freebsd,Icmp,在FreeBSD/Linux中,操作系统可以接收ICMPv4/v6重定向pkt,但路由表不会相应更改 我已经在/proc下启用了必要的sysctl变量来接受重定向pkt 有什么建议吗?在Linux上,您可以通过以下方式检查eth0的设置: cat /proc/sys/net/ipv6/conf/eth0/accept_redirects 您可以通过以下方式手动更改设置: echo 1 > /proc/sys/net/ipv6/conf/eth0/accept_redirects 或 如

在FreeBSD/Linux中,操作系统可以接收ICMPv4/v6重定向pkt,但路由表不会相应更改

我已经在/proc下启用了必要的sysctl变量来接受重定向pkt


有什么建议吗?

在Linux上,您可以通过以下方式检查eth0的设置:

cat /proc/sys/net/ipv6/conf/eth0/accept_redirects
您可以通过以下方式手动更改设置:

echo 1 > /proc/sys/net/ipv6/conf/eth0/accept_redirects

如果要永久更改此设置,可以将以下内容添加到
/etc/sysctl.conf

net.ipv6.conf.all.accept_redirect = 1
我认为重定向是默认接受的,所以可能在某个地方被转向了?您的
/etc/sysctl.conf
可能包含该行

net.ipv6.conf.all.accept_redirect = 0

如果是,只需将其删除或将其更改为
…=1

您对
接受重定向
安全重定向
的确切设置是什么?谢谢您的评论和回答。路由表没有更改的原因是出于安全考虑,FreeBSD/Linux将只处理与默认网关具有相同src地址的icmp重定向pkt。
net.ipv6.conf.all.accept_redirect = 0