все!
Сейчас пытаюсь настроить soft-router на Linux .. :(
# ip rule
0: from all lookup local
20000: from all iif lo lookup main # Thanks to wurtel !
32760: from all iif lo lookup rt2 # for local programs like whois..
32761: from all oif vlan988 lookup rt2
32762: from all to 172.18.20.0/24 lookup rt2 #mgmt nated address
32763: from all to 172.18.19.0/24 lookup rt2 #mgmt direct address
32764: from 172.18.20.0/24 lookup rt2
32765: from 172.18.19.0/24 lookup rt2
32766: from all lookup main
32767: from all lookup default
основная таблица маршрутизации заполнена птицей и выглядит примерно так:
# ip route | head -2
1.0.4.0/24 via __ dev vlan500 proto bird metric 32
1.0.4.0/22 via __ dev vlan500 proto bird metric 32
# ip route |wc -l
95775
Когда я отслеживаю маршрут до 1.0.4.1 с удаленного хоста через мой программный маршрутизатор, я получаю высокие потери пакетов на первом переходе (это) и 0% потерь на последнем пути и в пункте назначения.
My traceroute [v0.87]
dump (91.212.7.1) Wed Nov 6 19:31:57 2019
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 100.64.186.227* 92.3% 14 7.7 7.7 7.7 7.7 0.0
2. 100.64.224.229 0.0% 14 26.4 26.5 26.4 26.8 0.0
...
16. 1.0.4.1 0.0% 1 346.0 346.0 346.0 346.0 0.0
*) IP-адреса для переходов 1 и 2 являются поддельными.
Я пробую пинговать вместо трассировки .. с потерей 0%.
ping 100.64.186.227 -f
.^C
--- 100.64.186.227 ping statistics ---
272 packets transmitted, 271 received, 0% packet loss, time 2420ms
но у меня не более 0,1% загрузки процессора ("верх") и транзитного трафика около 0 Мбит / с ... Я tcpdump`ed интерфейсы для времени ICMP превышал транзит и обнаружил, что такой трафик только на ожидаемом, правильном интерфейсе, с слишком медленно 1 пакет / скорость 6 секунд ...
Пределы?
# sysctl -a |grep icmp
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_errors_use_inbound_ifaddr = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.icmp_msgs_burst = 50
net.ipv4.icmp_msgs_per_sec = 10000
net.ipv4.icmp_ratelimit = 10000
net.ipv4.icmp_ratemask = 6168
Любые идеи?