Непонятки с маршрутизацией

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15400
Статус: grammatikführer
ОС: Debian GNU/Linux

Непонятки с маршрутизацией

Сообщение Bizdelnick » 15.05.2019 11:14

Пытаюсь сделать вещь, которую ранее вроде бы уже проделывал неоднократно, но результата почему-то нет.
OpenWrt 18.06.1.

Shell

# ip r add 173.194.221.100 via 10.110.0.1
# ip r show 173.194.221.100
173.194.221.100 via 10.110.0.1 dev wg0
# traceroute -m 3 173.194.221.100
traceroute to 173.194.221.100 (173.194.221.100), 3 hops max, 38 byte packets
1 172.30.174.1 (172.30.174.1) 0.466 ms 0.413 ms 0.387 ms
2 nat98-bb.line-r.ru (213.108.208.98) 126.747 ms 6.024 ms 95.736 ms
3 nat41-bb.line-r.ru (213.108.208.169) 0.545 ms 0.696 ms 0.741 ms
#
При этом маршруты к подсетям, настроенные аналогичным образом, работают, как ожидается. Какие изменения могли привести к тому, что маршрут перестал работать, точно сказать затрудняюсь. Сменился провайдер, настроил mwan. Подозреваю больше всего, конечно, последний, но непонятно, почему такая избирательность: в подсети маршрут работает, а на отдельный адрес — нет.
Есть у кого-нибудь идеи, почему так может происходить?
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 4819
ОС: Gentoo

Re: Непонятки с маршрутизацией

Сообщение /dev/random » 15.05.2019 13:04

Bizdelnick писал:
15.05.2019 11:14
Есть у кого-нибудь идеи, почему так может происходить?
Что скажет ip route get 173.194.221.100? (get, а не show)
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15400
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Непонятки с маршрутизацией

Сообщение Bizdelnick » 15.05.2019 22:17

/dev/random писал:
15.05.2019 13:04
Что скажет ip route get 173.194.221.100? (get, а не show)

Shell

# ip r get 173.194.221.100
173.194.221.100 via 10.110.0.1 dev wg0 src 10.110.0.2
cache
#
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 4819
ОС: Gentoo

Re: Непонятки с маршрутизацией

Сообщение /dev/random » 16.05.2019 08:18

Bizdelnick писал:
15.05.2019 22:17

Shell

173.194.221.100 via 10.110.0.1 dev wg0 src 10.110.0.2
Это перечеркнуло все имевшиеся у меня гипотезы... И, к сожалению, у меня сейчас нет OpenWRT, чтобы поэкспериментировать.

Будет ли работать, если вместо адреса добавить очень маленькую подсеть, включающую в себя тот же самый адрес (/29 или что-то в этом духе)? Что mwan прописал в iptables?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15400
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Непонятки с маршрутизацией

Сообщение Bizdelnick » 16.05.2019 09:43

/dev/random писал:
16.05.2019 08:18
Будет ли работать, если вместо адреса добавить очень маленькую подсеть, включающую в себя тот же самый адрес (/29 или что-то в этом духе)?
Похоже, что и для вновь добавленных подсетей тоже не работает, независимо от размера. То есть дело во времени добавления маршрута, а не в размере подсети. Но с момента добавления работающих маршрутов точно никаких изменений в системе не было.
/dev/random писал:
16.05.2019 08:18
Что mwan прописал в iptables?
Как же не хотелось лезть в эту помойку…

Код: Выделить всё

# Generated by iptables-save v1.6.2 on Thu May 16 09:20:52 2019
*nat
:PREROUTING ACCEPT [353:25982]
:INPUT ACCEPT [13:760]
:OUTPUT ACCEPT [85:6515]
:POSTROUTING ACCEPT [61:6678]
:MINIUPNPD - [0:0]
:MINIUPNPD-POSTROUTING - [0:0]
:postrouting_lan_rule - [0:0]
:postrouting_rule - [0:0]
:postrouting_vpn_rule - [0:0]
:postrouting_wan_rule - [0:0]
:prerouting_lan_rule - [0:0]
:prerouting_rule - [0:0]
:prerouting_vpn_rule - [0:0]
:prerouting_wan_rule - [0:0]
:zone_lan_postrouting - [0:0]
:zone_lan_prerouting - [0:0]
:zone_vpn_postrouting - [0:0]
:zone_vpn_prerouting - [0:0]
:zone_wan_postrouting - [0:0]
:zone_wan_prerouting - [0:0]
-A PREROUTING -m comment --comment "!fw3: Custom prerouting rule chain" -j prerouting_rule
-A PREROUTING -i br-lan -m comment --comment "!fw3" -j zone_lan_prerouting
-A PREROUTING -i eth1 -m comment --comment "!fw3" -j zone_wan_prerouting
-A PREROUTING -i 6to4-wan6 -m comment --comment "!fw3" -j zone_wan_prerouting
-A PREROUTING -i eth2 -m comment --comment "!fw3" -j zone_wan_prerouting
-A PREROUTING -i wg0 -m comment --comment "!fw3" -j zone_vpn_prerouting
-A POSTROUTING -m comment --comment "!fw3: Custom postrouting rule chain" -j postrouting_rule
-A POSTROUTING -o br-lan -m comment --comment "!fw3" -j zone_lan_postrouting
-A POSTROUTING -o eth1 -m comment --comment "!fw3" -j zone_wan_postrouting
-A POSTROUTING -o 6to4-wan6 -m comment --comment "!fw3" -j zone_wan_postrouting
-A POSTROUTING -o eth2 -m comment --comment "!fw3" -j zone_wan_postrouting
-A POSTROUTING -o wg0 -m comment --comment "!fw3" -j zone_vpn_postrouting
-A zone_lan_postrouting -m comment --comment "!fw3: Custom lan postrouting rule chain" -j postrouting_lan_rule
-A zone_lan_prerouting -m comment --comment "!fw3: Custom lan prerouting rule chain" -j prerouting_lan_rule
-A zone_vpn_postrouting -m comment --comment "!fw3: Custom vpn postrouting rule chain" -j postrouting_vpn_rule
-A zone_vpn_prerouting -m comment --comment "!fw3: Custom vpn prerouting rule chain" -j prerouting_vpn_rule
-A zone_wan_postrouting -m comment --comment "!fw3: Custom wan postrouting rule chain" -j postrouting_wan_rule
-A zone_wan_postrouting -j MINIUPNPD-POSTROUTING
-A zone_wan_postrouting -j MINIUPNPD-POSTROUTING
-A zone_wan_postrouting -m comment --comment "!fw3" -j MASQUERADE
-A zone_wan_prerouting -m comment --comment "!fw3: Custom wan prerouting rule chain" -j prerouting_wan_rule
-A zone_wan_prerouting -j MINIUPNPD
-A zone_wan_prerouting -j MINIUPNPD
COMMIT
# Completed on Thu May 16 09:20:52 2019
# Generated by iptables-save v1.6.2 on Thu May 16 09:20:52 2019
*mangle
:PREROUTING ACCEPT [8975392:5621753484]
:INPUT ACCEPT [451414:107593558]
:FORWARD ACCEPT [8334711:5499687891]
:OUTPUT ACCEPT [401837:88133436]
:POSTROUTING ACCEPT [8733685:5587671815]
:mwan3_connected - [0:0]
:mwan3_hook - [0:0]
:mwan3_iface_in_wan - [0:0]
:mwan3_iface_out_wan - [0:0]
:mwan3_ifaces_in - [0:0]
:mwan3_ifaces_out - [0:0]
:mwan3_policy_balanced - [0:0]
:mwan3_policy_prefer_wan - [0:0]
:mwan3_policy_usb_only - [0:0]
:mwan3_policy_wan_only - [0:0]
:mwan3_rules - [0:0]
-A PREROUTING -j mwan3_hook
-A FORWARD -o eth1 -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "!fw3: Zone wan MTU fixing" -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -o 6to4-wan6 -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "!fw3: Zone wan MTU fixing" -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -o eth2 -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "!fw3: Zone wan MTU fixing" -j TCPMSS --clamp-mss-to-pmtu
-A OUTPUT -j mwan3_hook
-A mwan3_connected -m set --match-set mwan3_connected dst -j MARK --set-xmark 0x3f00/0x3f00
-A mwan3_hook -j CONNMARK --restore-mark --nfmask 0x3f00 --ctmask 0x3f00
-A mwan3_hook -m mark --mark 0x0/0x3f00 -j mwan3_ifaces_in
-A mwan3_hook -m mark --mark 0x0/0x3f00 -j mwan3_connected
-A mwan3_hook -m mark --mark 0x0/0x3f00 -j mwan3_ifaces_out
-A mwan3_hook -m mark --mark 0x0/0x3f00 -j mwan3_rules
-A mwan3_hook -j CONNMARK --save-mark --nfmask 0x3f00 --ctmask 0x3f00
-A mwan3_hook -m mark ! --mark 0x3f00/0x3f00 -j mwan3_connected
-A mwan3_iface_in_wan -i eth1 -m set --match-set mwan3_connected src -m mark --mark 0x0/0x3f00 -m comment --comment default -j MARK --set-xmark 0x3f00/0x3f00
-A mwan3_iface_in_wan -i eth1 -m mark --mark 0x0/0x3f00 -m comment --comment wan -j MARK --set-xmark 0x100/0x3f00
-A mwan3_iface_out_wan -o eth1 -m mark --mark 0x0/0x3f00 -m comment --comment wan -j MARK --set-xmark 0x100/0x3f00
-A mwan3_ifaces_in -m mark --mark 0x0/0x3f00 -j mwan3_iface_in_wan
-A mwan3_ifaces_out -m mark --mark 0x0/0x3f00 -j mwan3_iface_out_wan
-A mwan3_policy_balanced -m mark --mark 0x0/0x3f00 -m comment --comment "wan 3 3" -j MARK --set-xmark 0x100/0x3f00
-A mwan3_policy_prefer_wan -m mark --mark 0x0/0x3f00 -m comment --comment "wan 3 3" -j MARK --set-xmark 0x100/0x3f00
-A mwan3_policy_usb_only -m mark --mark 0x0/0x3f00 -m comment --comment unreachable -j MARK --set-xmark 0x3e00/0x3f00
-A mwan3_policy_wan_only -m mark --mark 0x0/0x3f00 -m comment --comment "wan 3 3" -j MARK --set-xmark 0x100/0x3f00
-A mwan3_rules -d 213.108.208.0/24 -m mark --mark 0x0/0x3f00 -m comment --comment liner -j mwan3_policy_wan_only
-A mwan3_rules -m mark --mark 0x0/0x3f00 -m comment --comment default_rule -j mwan3_policy_prefer_wan
COMMIT
# Completed on Thu May 16 09:20:52 2019
# Generated by iptables-save v1.6.2 on Thu May 16 09:20:52 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:MINIUPNPD - [0:0]
:forwarding_lan_rule - [0:0]
:forwarding_rule - [0:0]
:forwarding_vpn_rule - [0:0]
:forwarding_wan_rule - [0:0]
:input_lan_rule - [0:0]
:input_rule - [0:0]
:input_vpn_rule - [0:0]
:input_wan_rule - [0:0]
:output_lan_rule - [0:0]
:output_rule - [0:0]
:output_vpn_rule - [0:0]
:output_wan_rule - [0:0]
:reject - [0:0]
:syn_flood - [0:0]
:zone_lan_dest_ACCEPT - [0:0]
:zone_lan_dest_REJECT - [0:0]
:zone_lan_forward - [0:0]
:zone_lan_input - [0:0]
:zone_lan_output - [0:0]
:zone_lan_src_ACCEPT - [0:0]
:zone_vpn_dest_ACCEPT - [0:0]
:zone_vpn_forward - [0:0]
:zone_vpn_input - [0:0]
:zone_vpn_output - [0:0]
:zone_vpn_src_ACCEPT - [0:0]
:zone_wan_dest_ACCEPT - [0:0]
:zone_wan_dest_REJECT - [0:0]
:zone_wan_forward - [0:0]
:zone_wan_input - [0:0]
:zone_wan_output - [0:0]
:zone_wan_src_REJECT - [0:0]
-A INPUT -i lo -m comment --comment "!fw3" -j ACCEPT
-A INPUT -m comment --comment "!fw3: Custom input rule chain" -j input_rule
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -m comment --comment "!fw3" -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -m comment --comment "!fw3" -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m comment --comment "!fw3" -j syn_flood
-A INPUT -i br-lan -m comment --comment "!fw3" -j zone_lan_input
-A INPUT -i eth1 -m comment --comment "!fw3" -j zone_wan_input
-A INPUT -i 6to4-wan6 -m comment --comment "!fw3" -j zone_wan_input
-A INPUT -i eth2 -m comment --comment "!fw3" -j zone_wan_input
-A INPUT -i wg0 -m comment --comment "!fw3" -j zone_vpn_input
-A FORWARD -m comment --comment "!fw3: Custom forwarding rule chain" -j forwarding_rule
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -m comment --comment "!fw3" -j ACCEPT
-A FORWARD -m conntrack --ctstate INVALID -m comment --comment "!fw3" -j DROP
-A FORWARD -i br-lan -m comment --comment "!fw3" -j zone_lan_forward
-A FORWARD -i eth1 -m comment --comment "!fw3" -j zone_wan_forward
-A FORWARD -i 6to4-wan6 -m comment --comment "!fw3" -j zone_wan_forward
-A FORWARD -i eth2 -m comment --comment "!fw3" -j zone_wan_forward
-A FORWARD -i wg0 -m comment --comment "!fw3" -j zone_vpn_forward
-A FORWARD -m comment --comment "!fw3" -j reject
-A OUTPUT -o lo -m comment --comment "!fw3" -j ACCEPT
-A OUTPUT -m comment --comment "!fw3: Custom output rule chain" -j output_rule
-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -m comment --comment "!fw3" -j ACCEPT
-A OUTPUT -m conntrack --ctstate INVALID -m comment --comment "!fw3" -j DROP
-A OUTPUT -o br-lan -m comment --comment "!fw3" -j zone_lan_output
-A OUTPUT -o eth1 -m comment --comment "!fw3" -j zone_wan_output
-A OUTPUT -o 6to4-wan6 -m comment --comment "!fw3" -j zone_wan_output
-A OUTPUT -o eth2 -m comment --comment "!fw3" -j zone_wan_output
-A OUTPUT -o wg0 -m comment --comment "!fw3" -j zone_vpn_output
-A reject -p tcp -m comment --comment "!fw3" -j REJECT --reject-with tcp-reset
-A reject -m comment --comment "!fw3" -j REJECT --reject-with icmp-port-unreachable
-A syn_flood -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 25/sec --limit-burst 50 -m comment --comment "!fw3" -j RETURN
-A syn_flood -m comment --comment "!fw3" -j DROP
-A zone_lan_dest_ACCEPT -o br-lan -m comment --comment "!fw3" -j ACCEPT
-A zone_lan_dest_REJECT -o br-lan -m comment --comment "!fw3" -j reject
-A zone_lan_forward -m comment --comment "!fw3: Custom lan forwarding rule chain" -j forwarding_lan_rule
-A zone_lan_forward -m comment --comment "!fw3: Zone lan to wan forwarding policy" -j zone_wan_dest_ACCEPT
-A zone_lan_forward -m comment --comment "!fw3: Zone lan to vpn forwarding policy" -j zone_vpn_dest_ACCEPT
-A zone_lan_forward -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port forwards" -j ACCEPT
-A zone_lan_forward -m comment --comment "!fw3" -j zone_lan_dest_REJECT
-A zone_lan_input -m comment --comment "!fw3: Custom lan input rule chain" -j input_lan_rule
-A zone_lan_input -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port redirections" -j ACCEPT
-A zone_lan_input -m comment --comment "!fw3" -j zone_lan_src_ACCEPT
-A zone_lan_output -m comment --comment "!fw3: Custom lan output rule chain" -j output_lan_rule
-A zone_lan_output -m comment --comment "!fw3" -j zone_lan_dest_ACCEPT
-A zone_lan_src_ACCEPT -i br-lan -m comment --comment "!fw3" -j ACCEPT
-A zone_vpn_dest_ACCEPT -o wg0 -m comment --comment "!fw3" -j ACCEPT
-A zone_vpn_forward -m comment --comment "!fw3: Custom vpn forwarding rule chain" -j forwarding_vpn_rule
-A zone_vpn_forward -m comment --comment "!fw3: Zone vpn to lan forwarding policy" -j zone_lan_dest_ACCEPT
-A zone_vpn_forward -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port forwards" -j ACCEPT
-A zone_vpn_forward -m comment --comment "!fw3" -j zone_v
Добавлено (09:46):
Вот оно что:

Shell

# ip r get 173.194.221.100 mark 0x100
173.194.221.100 via 171.25.167.165 dev eth1 table 1 src <внешний IP> mark 0x100
cache
#
Но всё равно не понимаю, почему старые маршруты работают.
Последний раз редактировалось Bizdelnick 16.05.2019 11:08, всего редактировалось 1 раз.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 4819
ОС: Gentoo

Re: Непонятки с маршрутизацией

Сообщение /dev/random » 16.05.2019 10:16

Bizdelnick писал:
16.05.2019 09:43
Но всё равно не понимаю, почему старые маршруты работают.
Возможно, mwan прописал для них специальные исключения к своим правилам маршрутизации, например, в ip rule или таблицах, на которые ip rule ссылается?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15400
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Непонятки с маршрутизацией

Сообщение Bizdelnick » 16.05.2019 11:30

/dev/random писал:
16.05.2019 10:16
Возможно, mwan прописал для них специальные исключения к своим правилам маршрутизации, например, в ip rule или таблицах, на которые ip rule ссылается?
Неа.

Shell

root@OpenWrt:~# ip rule
0: from all lookup local
1001: from all iif eth1 lookup main
2001: from all fwmark 0x100/0x3f00 lookup 1
2061: from all fwmark 0x3d00/0x3f00 blackhole
2062: from all fwmark 0x3e00/0x3f00 unreachable
32766: from all lookup main
32767: from all lookup default
root@OpenWrt:~# ip r show table 1
default via 171.25.167.165 dev eth1
root@OpenWrt:~#
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали: