Здравствуйте, товарищи! После 2-х дней мучений, так и не смог решить задачу. Есть 2 провайдера (WAN1 и WAN2) со статическими адресами, подключены в один микротик, и настроены в режиме резервирование по средством переключения дистанции с одного на другой. Все работает отлично. В этой схеме когда дистанция меньше у WAN1, WAN2 не пингуется снаружи, и соответственно его адрес нельзя использовать для доступа на микротик или на врученную часть сети через проброс портов. Если сделать дистанцию меньше на WAN2, становится все наоборот, WAN1 не виден снаружи. WAN=111.11.11.128 WAN=22.22.22.34 делал маркировку соединений Код: /ip firewall mangle add action=mark-connection chain=input dst-address11.11.11.128 in-interface="ether6 WAN1" new-connection-mark=com-WAN1 passthrough=yes add action=mark-routing chain=output connection-mark=com-WAN1 new-routing-mark=WAN-1 passthrough=yes add action=mark-connection chain=input dst-address=22.22.22.34 in-interface="ether7 WAN2" new-connection-mark=com-WAN2 passthrough=yes add action=mark-routing chain=output connection-mark=com-WAN2 new-routing-mark=WAN-2 passthrough=yes Если после этого промаркировать руты, то WAN1 и WAN2 начинают оба пинговаться снаружи, но при этом внутри сети пропадает интернет "Ответ от 10.0.0.1: Заданный узел недоступен." Подскажите, какой момент я упустил?
Вот полный конфиг Спойлер Код: /interface bridge add arp=proxy-arp name=Bridge-local add disabled=yes fast-forward=no name="bridge 10.0.0.15" /interface ethernet set [ find default-name=ether6 ] mac-address=78:24:AF:E5:34:60 name="ether6 WAN1" set [ find default-name=ether7 ] mac-address=00:18:F8:B8:DC:5D name="ether7 WAN2" set [ find default-name=ether9 ] master-port=ether8 /interface l2tp-client add allow=mschap2 connect-to=77.77.77.175 disabled=no name=l2tp-out1 password=PasPasPas user=UserUser /ip neighbor discovery set "ether6 WAN1" discover=no set "ether7 WAN2" discover=no /ip pool add name=dhcp_pool1 ranges=10.0.0.170-10.0.0.254 add name=pool_l2tp ranges=10.0.0.160-10.0.0.169 /ip dhcp-server add address-pool=dhcp_pool1 disabled=no interface=Bridge-local lease-time=1h name=dhcp1 /ppp profile add bridge=Bridge-local dns-server=10.0.0.1,8.8.8.8 local-address=10.0.0.1 \ name=L2TP-server remote-address=pool_l2tp use-compression=no \ use-encryption=yes use-mpls=yes add bridge=Bridge-local change-tcp-mss=yes dns-server=10.0.0.1,8.8.8.8 \ local-address=10.0.0.1 name=PPTP-server remote-address=pool_l2tp \ use-compression=no use-encryption=no use-mpls=no /interface bridge port add bridge="bridge 10.0.0.15" disabled=yes interface=ether10 add bridge=Bridge-local interface=ether8 add bridge=Bridge-local interface=wlan1 add bridge=Bridge-local interface=ether1 add bridge=Bridge-local interface=ether2 add bridge=Bridge-local interface=ether5 add bridge=Bridge-local interface=ether4 add bridge=Bridge-local interface=ether3 /interface l2tp-server server set authentication=mschap2 default-profile=L2TP-server enabled=yes \ ipsec-secret=SecSec use-ipsec=required /interface pptp-server server set default-profile=PPTP-server /ip address add address=10.0.0.15/24 interface="bridge 10.0.0.15" network=10.0.0.0 add address=10.0.0.1/24 interface=Bridge-local network=10.0.0.0 /ip dhcp-client add add-default-route=no dhcp-options=hostname,clientid disabled=no interface="ether6 WAN1" add add-default-route=no dhcp-options=hostname,clientid disabled=no interface="ether7 WAN2" /ip dhcp-server network add address=10.0.0.0/24 dns-server=10.0.0.1,8.8.8.8,8.8.4.4 gateway=10.0.0.1 /ip dns set allow-remote-requests=yes servers=8.8.8.8,77.88.8.8,10.0.0.1 /ip dns static add address=195.82.146.214 name=rutracker.org /ip firewall address-list add address=10.0.5.2 disabled=yes list=l2tp_out1 add address=195.82.146.214 disabled=yes list=l2tp_out1 add address=10.0.0.0/24 list=local_net /ip firewall filter add action=drop chain=input comment="\CE\F2\EA\EB\FE\F7\E0\E5\EC \E2\ED\E5\F8\ \ED\E5\E5 \F1\EE\E5\E4\E8\ED\E5\ED\E8\E5 \EA DNS" dst-address=\ 11.11.11.128 dst-port=53 in-interface="ether6 WAN1" log-prefix=\ query_in_drop protocol=udp add action=drop chain=input comment="\CE\F2\EA\EB\FE\F7\E0\E5\EC \E2\ED\E5\F8\ \ED\E5\E5 \F1\EE\E5\E4\E8\ED\E5\ED\E8\E5 \EA DNS WAN1" dst-port=53 \ in-interface="ether6 WAN1" protocol=udp add action=drop chain=input comment="\CE\F2\EA\EB\FE\F7\E0\E5\EC \E2\ED\E5\F8\ \ED\E5\E5 \F1\EE\E5\E4\E8\ED\E5\ED\E8\E5 \EA DNS WAN2" dst-port=53 \ in-interface="ether7 WAN2" protocol=udp add action=drop chain=output comment=\ "\C7\E0\EF\F0\E5\F2 DNS GOOGLE \F7\E5\F0\E5\E7 WAN2" dst-address=8.8.4.4 \ out-interface="ether7 WAN2" add action=drop chain=output comment=\ "\C7\E0\EF\F0\E5\F2 DNS Yandex \F7\E5\F0\E5\E7 WAN2" dst-address=\ 77.88.8.1 out-interface="ether7 WAN2" add action=drop chain=input comment="\C7\E0\EF\F0\E5\F2 \ED\E0 WAN \E0\E4\F0\ \E5\F1\E0 11.11.11.128 \E4\EE\F1\F2\F3\EF \EA 80 \EF\EE\F0\F2\F3" \ dst-address=11.11.11.128 dst-port=80 protocol=tcp add action=drop chain=input comment="\C7\E0\EF\F0\E5\F2 \ED\E0 WAN \E0\E4\F0\ \E5\F1\E0 22.22.22.34 \E4\EE\F1\F2\F3\EF \EA 80 \EF\EE\F0\F2\F3" \ dst-address=22.22.22.34 dst-port=80 protocol=tcp add action=accept chain=input protocol=icmp add action=accept chain=forward protocol=icmp add action=accept chain=forward comment="allow vpn to lan" disabled=yes \ in-interface=all-ppp out-interface=Bridge-local src-address=10.0.0.0/24 /ip firewall mangle add action=mark-routing chain=prerouting disabled=yes dst-address-list=\ l2tp_out1 new-routing-mark=l2tp_out1 passthrough=no add action=mark-routing chain=prerouting comment="\EF\F3\F1\EA\E0\E5\EC \E2\E5\ \F1\FC \F2\F0\E0\F4\E8\EA 10.0.0.245 \F7\E5\F0\E5\E7 VPN" disabled=yes \ new-routing-mark=l2tp_out1 passthrough=yes src-address=10.0.0.245 /ip firewall nat add action=masquerade chain=srcnat out-interface="ether6 WAN1" add action=masquerade chain=srcnat out-interface="ether7 WAN2" add action=masquerade chain=srcnat comment="\EC\E0\F1\EA\E0\F0\E0\E4\E8\ED\E3 \ \E4\EB\FF \EB\EE\EA\E0\EB\FC\ED\EE\E9 \F1\E5\F2\E8 (\ED\E5\E7\ED\E0\FE \ED\ \F3\E6\E5\ED \E8\EB\E8 \ED\E5\F2, \F0\E0\E1\EE\F2\E0\E5\F2 \E8 \E1\E5\E7 \ \ED\E5\E3\EE)" disabled=yes src-address=10.0.0.0/24 add action=dst-nat chain=dstnat comment="rdp 3389" dst-address=11.11.11.128 dst-port=3389 protocol=tcp src-address=\ 10.0.0.0/24 to-addresses=10.0.0.140 to-ports=3389 add action=masquerade chain=srcnat comment="rdp 3389" dst-address=10.0.0.140 dst-port=3389 protocol=tcp src-address=10.0.0.0/24 \ to-addresses=10.0.0.140 to-ports=3389 add action=masquerade chain=srcnat comment=VPN-E out-interface=l2tp-out1 add action=dst-nat chain=dstnat comment="rdp 3389 \ED\E0 t450 (WAN1)" \ dst-address=11.11.11.128 dst-port=3389 protocol=tcp to-addresses=\ 10.0.0.140 to-ports=3389 add action=dst-nat chain=dstnat comment="rdp 3389 \ED\E0 t450 (WAN2)" \ dst-address=22.22.22.34 dst-port=3389 protocol=tcp to-addresses=\ 10.0.0.140 to-ports=3389 add action=dst-nat chain=dstnat comment="\EA\E0\EC\E5\F0\FB" dst-address=\ 11.11.11.128 dst-port=8120 protocol=tcp to-addresses=10.0.0.180 \ to-ports=8120 add action=dst-nat chain=dstnat comment="WEB to WAN 8081" dst-address=\ 11.11.11.128 dst-port=8081 protocol=tcp to-addresses=10.0.0.1 to-ports=\ 80 add action=dst-nat chain=dstnat comment="WEB to WAN 8081" dst-address=\ 22.22.22.34 dst-port=8081 protocol=tcp to-addresses=10.0.0.1 to-ports=80 add action=masquerade chain=srcnat comment=L2TP-server disabled=yes \ out-interface=all-ppp /ip route add distance=1 gateway=l2tp-out1 routing-mark=l2tp_out1 add comment=ISP1 distance=3 gateway=11.11.11.1 add comment=ISP2 distance=4 gateway=22.22.22.254 add distance=30 gateway=Bridge-local add check-gateway=ping disabled=yes distance=1 gateway=10.0.0.1 add comment="\C4\EE\F1\F2\F3\EF \E4\EE DNS GOOGLE \F2\EE\EB\FC\EA\EE \F7\E5\F0\ \E5\E7 WAN1" distance=1 dst-address=8.8.4.4/32 gateway=11.11.11.1 add distance=10 dst-address=10.0.5.0/24 gateway=l2tp-out1 add distance=10 dst-address=10.0.8.0/24 gateway=l2tp-out1 add comment="\C4\EE\F1\F2\F3\EF \E4\EE DNS Yandex \F2\EE\EB\FC\EA\EE \F7\E5\F0\ \E5\E7 WAN1" distance=1 dst-address=77.88.8.1/32 gateway=11.11.11.1 add comment="rutracker.org \F7\E5\F0\E5\E7 VPN" distance=1 dst-address=\ 195.82.146.214/32 gateway=l2tp-out1 /ip service set telnet disabled=yes set ftp disabled=yes set ssh address=10.0.0.0/24 set api disabled=yes set api-ssl disabled=yes /ppp secret add name=admin password=PasPasPas profile=L2TP-server service=l2tp /system clock set time-zone-name=Europe/Moscow /system identity set name=MT /system logging add action=echo topics=caps add prefix=debug topics=wireless /system script /system watchdog set no-ping-delay=10m watch-address=10.0.0.1 /tool netwatch add comment="\EF\E5\F0\E2\E0\FF \E2\E5\F0\F1\E8\FF" disabled=yes down-script="\ /log error \"ISP1 IS DOWN\"\r\ \n/ip route enable [find comment=\"ISP2\"];\r\ \n/log error \"ISP1 IS UP\";\r\ \n/ip route disable [find comment=\"ISP2\"];\r\ add comment="\EF\F0\EE\E2\E5\F0\EA\E0 GW WAN1" down-script="/log error \"GW 11.11.11.1 WAN1 DOWN\";\r\ add comment="\EF\F0\EE\E2\E5\F0\EA\E0 GW WAN2" down-script="/log error \"GW 22.22.22.254 WAN2 DOWN\";\r\ add comment="\ED\EE\E2\E0\FF \E2\E5\F0\F1\E8\FF \F1 \EF\F0\EE\E2\E5\F0\EA\EE\ \E9 \E8 \EF\EE DNS Yandex" down-script=":local time [/sys clock get time];\ \r\ \n:local hour [: pick [/system clock get time] 0 2];\r\ \n\r\ \n/log warning \"server 8.8.4.4 fail\85\";\r\ \n:local time [/sys clock get time];\r\ \n:local checkip [/ping 77.88.8.1 count=10];\r\ \n:if (checkip = 0) do={\r\ \n\r\ \n/log error \"ISP1 IS DOWN\";\r\ \n#/ip route enable [find comment=\"ISP2\"];\r\ \n\r\ \n/ip route set distance=4 numbers=[find comment=ISP1];\r\ \n/ip route set distance=3 numbers=[find comment=ISP2];\r\ \n\r\ \n:delay 3\r\ \n#\E7\E0\EA\F0\FB\E2\E0\E5\EC \E7\E0\E2\E8\F1\F8\E8\E5 \ED\E0 \F1\F2\E0\ \F0\EE\EC \EB\E8\ED\EA\E8 \F1\E8\EF \EA\EE\ED\ED\E5\EA\F2\FB\r\ \n/system script run udp_sip_drop;\r\ \n\r\ \n:if (\$hour >= 9 and \$hour <= 22) do={\r\ \n\r\ \n}" host=8.8.4.4 interval=15s timeout=2s up-script=":local time [/sys clo\ ck get time];\r\ \n/log error \"ISP1 IS UP \$time\";\r\ \n#/ip route disable [find comment=\"ISP2\"];\r\ \n\r\ \n/ip route set distance=3 numbers=[find comment=ISP1];\r\ \n/ip route set distance=4 numbers=[find comment=ISP2];\r\ \n\r\ \n:delay 3\r\ \n#\E7\E0\EA\F0\FB\E2\E0\E5\EC \E7\E0\E2\E8\F1\F8\E8\E5 \ED\E0 \F1\F2\E0\ \F0\EE\EC \EB\E8\ED\EA\E8 \F1\E8\EF \EA\EE\ED\ED\E5\EA\F2\FB\r\ \n/system script run udp_sip_drop;\r\
Хочется сохранить функционал основной(WAN1)/резервный(WAN2) канал, но при этом чтобы снаружи до внутренней сети был доступ с обоих WAN.
Разбирайтесь с dual-WAN. Вот тут посмотрите: https://spw.ru/forum/threads/dostup-k-mikrotik-iz-vne-po-wan1-wan2.452/
Эту тему я прочитал еще до написания поста. Последняя версия конфига выглядит так: Спойлер: код Код: /ip firewall mangle add action=mark-connection chain=input dst-address=11.11.11.128 in-interface="ether6 WAN1"new-connection-mark=com-WAN1 passthrough=no add action=mark-routing chain=output connection-mark=com-WAN1 new-routing-mark=WAN-1 passthrough=no add action=mark-connection chain=input dst-address=22.22.22.34 in-interface="ether7 WAN2" new-connection-mark=com-WAN2 passthrough=no add action=mark-routing chain=output connection-mark=com-WAN2 new-routing-mark=WAN-2 passthrough=no add action=mark-routing chain=prerouting dst-address-list=!LocalNet new-routing-mark=Local-Net-WAN1 passthrough=no src-address=10.0.0.0/24 add action=mark-routing chain=prerouting dst-address-list=!LocalNet new-routing-mark=Local-Net-WAN2 passthrough=no src-address=10.0.0.0/24 /ip route add comment=Local-Net-WAN1 disabled=yes distance=10 gateway=11.11.11.1 routing-mark=Local-Net-WAN1 add comment=Local-Net-WAN2 disabled=yes distance=11 gateway=22.22.22.254 routing-mark=Local-Net-WAN2 add comment=ISP1 distance=3 gateway=11.11.11.1 routing-mark=WAN1 add comment=ISP2 distance=4 gateway=22.22.22.254 routing-mark=WAN2 add distance=30 gateway=Bridge-local /ip firewall nat add action=masquerade chain=srcnat out-interface="ether6 WAN1" add action=masquerade chain=srcnat out-interface="ether7 WAN2" add action=masquerade chain=srcnat src-address=10.0.0.0/24 add action=dst-nat chain=dstnat comment="WEB to WAN 8081" dst-address=11.11.11.128 dst-port=8081 protocol=tcp to-addresses=10.0.0.1 to-ports=80 add action=dst-nat chain=dstnat comment="WEB to WAN 8081" dst-address=22.22.22.34 dst-port=8081 protocol=tcp to-addresses=10.0.0.1 to-ports=80 add action=dst-nat chain=dstnat comment="rdp 43389 (WAN1)" dst-address=11.11.11.128 dst-port=43389 protocol=tcp to-addresses=10.0.0.140 to-ports=3389 add action=dst-nat chain=dstnat comment="rdp 43389 (WAN2)" dst-address=22.22.22.34 dst-port=43389 protocol=tcp to-addresses=10.0.0.140 to-ports=3389 На выходе получил: + оба внешних адреса пингуются снаружи - WEB микротика ни с одного адреса снаружи не доступен, по какой-то причине перестал работать проброс портов dst-port=8081 -> to-ports=80 + в локальной сети появился интернет, работает по наименьшей дистанции, срабатывает условие add comment=Local-Net-WAN1 disabled=yes distance=10 gateway=11.11.11.1 routing-mark=Local-Net-WAN1 - проброс RDP порта(в моем случае 43389) работает только с одного внешнего адреса в которого в рутах меньшая дистанция
0 src-address=109.x.x.x/32 action=lookup-only-in-table table=WAN1 1 src-address=87.x.x.x/32 action=lookup-only-in-table table=WAN2 Есть такие записи в route rules ?
/ip route add distance=1 gateway=109.x.x.x routing-mark=WAN1 add distance=1 gateway=87.x.x.x routing-mark=WAN2 add check-gateway=arp distance=1 gateway=109.x.x.x add check-gateway=arp distance=2 gateway=87.x.x.x
Не было, сделал. Сделал, единственное что заработало - WEB микротика стал быть доступен из WAN где на шлюзе меньшая дистанция.
У вас вот тут ошибка. Вы в инпут коннекшины маркируете, а трафик через NAT идет в Forward. Надо Код: /ip firewall mangle #Conection MARK add action=mark-connection chain=prerouting dst-address=11.11.11.128 in-interface="ether6 WAN1"new-connection-mark=com-WAN1 passthrough=no add action=mark-connection chain=prerouting dst-address=22.22.22.34 in-interface="ether7 WAN2" new-connection-mark=com-WAN2 passthrough=no #Output MARK route add action=mark-routing chain=output connection-mark=com-WAN1 new-routing-mark=WAN-1 passthrough=no add action=mark-routing chain=output connection-mark=com-WAN2 new-routing-mark=WAN-2 passthrough=no #Prerouting Mark Route add action=mark-routing chain=prerouting in-interface=!"ether6 WAN1" connection-mark=com-WAN1 new-routing-mark=WAN1 passthrough=no add action=mark-routing chain=prerouting in-interface=!"ether7 WAN2" connection-mark=com-WAN2 new-routing-mark=WAN2 passthrough=no src-address=10.0.0.0/24 То есть соединения на врохде маркируем в прероутинг (через него проходит и input, и forward) А потом маркируем маршруты НАРУЖУ. Обратите внимание на интерфейсы в нижнем прероутинге.
Так-с, пардон за некромантию, но прям вот ситуация подходит. Как работает dstnat при нескольких WAN понятно, но что делать, если потом в мэнглах начинается замена connection mark для QoS? Прям вот брать и для QoS сразу пакетами метить?