У меня такая схема:
Site1 (Микротик)
Site2 (дешевый простой роутер)
Если я запускаю ping / traceroute с Site1 на Site2, все пакеты проходят через шлюз 192.168.28.1 (route2), но в течение определенного периода времени. После этого - маршрут 2 игнорируется, и маршрутизатор пытается отправить пакеты по маршруту 1. Если я отключу маршрут 2, подождите некоторое время (5 минут) и снова включите его - связь восстановится по маршруту 2 (снова на короткий период). И так далее...
В чем может быть причина? Это совершенно разные подсети, и всегда следует отдавать предпочтение маршруту 2.
РЕДАКТИРОВАТЬ
/ip address export
add address=192.168.1.1/24 interface=ether2 network=192.168.1.0
add address=192.168.28.11/28 interface=ether1-gateway network=192.168.28.0
add address=192.168.2.1/24 interface=ether3 network=192.168.2.0
/ip route export
add distance=1 dst-address=192.168.10.0/24 gateway=ether1-gateway
add distance=1 dst-address=192.168.20.0/24 gateway=192.168.28.1
add distance=1 dst-address=192.168.24.0/24 gateway=192.168.28.1
add distance=1 dst-address=192.168.28.240/28 gateway=192.168.28.1
add distance=1 dst-address=192.168.72.0/24 gateway=192.168.28.1
/route print detail
0 ADS dst-address=0.0.0.0/0 gateway=XXX.XXX.XXX.XXX
gateway-status=XXX.XXX.XXX.XXX reachable via pppoe distance=1
scope=30 target-scope=10
2 ADC dst-address=192.168.1.0/24 pref-src=192.168.1.1 gateway=ether2
gateway-status=ether2 reachable distance=0 scope=10
3 DC dst-address=192.168.2.0/24 pref-src=192.168.2.1 gateway=ether3
gateway-status=ether3 unreachable distance=255 scope=10
5 A S dst-address=192.168.10.0/24 gateway=ether1-gateway
gateway-status=ether1-gateway reachable distance=1 scope=30
target-scope=10
15 A S dst-address=192.168.20.0/24 gateway=192.168.28.1
gateway-status=192.168.28.1 reachable via ether1-gateway distance=1
scope=30 target-scope=10
16 A S dst-address=192.168.24.0/24 gateway=192.168.28.1
gateway-status=192.168.28.1 reachable via ether1-gateway distance=1
scope=30 target-scope=10
17 ADC dst-address=192.168.28.0/28 pref-src=192.168.28.11
gateway=ether1-gateway gateway-status=ether1-gateway reachable
distance=0 scope=10
18 A S dst-address=192.168.28.240/28 gateway=192.168.28.1
gateway-status=192.168.28.1 reachable via ether1-gateway distance=1
scope=30 target-scope=10
23 A S dst-address=192.168.72.0/24 gateway=192.168.28.1
gateway-status=192.168.28.1 reachable via ether1-gateway distance=1
scope=30 target-scope=10
24 ADC dst-address=XXX.XXX.XXX.XXX/32 pref-src=XXX.XXX.XXX.XXX gateway=pppoe
gateway-status=pppoe reachable distance=0 scope=10
трассировка
Работает
Сайт1 -> Сайт2 (http://tinypic.com/view.php?pic=2vkb6u0&s=8)
Сайт2 -> Сайт1 (http://tinypic.com/view.php?pic=dclsm&s=8)
Не работает
У меня нет доступа к Site2, когда соединение прерывается, поэтому я запускаю traceroute.
PS. Извините за сайт хостинга изображений и третью ссылку, но у меня недостаточно репо для прикрепления изображений и ввода более двух ссылок.
После нескольких дней отладки и пробных различных решений я решил, что это проблема, вызванная моим интернет-провайдером.
В любом случае решение заключалось в том, чтобы жестко определить ARP в маршрутизаторе для IP-адреса WAN Site2 с MAC-адресом шлюза Site1. Т.е. ARP 192.168.28.253 --> mac address of 192.168.28.1
.