Проброс портов с ISP1:2000 На локальную сеть

Тема в разделе "Маршрутизация", создана пользователем Lagrio Logos, 26 июн 2017.

  1. Lagrio Logos

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

    Имеем 2 провайдера и 2 лан пората
    Было настроено:
    Код:
    /ip firewall filter
    add chain=input protocol=icmp
    add chain=input protocol=tcp
    add chain=input protocol=udp
    add chain=input comment=ESTABLISHED connection-state=established
    add chain=input comment=RELATED connection-state=related
    add action=drop chain=input comment=ALL_OTHER--DROP in-interface=ISP1
    add action=drop chain=input comment=ALL_OTHER--DROP in-interface=ISP2
    add action=drop chain=forward comment=DROP_INVALID connection-state=invalid
    add chain=forward comment=ESTABLISHED connection-state=established
    add chain=forward comment=RELATED connection-state=related
    add action=drop chain=forward comment=ALL_OTHER--DROP in-interface=ISP1
    add action=drop chain=forward comment=ALL_OTHER--DROP in-interface=ISP2
    Код:
    /ip address add address=10.100.1.1/24 interface=ISP1
    /ip address add address=10.200.1.1/24 interface=ISP2
    /ip address add address=10.1.1.1/24 interface=LAN
    /ip address add address=10.1.2.1/24 interface=LAN
    /ip firewall nat add src-address=10.1.1.0/24 action=masquerade chain=srcnat
    /ip firewall mangle add action=mark-connection chain=input in-interface=ISP1 new-connection-mark=cin_ISP1
    /ip firewall mangle add action=mark-connection chain=input in-interface=ISP2 new-connection-mark=cin_ISP2
    /ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP1 new-routing-mark=rout_ISP1 passthrough=no
    /ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP2 new-routing-mark=rout_ISP2 passthrough=no
    /ip route add distance=1 gateway=10.100.1.254 routing-mark=rout_ISP1 check-gateway=ping
    /ip route add distance=1 gateway=10.200.1.254 routing-mark=rout_ISP2 check-gateway=ping
    /ip firewall mangle add src-address=10.1.1.0/24 action=mark-routing chain=prerouting new-routing-mark=mixed
    /ip route add dst-address=0.0.0.0/0 gateway=10.100.1.254,10.200.1.254 routing-mark=mixed
    Интернет есть балансировка работает на ура.
    При попытке пробросить с ISP1:2000 На локальную сеть 10.1.2.1:80 пакеты гуляют но не открывается.
    Нужно чтоб открывалось как снаружи так и внутри.
     
  2. Дайте настройки NAT, скорей всего там что-то не так...
     
  3. Lagrio Logos

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

    Код:
    /ip firewall nat
    add action=masquerade chain=srcnat out-interface=ISP1
    add action=masquerade chain=srcnat out-interface=ISP2
    add action=dst-nat chain=dstnat dst-address=10.100.1.254 dst-port=2000 protocol=tcp routing-mark=mixed to-addresses=10.1.2.1/24 to-ports=80
     
    Последнее редактирование: 27 июн 2017
  4. Вроде все норм, какие-то другие сервисы пробовали публиковать еще ?
     
  5. Lagrio Logos

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

    да, но там автоматом по UDP поднималось от плойки 4 итог тот же, в плойке нат (1 или 2 есть еще 3 - но его мало кто использует) не определен, изменения TTL не роляют, при проверке служб с нее все хорошо, при попытке присоединится к службам полный болт.
     
  6. Lagrio Logos

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

    Теперь вопрос в следующем, как и где необходимо прописать с учетом моих настроек и таблицы Leases, пере направление трафика, так чтобы при запросе с локальной сети на внешний IP c портом 2000, трафик приходил на устройство в локальной сети.
     
  7. Harpin NAT https://spw.ru/educate/articles/natpart5/
     
    Последнее редактирование модератором: 23 янв 2019
  8. Lagrio Logos

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

    это уже видел, не работает. не то не то.
     
    Последнее редактирование модератором: 23 янв 2019
  9. Илья Князев

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

  10. Lagrio Logos

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

    Код:
    /caps-man channel
    add band=2ghz-b/g/n control-channel-width=20mhz extension-channel=Ceee \
        frequency=2452 name=channel tx-power=20
    /interface bridge
    add arp=reply-only name=bridge1
    /interface ethernet
    set [ find default-name=ether1 ] name=ISP1
    set [ find default-name=ether2 ] name=ISP2
    set [ find default-name=ether3 ] arp=reply-only
    /ip neighbor discovery
    set ISP1 discover=no
    /caps-man datapath
    add arp=reply-only bridge=bridge1 name=datapath1
    /caps-man security
    add authentication-types=wpa-psk,wpa2-psk,wpa-eap,wpa2-eap encryption=aes-ccm \
        group-encryption=aes-ccm name=security passphrase=koshka
    /caps-man configuration
    add channel=channel channel.band=2ghz-b/g/n channel.control-channel-width=20mhz \
        channel.extension-channel=Ce country=russia datapath=datapath1 \
        datapath.bridge=bridge1 mode=ap name=cfg1 security=security \
        security.authentication-types=wpa-psk,wpa2-psk,wpa-eap,wpa2-eap \
        security.encryption=aes-ccm security.passphrase=koshka ssid=Kat
    /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=dhcp ranges=10.10.8.10-10.10.8.254
    /ip dhcp-server
    add add-arp=yes address-pool=dhcp disabled=no interface=bridge1 lease-time=1d \
        name=dhcp1
    /caps-man manager
    set enabled=yes
    /caps-man provisioning
    add action=create-dynamic-enabled master-configuration=cfg1
    /interface bridge port
    add bridge=bridge1 interface=ether3
    add bridge=bridge1 interface=ether4
    add bridge=bridge1 interface=ether5
    /ip address
    add address=10.10.8.1/24 comment=defconf interface=bridge1 network=10.10.8.0
    add address=10.100.1.1/24 interface=ISP1 network=10.100.1.0
    /ip dhcp-client
    add comment=defconf dhcp-options=hostname,clientid interface=ISP1
    /ip dhcp-server lease
    add address=10.10.8.254 client-id=1:14:da:e9:64:3:31 mac-address=14:DA:E9:64:03:31 server=dhcp1
    
    /ip dhcp-server network
    add address=10.10.8.0/24 gateway=10.10.8.1 netmask=24
    /ip dns
    set allow-remote-requests=yes servers=8.8.8.8
    /ip dns static
    add address=10.10.8.1 name=router
    /ip firewall filter
    add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
        connection-state=established,related
    add action=accept chain=input protocol=icmp
    add action=accept chain=input comment="defconf: accept established,related" \
        connection-state=established,related
    add action=accept chain=input disabled=yes protocol=udp
    add action=accept chain=forward protocol=icmp
    add action=accept chain=forward disabled=yes protocol=tcp
    add action=accept chain=forward comment="defconf: accept established,related" \
        connection-state=established,related
    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=ISP1
    add action=accept chain=forward comment="accept forward from local to internet" \
        disabled=yes in-interface=!ISP1 out-interface=ISP1
    add action=drop chain=input in-interface=ISP1
    /ip firewall nat
    add action=masquerade chain=srcnat comment="defconf: masquerade" out-interface=\
        ISP1
    add action=netmap chain=dstnat dst-address=10.100.1.1 dst-port=1000 \
        protocol=tcp to-addresses=10.10.8.100 to-ports=80
    /ip route
    add distance=1 gateway=10.10.1.1
    /ip service
    set telnet disabled=yes
    set ftp disabled=yes
    set ssh disabled=yes
    set api disabled=yes
    set api-ssl disabled=yes
    /ip upnp
    set enabled=yes
    
    Сейчас сделано так в идеале должна быть добавлена балансировка на 2 канала (они должны работать одновременно)
    Код:
    /ip address add address=10.10.2.13/30 interface=ISP1
    /ip address add address=10.10.1.22/24 interface=ISP2
    /ip add address=10.10.4.1/24 interface=LAN
    /ip add address=10.10.4.1/24 interface=LAN2
    /ip add address=10.10.8.1/24 interface=LAN3
    /ip firewall nat add src-address=10.10.4.0/24 action=masquerade chain=srcnat
    /ip firewall nat add src-address=10.10.8.0/24 action=masquerade chain=srcnat
    /ip firewall mangle add action=mark-connection chain=input in-interface=ISP1 new-connection-mark=cin_ISP1
    /ip firewall mangle add action=mark-connection chain=input in-interface=ISP2 new-connection-mark=cin_ISP2
    /ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP1 new-routing-mark=rout_ISP1 passthrough=no
    /ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP2 new-routing-mark=rout_ISP2 passthrough=no
    /ip route add distance=1 gateway=10.10.2.1 routing-mark=rout_ISP1 check-gateway=ping
    /ip route add distance=1 gateway=10.10.1.1 routing-mark=rout_ISP2 check-gateway=ping
    /ip route add distance=2 gateway=10.200.1.254 routing-mark=rout_ISP1
    /ip route add distance=2 gateway=10.100.1.254 routing-mark=rout_ISP2
    /ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark="lan_out_ISP2" passthrough=no dst-port=80,443,110,25 protocol=tcp
    /ip firewall add chain=prerouting action=mark-routing new-routing-mark="lan_out_ISP1" passthrough=no
    /ip route add distance=1 gateway=10.10.2.1 routing-mark=lan_out_ISP1 check-gateway=ping
    /ip route add distance=1 gateway=10.10.1.1 routing-mark=lan_out_ISP2 check-gateway=ping
    /ip route add distance=2 gateway=10.10.2.1 routing-mark=lan_out_ISP1
    /ip route add distance=2 gateway=10.10.1.1 routing-mark=lan_out_ISP2
    /ip address add address=10.10.2.1/30 interface=ISP1
    /ip address add address=10.10.1.22/24 interface=ISP2
    /ip address add address=10.10.4.1/24 interface=LAN
    /ip address add address=10.10.4.1/24 interface=LAN2
    /ip address add address=10.10.8.1/24 interface=LAN3
    /ip firewall nat add src-address=10.1.1.0/24 action=masquerade chain=srcnat
    /ip firewall mangle add action=mark-connection chain=input in-interface=ISP1 new-connection-mark=cin_ISP1
    /ip firewall mangle add action=mark-connection chain=input in-interface=ISP2 new-connection-mark=cin_ISP2
    /ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP1 new-routing-mark=rout_ISP1 passthrough=no
    /ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP2 new-routing-mark=rout_ISP2 passthrough=no
    /ip route add distance=1 gateway=10.100.1.254 routing-mark=rout_ISP1 check-gateway=ping
    /ip route add distance=1 gateway=10.200.1.254 routing-mark=rout_ISP2 check-gateway=ping
    /ip firewall mangle add src-address=10.1.1.0/24 action=mark-routing chain=prerouting new-routing-mark=mixed
    /ip route add dst-address=0.0.0.0/0 gateway=10.100.1.254,10.200.1.254 routing-mark=mixed
    
    /ip firewall nat add action=dst-nat chain=dstnat dst-address=10.10.1.22 dst-port=1000 protocol=tcp to-addresses=10.10.8.100
    add action=masquerade chain=srcnat dst-address=10.10.1.22 dst-port=80 protocol=tcp src-address=10.10.8.0/24
    
    /ip firewall nat add action=dst-nat chain=dstnat dst-address=10.10.1.22 dst-port=2000  protocol=tcp \ to-addresses=10.10.8.100
    
    
    При этом если я добавляю все так перестает работать перенаправление.
     
  11. Илья Князев

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

    Схема с перенарправлением портов и несколькими ISP следующая

    /ip firewall mangle
    #Маркируем соединения по интерфейсу в прероутинг (маркировка в Input при этом не нужна)
    add action=mark-connection chain=prerouting in-interface=ISP1 new-connection-mark=cin_ISP1
    add action=mark-connection chain=prerouting in-interface=ISP2 new-connection-mark=cin_ISP2

    #Маркируем маршруты в Output для роутера
    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

    #Маркируем маршруты в прероутинг для узлов за роутером, чтобы ответ от них ушел в нужный WAN
    # Важно!!! Надо исключить возможность маркировки пакетов пришедших с WAN интерфейса
    dd action=mark-routing chain=prerouting in-interface=LAN connection-mark=cin_ISP1 new-routing-mark=rout_ISP1 passthrough=no
    add action=mark-routing chain=prerouting in-interface=LAN connection-mark=cin_ISP2 new-routing-mark=rout_ISP2 passthrough=no

    Ну и два маршрута с маркировками
    /ip route add distance=1 gateway=10.10.2.1 routing-mark=rout_ISP1 check-gateway=ping
    /ip route add distance=1 gateway=10.10.1.1 routing-mark=rout_ISP2 check-gateway=ping
    Обратите внимание, что у вас должен быть хотя бы один маршрут на 0.0.0.0/0 без маркировки. Даже если он никогда не используется.
     
  12. Lagrio Logos

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

    спасибо, сеня случайно грохнул роутер, переделал все, с наружи фиг (нет проброса портов внутрь) , внутри все хорошо (есть проброс на внешний ип). Будем рыть дальше.
     
  13. Илья Князев

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

    Значит настроили не так. Конфиг дайте )
     
  14. Lagrio Logos

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

    Код:
    /interface bridge
    add admin-mac=E4:8D:8C:B1:DA:CB auto-mac=no name=bridgeLocal
    /interface ethernet
    set [ find default-name=ether3 ] arp=reply-only
    set [ find default-name=ether4 ] arp=reply-only
    set [ find default-name=ether5 ] arp=reply-only
    /interface list
    add name=ISP1
    /ip pool
    add name=dhcp ranges=10.10.8.10-10.10.8.254
    /ip dhcp-server
    add add-arp=yes address-pool=dhcp disabled=no interface=bridgeLocal lease-time=1d name=dhcp1
    /ppp profile set local-address=10.10.8.1 remote-address=dhcp
    /interface bridge port
    add bridge=bridgeLocal interface=ether3
    add bridge=bridgeLocal interface=ether4
    add bridge=bridgeLocal interface=ether5
    /interface l2tp-server server
    set enabled=yes use-ipsec=yes
    /interface pptp-server server
    set enabled=yes
    /interface sstp-server server
    set default-profile=default-encryption enabled=yes
    /ip address
    add address=10.10.8.1/24 comment=defconf interface=bridgeLocal network=10.10.8.0
    add address=10.10.2.1/24 interface=ether1 network=10.10.2.0
    add address=10.10.1.1/24 interface=ether2 network=10.10.1.0
    /ip cloud
    set ddns-enabled=yes
    /ip dhcp-client
    add dhcp-options=hostname,clientid interface=ether1
    /ip dhcp-server lease
    add address=10.10.8.100 mac-address=00:00:00:00:00:00 server=dhcp1
    /ip dhcp-server network
    add address=10.10.8.0/24 gateway=10.10.8.1 netmask=24
    add address=10.10.1.1/24 gateway=10.10.2.11 netmask=24
    /ip dns
    set servers=8.8.8.8
    /ip firewall filter
    add action=accept chain=input comment="defconfig: accept ICMP" protocol=icmp
    add action=accept chain=input comment="defconfig: established,related" connection-state=established,related
    add action=accept chain=input comment="allow l2tp" dst-port=1701 protocol=udp
    add action=accept chain=input comment="allow pptp" dst-port=1723 protocol=tcp
    add action=accept chain=input comment="allow sstp" dst-port=443 protocol=tcp
    add action=drop chain=input
    add action=accept chain=forward comment="defconfig: established,related" connection-state=established,related
    add action=drop chain=forward comment="defconfig: drop invalid" connection-state=invalid
    add action=drop chain=input comment="drop ssh brute forcers" dst-port=22 protocol=tcp src-address-list=ssh_blacklist
    add action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=1w3d chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage3
    add action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage2
    add action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage1
    add action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m chain=input connection-state=new dst-port=22 protocol=tcp
    add action=accept chain=input dst-port=22 protocol=tcp
    /ip firewall mangle
    add action=mark-connection chain=prerouting in-interface=ether1 new-connection-mark=cin_ether1
    add action=mark-connection chain=prerouting in-interface=ether2 new-connection-mark=cin_ether2
    
    #У этого есть продолжение ?
    
    add action=mark-connection chain=input new-connection-mark=cin_ether1 passthrough=yes
    add action=mark-connection chain=input new-connection-mark=cin_ether2 passthrough=yes
    
    #
    
    add action=mark-routing chain=output connection-mark=cin_ether1 new-routing-mark=rout_ether1 passthrough=no
    add action=mark-routing chain=output connection-mark=cin_ether2 new-routing-mark=rout_ether1 passthrough=no
    add action=mark-routing chain=prerouting connection-mark=cin_ether1 in-interface=bridgeLocal new-routing-mark=rout_ether1 passthrough=no
    add action=mark-routing chain=prerouting connection-mark=cin_ether2 in-interface=bridgeLocal new-routing-mark=rout_ether2 passthrough=no
    /ip firewall nat
    add action=masquerade chain=srcnat disabled=yes out-interface=ether1
    add action=masquerade chain=srcnat src-address=10.10.8.0/24
    add action=masquerade chain=srcnat comment="masq. vpn traffic" src-address=10.10.8.0/24
    add action=netmap chain=dstnat dst-address=10.10.1.24 dst-port=1000 protocol=tcp to-addresses=10.10.8.100 to-ports=80
    
    /ip firewall service-port
    set ftp disabled=yes
    set tftp disabled=yes
    set irc disabled=yes
    set sip disabled=yes
    set udplite disabled=yes
    /ip route
    add distance=1 gateway=10.10.1.1, 10.10.2.11 routing-mark=mixed
    add check-gateway=ping distance=1 gateway=10.10.1.1 routing-mark=rout_ether1
    add check-gateway=ping distance=1 gateway=10.10.2.1 routing-mark=rout_ether2
    add check-gateway=ping distance=1 gateway=8.8.4.4
    add check-gateway=ping distance=2 gateway=8.8.8.8
    add distance=1 dst-address=8.8.4.4/32 gateway=10.10.1.1 scope=10
    add distance=1 dst-address=8.8.8.8/32 gateway=10.10.2.1 scope=10
    /ip service
    set telnet disabled=yes
    set ftp disabled=yes
    set www disabled=yes
    set ssh disabled=yes
    set api disabled=yes
    set api-ssl disabled=yes
    /ip upnp interfaces
    add interface=ether3 type=internal
    add interface=ether1 type=external
    set [ find default=yes ] interface=bridgeLocal
     
  15. Илья Князев

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

    Конечно
     
  16. Lagrio Logos

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

    Как исключить ?
     
  17. Илья Князев

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

    Что исключить? А понял. Не заметил что правила уже есть.
    Тогда смотрим дальше
    Мне кажется надо добавить и на второго провайдера тоже
    /ip firewall nat add action=masquerade chain=srcnat disabled=yes out-interface=ether2

    А так вроде с беглого взгляда все нормально
     
  18. Lagrio Logos

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

    Все забей моя невнимательность, внешний в /addres указал не тот.
     
    Последнее редактирование: 18 июл 2017
  19. Lagrio Logos

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

    Спасибо тебе огромное помог уважуха!