Jump to content
Калькуляторы

Не пингуется белый IP mangle

Здравствуйте, столкнулся с проблемой, не пингуется белый ip адрес, с компьютеров, подверженных правилам Mangle.

Mangle:

/ip firewall mangle
add action=mark-routing chain=prerouting comment=Asterisk dst-address-list=!WorkSpace new-routing-mark=ABV-routing passthrough=no src-address=192.168.0.247
add action=mark-routing chain=prerouting comment="Evgeniy Panov" dst-address-list=!WorkSpace new-routing-mark=ABV-routing passthrough=no src-address=192.168.0.24
add action=mark-routing chain=prerouting comment=Docker dst-address-list=!WorkSpace new-routing-mark=ABV-routing passthrough=no src-address=192.168.0.239
add action=mark-routing chain=prerouting comment="WiFi users" dst-address-list=!WorkSpace new-routing-mark=ABV-routing passthrough=no src-address=10.1.0.0/16
add action=mark-routing chain=prerouting comment="Sergey Morev" dst-address-list=!WorkSpace new-routing-mark=DOMRU-routing passthrough=no src-address=192.168.0.111
add action=mark-routing chain=prerouting comment=Users dst-address-list=!WorkSpace new-routing-mark=DOMRU-routing passthrough=no src-address=192.168.0.20-192.168.0.110

add action=mark-connection chain=input in-interface=WAN-if1 new-connection-mark=ABV-con passthrough=no
add action=mark-connection chain=input in-interface=WAN-if2 new-connection-mark=DOMRU-con passthrough=no
add action=mark-routing chain=prerouting dst-address-list=!WorkSpace new-routing-mark=ATC passthrough=no src-address=192.168.0.191
add action=mark-routing chain=prerouting dst-address-list=!WorkSpace new-routing-mark=ATC passthrough=no src-address=192.168.0.192
add action=mark-routing chain=prerouting dst-address-list=!WorkSpace new-routing-mark=ABV-routing passthrough=yes src-address=192.168.0.24
add action=mark-routing chain=output connection-mark=ABV-con new-routing-mark=ABV-routing passthrough=no
add action=mark-routing chain=output connection-mark=DOMRU-con new-routing-mark=DOMRU-routing passthrough=no

 

При попытке пинга с хоста 192.168.0.247 белого ip адреса 89.185.94.241 получаем:

--- 89.185.94.241 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms

 

При попытке трассировки с хоста 192.168.0.247 до белого ip адреса получаем:

traceroute to 89.185.94.241 (89.185.94.241), 30 hops max, 60 byte packets
1  * * *
2  * * *
3  * * *
4  * * *
5  * * *
6  *^C

 

Трассировка с белого ip адреса Микротика до 192.168.0.247 улетает в интернет:

 tool traceroute src-address=89.185.94.241 address=192.168.0.247
# ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST STD-DEV STATUS                          
1 89.185.94.254                      0%    1   0.7ms     0.7     0.7     0.7       0                                 
2 89.185.92.33                       0%    1   1.1ms     1.1     1.1     1.1       0                                 
3 10.221.221.1                       0%    1   0.7ms     0.7     0.7     0.7       0                                 
4 37.60.16.186                       0%    1   0.6ms     0.6     0.6     0.6       0                                 
5 195.218.253.241                    0%    1   1.7ms     1.7     1.7     1.7       0                                 
6 79.104.245.102                     0%    1  29.6ms    29.6    29.6    29.6       0                                 
7 79.104.250.66                      0%    1    36ms      36      36      36       0 <MPLS:L=407874,E=0>             
8 79.104.226.254                     0%    1  32.8ms    32.8    32.8    32.8       0                                 
9                                  100%    1 timeout                                                                 
10                                    0%    1     0ms       

 

Отмечу, что маршрут в подсеть 192.168.0.0 имеется на самом Микротике и имеет состояние DAC.

При отключении правил, находящихся в ip route rule

ip route rule print
Flags: X - disabled, I - inactive 
0   src-address=89.185.94.241/32 dst-address=0.0.0.0/0 action=lookup table=ABV-routing 

1   src-address=89.185.94.175/32 dst-address=0.0.0.0/0 action=lookup table=ABV-routing 

2   src-address=109.194.175.23/32 dst-address=0.0.0.0/0 action=lookup table=DOMRU-routing 

 

Довелось увидить вот такой результат:

tool traceroute 192.168.0.247 src-address=89.185.94.241
# ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST STD-DEV STATUS                          
1 192.168.0.247                      0%    5   0.2ms     0.3     0.2     0.6     0.1 

С маршрутизатора стал доступен адрес в локальной сети, ровно как и с адреса 192.168.0.247 стал доступен белый адрес по трассировке:

traceroute to 89.185.94.241 (89.185.94.241), 30 hops max, 60 byte packets
1  89.185.94.241 (89.185.94.241)  0.195 ms  0.258 ms  0.166 ms

При этом не идет пинг

--- 89.185.94.241 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 2998ms

 

Однако, если в добавок еще выключить правило:

add action=mark-routing chain=prerouting comment=Asterisk dst-address-list=!WorkSpace new-routing-mark=ABV-routing passthrough=no src-address=192.168.0.247

 

То пинг будет успешен:

ping 89.185.94.241
PING 89.185.94.241 (89.185.94.241) 56(84) bytes of data.
64 bytes from 89.185.94.241: icmp_seq=1 ttl=64 time=0.318 ms
64 bytes from 89.185.94.241: icmp_seq=2 ttl=64 time=0.169 ms
64 bytes from 89.185.94.241: icmp_seq=3 ttl=64 time=0.200 ms

Как можно понять проблема кроется в мангле, только вопрос где ?

Добавлю, что пинг начинает успешно идити только когда отключены ip route rule и правило в Mangle.

Edited by Konev

Share this post


Link to post
Share on other sites

Вы бы описали общую ситуацию, что есть, что нужно и для чего

Возможно есть другие способы решения вопроса, например управление маршрутизацией на основании src-address возможно в Rules, не прибегая при этом к маркировке соединений и пакетов в Mangle и т.д.

 

Для чего необходимо из локальной сети пинговать внешний адрес? Вы хотите организовать что-то типа Hairpin NAT?

 

Вижу 2 провайдера, 2 локальных сети, что нужно? доступ из глобальной сети к сервисам локальной сети через разных провайдеров? доступ к маршрутизатору через разных провайдеров?

или просто SIP отправить через определенного провайдера и пару пользователей через него же?

Share this post


Link to post
Share on other sites

Для чего необходимо из локальной сети пинговать внешний адрес? Вы хотите организовать что-то типа Hairpin NAT?

Да, мы планируем сделать видео трансляцию на сайте и будем использовать hairpin NAT.

 

Вижу 2 провайдера, 2 локальных сети, что нужно? доступ из глобальной сети к сервисам локальной сети через разных провайдеров? доступ к маршрутизатору через разных провайдеров?

или просто SIP отправить через определенного провайдера и пару пользователей через него же?

Отмечу, нужен доступ к белому ip с пользовательских подсетей, для того, что бы в дальнейшем они просматривали видеотрансляцию.

Share this post


Link to post
Share on other sites

а где этот веб сервер, внутри сети?

 

возможно я излишне упрощаю, но вариант прописать статическую запись в DNS на доменное имя с указанием локального адреса сервера не подходит?

 

в варианте Hairpin NAT будет излишняя нагрузка на сеть, с ПК на маршрутизатор, с маршрутизатора обратно в сеть на сервер, при этом вы не будете видеть кто из локальной сети зашел на сервер а будете видеть только лишь адрес маршрутизатора

 

если веб сервер внутри сети, планируется ли доступ к нему через разных провайдеров или вообще доступ из глобальной сети?

Share this post


Link to post
Share on other sites

Да, веб сервер находится внутри сети, и уже успешно работает через интернент.

Веб сервер находится в подсети 192.168.0.0, имеет адрес 192.168.0.239, обозначен как докер

Share this post


Link to post
Share on other sites

тяжело составить общую картину когда информация подается мелкими порциями инет ответов на заданные вопросы

понятно что: есть 2 провайдера, есть сервер внутри сети, нужен доступ извне и из локальной сети к серверу по доменному имени

непонятно:

у одного из провайдеров 2 (несколько адресов), для каких целей? доступ к серверу нужен по обоим адресам?

доступ к серверу должен быть через одного провайдера или через обоих?

нужен ли failover (переключение интернета на другого провайдера в случае недоступности основного) или балансировка между провайдерами?

есть какие-то особенности сети при которых необходимо настраивать Hairpin NAT? вариант с DNS не подходит? если не подходит то почему?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this