Несколько провайдеров, Mangle, RDP

Тема в разделе "Вопросы начинающих", создана пользователем EzBoD, 18 окт 2017.

  1. EzBoD

    EzBoD Новый участник

    Здравствуйте! Простите за новичковый вопрос.
    Бьюсь над проблемой проброса RDP для доступа на сервер, со всех провайдеров.
    Пинги до роутера "победил", а вот с RDP не получается.

    Конфиг
    Код:
    /interface ethernet
    set [ find default-name=ether2 ] name=LAN
    set [ find default-name=ether1 ] name=ISP1
    set [ find default-name=ether5 ] name=ISP2
    set [ find default-name=ether4 ] name=ISP3
    
    /ip address
    add address=192.168.1.1/24 interface=LAN network=192.168.1.0
    add address=70.0.0.2/28 interface=ISP1 network=70.0.0.0
    add address=80.0.0.2/29 interface=ISP2 network=80.0.0.0
    add address=90.0.0.2/30 interface=ISP3 network=90.0.0.0
    
    /interface sstp-server
    add name=sstp-fil1 user=Fil1
    /interface sstp-server server
    set authentication=mschap2 enabled=yes
    /ppp secret
    add local-address=172.16.10.1 name=Fil1 password="Fil1Pa$$" remote-address=172.16.10.2 service=sstp
    
    Код:
    /ip firewall filter
    add action=drop chain=input comment="x DropDNS requests trough ISP1" dst-port=53 in-interface=ISP1 protocol=udp src-port=""
    add action=drop chain=input comment="x DropDNS requests trough ISP2" dst-port=53 in-interface=ISP2 protocol=udp src-port=""
    add action=drop chain=input comment="x DropDNS requests trough ISP3" dst-port=53 in-interface=ISP3 protocol=udp src-port=""
    
    add action=drop chain=forward comment="x Drop invalid" connection-state=invalid
    add action=accept chain=input comment="v Allow SSTP" dst-port=443 in-interface=ISP1 protocol=tcp
    add action=accept chain=input comment="v Allow ping Core" protocol=icmp
    add action=accept chain=input comment="v Allow est., rel. 2 Core" connection-state=established,related
    add action=accept chain=input comment="v Allow Winbox" dst-port=8291 protocol=tcp src-address=192.168.1.0/24
    add action=drop chain=input comment="x Drop All 2 Core"
    
    add action=accept chain=forward comment="RDP to Admin" dst-address=192.168.1.2 dst-port=3389 protocol=tcp log=yes
    
    add action=fasttrack-connection chain=forward comment=fasttrack connection-state=established,related src-address-list=!192.168.1.2/32
    add action=accept chain=forward comment="v Allow est., rel." connection-state=established,related
    add action=drop chain=forward comment="x Drop all from ISP1" in-interface=ISP1
    add action=drop chain=forward comment="x Drop all from ISP2" in-interface=ISP2
    add action=drop chain=forward comment="x Drop all from ISP3" in-interface=ISP3
    
    Код:
    /ip firewall nat
    add action=dst-nat chain=dstnat comment="From ISP1 to Admin" dst-port=5555 in-interface=ISP1 protocol=tcp to-addresses=192.168.1.2 to-ports=3389
    add action=dst-nat chain=dstnat comment="From ISP2 to Admin" dst-port=5555 in-interface=ISP2 protocol=tcp to-addresses=192.168.1.2 to-ports=3389 log=yes
    add action=masquerade chain=srcnat out-interface=ISP1 src-address=192.168.1.0/24
    add action=masquerade chain=srcnat out-interface=ISP2 src-address=192.168.1.0/24 log=yes
    add action=masquerade chain=srcnat out-interface=ISP3 src-address=192.168.1.0/24
    
    Код:
    /ip route
    add distance=1 gateway=70.0.0.1
    add distance=2 gateway=80.0.0.1 routing-mark=ISP2_route
    add distance=3 gateway=90.0.0.1 routing-mark=ISP3_route
    add distance=1 dst-address=192.168.2.0/24 gateway=172.16.10.2 pref-src=192.168.1.1 comment="Route to Fil1"
    
    Правила временно отключил
    Код:
    /ip firewall mangle
    # правила для Ping
    add action=mark-connection chain=input  in-interface=ISP2  new-connection-mark=ISP2_con passthrough=no disabled=yes comment=Ping
    add action=mark-routing  chain=output  connection-mark=ISP2_con new-routing-mark=ISP2_route  passthrough=no disabled=yes comment=Ping
    # правила для RDP через второго провайдера
    add action=mark-connection chain=prerouting in-interface=ISP2  new-connection-mark=ISP2_con passthrough=no disabled=yes
    add action=mark-routing  chain=prerouting connection-mark=ISP2_con new-routing-mark=ISP2_route  passthrough=no disabled=yes
    add action=mark-routing  chain=output  connection-mark=ISP2_con new-routing-mark=ISP2_route  passthrough=no disabled=yes
    
    Лог
    RDP по умолчанию через основной канал работает, что логично.
    Код:
    firewall,info dstnat:  in:ISP1 out:(none), src-mac 00:1d.., proto TCP (SYN), 1.2.3.4:12248->70.0.0.2:5555, len 60
    firewall,info forward: in:ISP1 out:LAN,  src-mac 00:1d.., proto TCP (SYN), 1.2.3.4:12248->192.168.1.2:3389, NAT 1.2.3.4:12248->(70.0.0.2:5555->192.168.1.2:3389), len 60
    firewall,info forward: in:ISP1 out:LAN,  src-mac 00:1d.., proto TCP (ACK), 1.2.3.4:12248->192.168.1.2:3389, NAT 1.2.3.4:12248->(70.0.0.2:5555->192.168.1.2:3389), len 52
    firewall,info forward: in:ISP1 out:LAN,  src-mac 00:1d.., proto TCP (ACK,FIN), 1.2.3.4:12248->192.168.1.2:3389, NAT 1.2.3.4:12248->(70.0.0.2:5555->192.168.1.2:3389), len 52
    firewall,info forward: in:ISP1 out:LAN,  src-mac 00:1d.., proto TCP (ACK), 1.2.3.4:12248->192.168.1.2:3389, NAT 1.2.3.4:12248->(70.0.0.2:5555->192.168.1.2:3389), len 64
    
    RDP через второго провайдера с отключенными правилами Mangle.
    Код:
    firewall,info dstnat:  in:ISP2 out:(none), src-mac e0:2f.., proto TCP (SYN), 1.2.3.4:5850->80.0.0.2:5555, len 60
    firewall,info forward: in:ISP2 out:LAN,  src-mac e0:2f.., proto TCP (SYN), 1.2.3.4:5850->192.168.1.2:3389, NAT 1.2.3.4:5850->(80.0.0.2:5555->192.168.1.2:3389), len 60
    firewall,info forward: in:ISP2 out:LAN,  src-mac e0:2f.., proto TCP (SYN), 1.2.3.4:5850->192.168.1.2:3389, NAT 1.2.3.4:5850->(80.0.0.2:5555->192.168.1.2:3389), len 60
    firewall,info forward: in:ISP2 out:LAN,  src-mac e0:2f.., proto TCP (SYN), 1.2.3.4:5850->192.168.1.2:3389, NAT 1.2.3.4:5850->(80.0.0.2:5555->192.168.1.2:3389), len 60
    firewall,info forward: in:ISP2 out:LAN,  src-mac e0:2f.., proto TCP (SYN), 1.2.3.4:5850->192.168.1.2:3389, NAT 1.2.3.4:5850->(80.0.0.2:5555->192.168.1.2:3389), len 60
    
    RDP через второго провайдера с включенным Mangle.
    Код:
    firewall,info dstnat:  in:ISP2 out:(none), src-mac e0:2f.., proto TCP (SYN), 1.2.3.4:58435->80.0.0.2:5555, len 60
    firewall,info forward: in:ISP2 out:LAN,  src-mac e0:2f.., proto TCP (SYN), 1.2.3.4:58435->192.168.1.2:3389, NAT 1.2.3.4:58435->(80.0.0.2:5555->192.168.1.2:3389), len 60
    firewall,info forward: in:ISP2 out:LAN,  src-mac e0:2f.., proto TCP (ACK), 1.2.3.4:58435->192.168.1.2:3389, NAT 1.2.3.4:58435->(80.0.0.2:5555->192.168.1.2:3389), len 52
    firewall,info forward: in:ISP2 out:LAN,  src-mac e0:2f.., proto TCP (ACK), 1.2.3.4:58435->192.168.1.2:3389, NAT 1.2.3.4:58435->(80.0.0.2:5555->192.168.1.2:3389), len 52
    

    Пытался использовать советы из следующих тем:

    Либо уже "глаз замылился" и не вижу очевидного, либо одно из двух.:confused:

    Подскажите, пожалуйста, на что обратить внимание?
     
  2. Создайте интерфейс лист WAN, внесите туда все ваши интерфейсы WAN, сделайте так:

    /ip firewall mangle
    add action=mark-connection chain=prerouting connection-mark=no-mark \
    in-interface=ether1-gateway new-connection-mark=From-WAN1 passthrough=yes
    add action=mark-connection chain=prerouting connection-mark=no-mark \
    in-interface=ether2-gateway new-connection-mark=From-WAN2 passthrough=yes
    add action=mark-routing chain=output connection-mark=From-WAN1 \
    new-routing-mark=WAN1 passthrough=yes
    add action=mark-routing chain=output connection-mark=From-WAN2 \
    new-routing-mark=WAN2 passthrough=yes
    add action=mark-routing chain=prerouting connection-mark=From-WAN1 \
    in-interface-list=!WAN new-routing-mark=WAN1 passthrough=yes
    add action=mark-routing chain=prerouting connection-mark=From-WAN2 \
    in-interface-list=!WAN new-routing-mark=WAN2 passthrough=yes

    /ip route
    add distance=1 gateway=1.1.1.1 routing-mark=WAN1
    add distance=1 gateway=2.2.2.2 routing-mark=WAN2
    add check-gateway=arp distance=1 gateway=1.1.1.1
    add check-gateway=arp distance=2 gateway=2.2.2.2
    /ip route rule
    add action=lookup-only-in-table src-address=1.1.1.2/32 table=WAN1
    add action=lookup-only-in-table src-address=2.2.2.3/32 table=WAN2
     
  3. ыгищ4шыелф

    ыгищ4шыелф Новый участник

    Здравствуйте, помогите, пожалуйста.
    Аналогичная проблема, пытаюсь настроить подключение к RDP серверу за микротиком из вне.
    Использовал настройки из вашего примера только для WAN1, без WAN2 - работает по умолчанию, его не трогал.
    Другие примеры из интернета приводят к такому же результату.
    Микротик доступен по обоим WAN, подключение к RDP через дефолтного WAN без проблем ( при смене дефолтного на второго - аналогично), но с подключением через правила mangle соединение с RDP сервером устанавливается (очень медленно до 30 сек) и показывается черный экран RDP, больше ничего не проходит.
    Из настроек - дефолтные, NAT для проброса порта, mangle для подключения к микротику через оба WAN, mangle WAN1 для подключения к RDP (WAN2 дефолтный getway), и route для правил mangle.
    Экспорт настроек:

    # jan/17/2018 12:57:53 by RouterOS 6.41
    # software id = VSJI-GDZG
    #
    # model = RouterBOARD 750G r3
    # serial number = 6F3807350BBD
    /interface bridge
    add admin-mac=64:D1:54:09:B8:B3 auto-mac=no comment=defconf name=bridge
    /interface ethernet
    set [ find default-name=ether1 ] mac-address=F4:F2:6D:03:D6:A0 name=ISP1
    set [ find default-name=ether2 ] name=ISP2
    /interface list
    add comment=defconf name=WAN
    add comment=defconf name=LAN
    /interface wireless security-profiles
    set [ find default=yes ] supplicant-identity=MikroTik
    /ip hotspot profile
    set [ find default=yes ] html-directory=flash/hotspot
    /ip pool
    add name=default-dhcp ranges=192.168.0.10-192.168.0.254
    /ip dhcp-server
    add address-pool=default-dhcp disabled=no interface=bridge name=defconf
    /interface bridge port
    add bridge=bridge comment=defconf interface=ether3
    add bridge=bridge comment=defconf interface=ether4
    add bridge=bridge comment=defconf interface=ether5
    /ip firewall connection tracking
    set tcp-syn-received-timeout=25s tcp-syn-sent-timeout=25s
    /ip neighbor discovery-settings
    set discover-interface-list=LAN
    /interface list member
    add comment=defconf interface=bridge list=LAN
    add comment=defconf interface=ISP1 list=WAN
    add interface=ISP2 list=WAN
    /ip address
    add address=192.168.0.1/24 comment=defconf interface=bridge network=192.168.0.0
    add address=192.168.100.100/24 disabled=yes interface=ISP2 network=\
    192.168.100.0
    /ip dhcp-client
    add comment=defconf dhcp-options=hostname,clientid disabled=no interface=ISP1
    add dhcp-options=hostname,clientid disabled=no interface=ISP2
    /ip dhcp-server network
    add address=192.168.0.0/24 comment=defconf dns-server=192.168.0.1 gateway=\
    192.168.0.1
    /ip dns
    set allow-remote-requests=yes servers=192.168.0.1
    /ip dns static
    add address=192.168.88.1 name=router.lan
    /ip firewall filter
    add action=accept chain=input dst-port=80,8291 protocol=tcp
    add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
    add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
    add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
    add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
    add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
    add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
    add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related
    add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
    add action=drop chain=forward comment="defconf: drop invalid" connection-state=\
    invalid
    add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
    /ip firewall mangle
    add action=mark-connection chain=input in-interface=ISP1 log-prefix=cin_ISP1 \
    new-connection-mark=cin_ISP1 passthrough=yes
    add action=mark-connection chain=input in-interface=ISP2 log-prefix=cin_ISP2 \
    new-connection-mark=cin_ISP2 passthrough=yes
    add action=mark-routing chain=output connection-mark=cin_ISP1 new-routing-mark=\
    rout_ISP1 passthrough=no
    add action=mark-routing chain=output connection-mark=cin_ISP2 new-routing-mark=\
    rout_ISP2 passthrough=no
    add action=mark-connection chain=prerouting in-interface=ISP1 \
    new-connection-mark=in_ISP1 passthrough=yes
    add action=mark-routing chain=output connection-mark=in_ISP1 new-routing-mark=\
    out_ISP1 passthrough=yes
    add action=mark-routing chain=prerouting connection-mark=in_ISP1 \
    in-interface-list=!WAN new-routing-mark=out_ISP1 passthrough=yes
    /ip firewall nat
    add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=\
    out,none out-interface-list=WAN
    add action=dst-nat chain=dstnat connection-mark=in_ISP1 dst-port=33334 \
    in-interface=ISP1 log=yes log-prefix="\CD\C0\D2 33334" protocol=tcp \
    to-addresses=192.168.0.222 to-ports=33334
    add action=dst-nat chain=dstnat dst-port=33334 in-interface=ISP2 log=yes \
    log-prefix="\CD\C0\D22 33334" protocol=tcp to-addresses=192.168.0.222 \
    to-ports=33334
    add action=dst-nat chain=dstnat dst-port=3389 in-interface=ISP1 log=yes \
    log-prefix=23 protocol=tcp src-address=*.*.*.* to-addresses=\
    192.168.0.96 to-ports=3389
    /ip route
    add distance=1 gateway=93.100.246.1 routing-mark=rout_ISP1
    add distance=1 gateway=192.168.100.1 routing-mark=rout_ISP2
    add distance=1 gateway=93.100.246.1 routing-mark=out_ISP1
    /system routerboard mode-button
    set enabled=no on-event=""
    /tool mac-server
    set allowed-interface-list=LAN
    /tool mac-server mac-winbox
    set allowed-interface-list=LAN
    /tool sniffer
    set filter-interface=ISP1

    Готов материально отблагодарить за помощь в решении вопроса, при необходимости могу предоставить удаленный доступ.
    Спасибо!
     
    Последнее редактирование: 17 янв 2018
  4. Проблема наблюдается только с RDP ? Интернет как работает через второго провайдера ?
     
  5. ыгищ4шыелф

    ыгищ4шыелф Новый участник

    Второй провайдер (getway - по умолчанию) интернет из RDP работает отлично ( и не важно, если сменю getway по умолчанию на первого провайдера то тоже все ок, но второй через правила начинает тупить).
    Если я правилами пытаюсь для ip RDP сервера настроить что весь исходящий трафик (80,443) идет через первого (резервного провайдера), страницы грузятся очень долго не всегда прогружаются, но на сайтах проверки IP показывается внешний первого провайдера для которого настраивал mangle. Т.е. тоже работает но очень глючно.
     
  6. Илья Князев

    Илья Князев Администратор Команда форума

    Нельзя в вашей схеме маркировать в прероутинг уже существующее соединение
    Вот тут ошибка
    А надо
     
  7. ыгищ4шыелф

    ыгищ4шыелф Новый участник

    Пометку ставил\снимал итог тот же. Долго подключается и черный экран. При обычном подключении я даже не успеваю прочитать состояния.

    upload_2018-1-17_15-28-15.png

    Через минуту где-то
    upload_2018-1-17_15-40-14.png

    7ое правило.

    Код:
    3    chain=input action=mark-connection new-connection-mark=cin_ISP1
          passthrough=yes in-interface=ISP1 log=no log-prefix="cin_ISP1"
    
    4    chain=input action=mark-connection new-connection-mark=cin_ISP2
          passthrough=yes in-interface=ISP2 log=no log-prefix="cin_ISP2"
    
    5    chain=output action=mark-routing new-routing-mark=rout_ISP1 passthrough=no
          connection-mark=cin_ISP1 log=no log-prefix=""
    
    6    chain=output action=mark-routing new-routing-mark=rout_ISP2 passthrough=no
          connection-mark=cin_ISP2 log=no log-prefix=""
    
    7    chain=prerouting action=mark-connection new-connection-mark=in_ISP1
          passthrough=yes connection-mark=no-mark in-interface=ISP1 log=no
          log-prefix=""
    
    8    chain=output action=mark-routing new-routing-mark=out_ISP1 passthrough=yes
          connection-mark=in_ISP1 log=no log-prefix=""
    
    9    chain=prerouting action=mark-routing new-routing-mark=out_ISP1
          passthrough=yes connection-mark=in_ISP1 in-interface=bridge
          in-interface-list=!WAN log=no log-prefix=""
    
     

    Вложения:

    Последнее редактирование: 17 янв 2018
  8. ыгищ4шыелф

    ыгищ4шыелф Новый участник

    Проблема с медленной , нестабильной работой подключения mikrotik ISP2 ( WAN2) с distance 2 была решена с помощь отключения fasstrack. После отключения reboot.
    Спасибо команде SPW!