Не работают VPN'ы на микротике с мультиваном на рекурсивных маршрутах

Базовая функциональность RouterOS
ave
Сообщения: 2
Зарегистрирован: 08 фев 2023, 18:50

Не работают VPN'ы на микротике с мультиваном на рекурсивных маршрутах

Сообщение ave »

Приветствую.
Есть Mikrotik RB1100Dx4 на RouterOS 7.6. После настройки мультивана по этой статье из хабра перестал работать SSTP, клиенты не могут подключиться к серверу и установить соединение. В последствии понял, что любое входящее PPP не работает (пробовал open vpn ещё). Так же перестал работать Wireguard. До этого он тоже не работал нормально (шлюз не пинговался, но к каким-то компьютерам подключиться можно было ), сейчас вообще никак.
До моих переделок в Микротик был подключен только один провайдер (сейчас это ISP2) и к нему SSTP подключалось и работало. Сейчас подключено два провайдера и не работает никакой vpn.
Под ту статью что была на хабре немного не походили условия, я переделал под себя и возможно что-то не так понял. У меня два разных провайдера, выданы постоянные белые адреса.
Не делал пункт из статьи: 1.6. Создаем список с перечнем не маршрутизируемых сетей
Задача заключается в том, что бы работали два провайдера, основной трафик изнутри шел через первого провайдера, резервный через второго. Некоторые адреса, по моему усмотрению, изнутри отправлять через второго провайдера. Доступ из вне должен быть одновременно к двум провайдерам. Через SSTP нужно подключаться к первому провайдеру, а через wireguard ко второму. Может быть WG через первый, SSTP через второй, не суть важно. Планируется vpn использовать только для RDP.
Сейчас так и работает, но VPN'ы снаружи не подключаются. В ppp Active Connections не появляются записи и в ppp Secrets в столбце LastCaller ID адреса не появляются. При разрешении порта vpn'ов в файрволле пакеты и байты появляются во время установки соединения. В connection tracker'e появляется внешний ip тестового устройства клиента, но в Orig./Repl. Bytes и Orig./Repl. Rate нули.
Запрещающие правила в файерволле отключал. Заметил что ещё в Quick Set'e шлюз меняется на шлюз второго провайдера или 4.2.2.2, а мой адрес от первого провайдера. Но наверное это нормально при рекурсивных маршрутах.
Выкладываю конфиг. Там не 100%, кое-что вырезал на мой взгляд не влияющее.
Что-то делали до меня, поэтому что-то я мог пропустить или не учесть)

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

/interface bridge
add ingress-filtering=no name=LAN vlan-filtering=yes
add comment="Loopback interface" name=br-lo

/interface ethernet
set [ find default-name=ether1 ] comment="to ISP1" name=ether1-WAN1
set [ find default-name=ether2 ] comment="to ISP2" name=ether2-WAN2
set [ find default-name=ether3 ] comment="to LAN" name=ether3-LAN

/interface sstp-server
add disabled=yes name=sstp-in1 user=user

/interface list
add name=WAN
add name=LocalNetwork

/ip pool
add comment="VPN" name=pool1 ranges=172.16.20.11-172.16.20.55
add comment="Main pool for local network" name=dhcp ranges=\
    172.16.0.1-172.16.3.220
/ip dhcp-server
add address-pool=dhcp interface=LAN name=dhcp1

/ppp profile
add dns-server=172.16.0.10 local-address=172.16.20.3 name=Server-SSTP only-one=\
    no remote-address=pool1 use-compression=yes use-ipv6=no use-mpls=yes

add bridge=LAN change-tcp-mss=yes local-address=172.16.20.1 name=open-vpn \
    only-one=no remote-address=pool1 use-compression=yes use-encryption=yes \
    use-ipv6=no use-mpls=no use-upnp=no
    
/routing table
add disabled=no fib name=to-isp2
add disabled=no fib name=to-isp1

/interface bridge port
add bridge=LAN interface=ether6
add bridge=LAN interface=ether7
add bridge=LAN interface=ether8
add bridge=LAN interface=ether9
add bridge=LAN interface=ether10
add bridge=LAN interface=ether11
add bridge=LAN interface=ether12
add bridge=LAN interface=ether13
add bridge=LAN interface=ether5
add bridge=LAN interface=ether3-LAN    

/ip neighbor discovery-settings
set discover-interface-list=!WAN

/ip settings
set max-neighbor-entries=8192

/interface list member
add interface=ether1-WAN1 list=WAN
add interface=ether2-WAN2 list=WAN
add interface=ether3-LAN list=LocalNetwork

/interface ovpn-server server
set auth=sha1 certificate=open-vpn-test01-mgts cipher=aes256 default-profile=\
    open-vpn enabled=yes require-client-certificate=yes
/interface sstp-server server
set authentication=mschap2 certificate=Server_test_04 default-profile=\
    Server-SSTP enabled=yes port=8433 tls-version=only-1.2
    
/ip address
add address=172.16.2.5/22 interface=ether3-LAN network=172.16.0.0
add address=81.***.***.***/24 comment="ISP2 IP" interface=ether2-WAN2 network=\
    81.***.***.***
add address=172.16.2.1/22 interface=LAN network=172.16.0.0
add address=195.***.***.***/30 comment="ISP1 IP" interface=ether1-WAN1 network=\
    195.***.***.***
add address=172.16.0.0/22 comment="for localnetwork" dns-server=172.16.0.10 \
    gateway=172.16.2.1 netmask=22

/ip firewall address-list
add address=81.***.***.***/24 list=Via_ISP2



/ip firewall filter
add action=accept chain=input comment="Allow Related Established Untracked" \
    connection-state=established,related,untracked
add action=accept chain=input comment="Allow SSTP port" disabled=yes dst-port=\
    8433 in-interface=ether1-WAN1 protocol=tcp
add action=accept chain=input comment=OpenVPN dst-port=1194 in-interface=\
    ether1-WAN1 protocol=tcp
add action=accept chain=input comment=" Allow ICMP from ALL" protocol=icmp
add action=accept chain=input comment=wg_Test01 dst-port=13235 in-interface=\
    ether1-WAN1 protocol=udp
add action=drop chain=input comment="Drop All other WAN" in-interface-list=WAN \
    log-prefix=drop_all_other_wan
add action=accept chain=forward comment="Allow Established, Related, Untracked" \
    connection-state=established,related,untracked
add action=drop chain=forward comment="Drop Invalid" connection-state=invalid
add action=drop chain=forward comment="Drop all from WAN not DSTNATed" \
    connection-nat-state=!dstnat connection-state=new in-interface-list=WAN

/ip firewall mangle
add action=route chain=prerouting comment="Address List via ISP2 only" \
    passthrough=no route-dst=81.***.***.*** src-address-list=address_via_ISP2
add action=mark-connection chain=prerouting comment="Connmark in from ISP1" \
    connection-mark=no-mark in-interface=ether1-WAN1 new-connection-mark=\
    conn_isp1 passthrough=no
add action=mark-connection chain=prerouting comment="Connmark in from ISP2" \
    connection-mark=no-mark in-interface=ether2-WAN2 new-connection-mark=\
    conn_isp2 passthrough=no
add action=mark-routing chain=prerouting comment=\
    "Routemark TRANSIT out via ISP1" connection-mark=conn_isp1 \
    dst-address-type=!local in-interface-list=!WAN new-routing-mark=to-isp1 \
    passthrough=no
add action=mark-routing chain=prerouting comment=\
    "Routemark TRANSIT out via ISP2" connection-mark=conn_isp2 \
    dst-address-type=!local in-interface-list=!WAN new-routing-mark=to-isp2 \
    passthrough=no
add action=mark-routing chain=output comment="Routemark LOCAL out via ISP1" \
    connection-mark=conn_isp1 dst-address-type=!local new-routing-mark=to-isp1 \
    passthrough=no
add action=mark-routing chain=output comment="Routemark LOCAL out via ISP2" \
    connection-mark=conn_isp2 dst-address-type=!local new-routing-mark=to-isp2 \
    passthrough=no
add action=mark-routing chain=prerouting comment="Address List via ISP2" \
    new-routing-mark=to-isp2 passthrough=no src-address-list=Via_ISP2
    
/ip firewall nat
add action=src-nat chain=srcnat comment="NAT via ISP1" ipsec-policy=out,none \
    out-interface=ether1-WAN1 to-addresses=195.***.***.***
add action=src-nat chain=srcnat comment="NAT via ISP2" ipsec-policy=out,none \
    out-interface=ether2-WAN2 to-addresses=81.***.***.***   

/ip route
add comment="Emergency route" disabled=no distance=254 dst-address=0.0.0.0/0 \
    gateway=br-lo routing-table=main suppress-hw-offload=no
add check-gateway=ping comment="For recursion via ISP2" disabled=no distance=1 \
    dst-address=4.2.2.2/32 gateway=81.***.***.*** pref-src="" routing-table=main \
    scope=11 suppress-hw-offload=no target-scope=10
add check-gateway=ping comment="Unmarked via ISP2" disabled=no distance=2 \
    dst-address=0.0.0.0/0 gateway=4.2.2.2 pref-src="" routing-table=main scope=\
    30 suppress-hw-offload=no target-scope=11
add comment="Marked via ISP2 Main" disabled=no distance=1 dst-address=0.0.0.0/0 \
    gateway=4.2.2.2 routing-table=to-isp2 suppress-hw-offload=no target-scope=\
    11
add comment="Marked via ISP1 Backup" disabled=no distance=2 dst-address=\
    0.0.0.0/0 gateway=4.2.2.1 pref-src="" routing-table=to-isp1 scope=30 \
    suppress-hw-offload=no target-scope=11
add check-gateway=ping comment="For recursion via ISP1" disabled=no distance=1 \
    dst-address=4.2.2.1/32 gateway=195.***.***.*** pref-src="" routing-table=main \
    scope=11 suppress-hw-offload=no target-scope=10
add check-gateway=ping comment="Unmarked via ISP1" disabled=no distance=1 \
    dst-address=0.0.0.0/0 gateway=4.2.2.1 pref-src="" routing-table=main scope=\
    30 suppress-hw-offload=no target-scope=11
add comment="Marked via ISP1 Main" disabled=no distance=1 dst-address=0.0.0.0/0 \
    gateway=4.2.2.1 pref-src="" routing-table=to-isp1 scope=30 \
    suppress-hw-offload=no target-scope=11
add comment="Marked via ISP2 Backup" disabled=no distance=2 dst-address=\
    0.0.0.0/0 gateway=4.2.2.2 pref-src="" routing-table=to-isp2 scope=30 \
    suppress-hw-offload=no target-scope=11

/ppp secret
add name=user profile=Server-SSTP service=sstp
add name=user2 profile=Server-SSTP2 service=sstp
add name=user3 profile=Server-SSTP service=sstp
add name=test01.ovpn profile=open-vpn service=ovpn

/routing rule
add action=lookup comment="to LAN" disabled=no dst-address=172.16.0.0/22 table=\
    main
add action=lookup comment="From ISP2 IP to Inet" disabled=no src-address=\
    81.***.***.***/24 table=to-isp2
add action=lookup comment="From ISP1 IP to Inet" disabled=no src-address=\
    195.***.***.***/30 table=to-isp1
Заранее спасибо))
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Не работают VPN'ы на микротике с мультиваном на рекурсивных маршрутах

Сообщение Chupaka »

Здравствуйте. Т.е. подключения извне перестали работать к обоим белым адресам роутера?

Конфиг, вроде, вменяемый, так что дальше хардкорный дебаг :)
Например, вот такими правилами:

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

/ip firewall filter
add chain=input protocol=tcp dst-port=8433 action=log place-before=0
add chain=output protocol=tcp src-port=8433 action=log place-before=0
И смотреть в логе, откуда приходят пакеты, пытаются ли куда-то уходить...
ave
Сообщения: 2
Зарегистрирован: 08 фев 2023, 18:50

Re: Не работают VPN'ы на микротике с мультиваном на рекурсивных маршрутах

Сообщение ave »

Chupaka писал(а): 09 фев 2023, 19:02 Здравствуйте. Т.е. подключения извне перестали работать к обоим белым адресам роутера?
Да. Раньше Микротик работал с одним провайдером и к нему SSTP подключалось. Далее я подключил второго провайдера, настроил мультиван с рекурсивными маршрутами, настроил файерволл. После этого подключения извне перестали работать.

Output я и забыл что тоже нужно смотреть. :?
Спасибо за ответ)