Назад | Перейти на главную страницу

жесткая потеря пакетов через программный маршрутизатор Linux

все!

Сейчас пытаюсь настроить 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

Любые идеи?