Problem: ein Router A ist als Default-GW bei Client B eingetragen, Client B schickt Paket an C über A und C ist im selben Subnetz, dann schickt A „ICMP Redirects“ an B um in mitzuteilen, das A C direkt erreichen kann. Das ist nicht immer gewünscht! (Das akzeptieren von Redirects könnte auch ein Security Problem sein!)
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
(Bug ?!: mit „eth0“ statt „all“ gehts nicht, wird ignoriert)
Stattdessen muss dann „forwarding eingegstellt sein:
echo "1" > /proc/sys/net/ipv4/conf/eth0/forwarding
Dauerhaft (auch nach Reboot):
net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.send_redirects=0 net.ipv4.conf.default.accept_redirects=0
Server 'xentest' (192.168.1.51) hat als Default-GW 192.168.1.70. Mit „send_redirects == 1“:
xentest:~# ping 192.168.4.1 PING 192.168.4.1 (192.168.4.1) 56(84) bytes of data. From 192.168.1.70: icmp_seq=12 Redirect Host(New nexthop: 192.168.1.1) 64 bytes from 192.168.4.1: icmp_seq=12 ttl=63 time=10.9 ms
den „nexthop“ merkt sich der client (ziemlich lange).
Mit „send_redirects == 0“ klappt der ping nicht mehr, sobald
echo 0 > /proc/sys/net/ipv4/conf/eth0/forwarding