Когато на един физически интерфейс има вдигнати две мрежи, ако се изпълни ping от едната към другата – ICMP показва грешен “redirect message”, ping връща следващия хоп който е грешен.
$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=254 time=3.41 ms
From 192.168.85.1 icmp_seq=2 Redirect Host(New nexthop: 44.85.168.192)
64 bytes from 192.168.0.1: icmp_seq=2 ttl=254 time=3.75 ms
Ако искаме да поправим това просто трява да изпълним:
$ sudo sysctl -w net.ipv4.ping_group_range='1 0'
net.ipv4.ping_group_range = 1 0
Или
$ sudo su
# echo '1 0' > /proc/sys/net/ipv4/ping_group_range
И резултата веднага ще се промени с правилния шлюз по позразбиране.
$ sudo ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=254 time=3.17 ms
From 192.168.85.1: icmp_seq=2 Redirect Host(New nexthop: 192.168.85.44)
64 bytes from 192.168.0.1: icmp_seq=2 ttl=254 time=3.79 ms
Ако е нужно тази стойност да е активна след рестарт, просто добавете командата net.ipv4.ping_group_range = 1 0 в файла /etc/sysctl.conf и запаметет стойноста с sudo sysctl -p