MikroTik 2× WAN - nastavení port forward přes konkrétní WAN

M_D

  • ****
  • 386
    • Zobrazit profil
    • E-mail
Pokud z venčí zkusím spojení, tak vidím, že pakety na dst-nat přicházejí, ale nespojím se. srcnat neukáže žádnej paket.
Jako by odchozí spojení stále šlo přes WAN1
Což je naprosto správně. SRCNAT se ti uplantí u nového spojení, které by se navazovalo z toho SFTP serveru směrem ven. Pokud provádíš DSTNAT z internetu dovnitř, tak když se paket vrací, tak se reverzní operace provede tiše automaticky. Pokud sftp nemá být zdrojem spojení jdoucích ven, tak v podstatě ten srcnat nepotřebuješ.

Máš v routeru torch, packet sniffer, ... - bylo by dobré se podívat s jakými parametry to spojení a kterým interfacem opravdu opouští. Pokud tam máš nějakou chybu, tak ti to přijde třeba přes WAN2, provedene se daný dstnat, ale paket se pošle fyzicky ven rovnou třeba přes wan1 místo do lan. Takže prvně si ověřit, že opravdu dorazil na sftp a on na něj odpovídá. :-)

ještě mě napadá, že by to mohlo jít i bez značení spojení
Mimo to co už mám nastavené

1) Vytvořit novou Routovací tabulku WAN2_table
2) Vytvořit Route Rule kde nastavím Src.Address(sftp server) Action:lookup Table: WAN2_table
3) Vytvořit Route pro tabulku WAN2_table, kde GW bude IP WAN2

pak by to route pravidlo mělo posílat vše do tabulky WAN2_table a tím že tato tabulka má pouze jednu GW, očekával bych že to z ní vyleze.


Ano, tohle také funguje. Tohle se hodí, pokud to chci mít natvrdo, že sftp funguje jen přes wan2, pokud chci, že má fungovat korektně přes wan1 i wan2, tak to musíš značkovat... Pokud značkuješ a používáš rules naráz, tak při blbým použití se uplatní to nastavení přes to mark-routing...

Kód: [Vybrat]
/routing table
add comment="prvni linka" disabled=no fib name=ISP1
add comment="druha linka" disabled=no fib name=ISP2

/routing rule
add action=lookup comment="~~~ Nase vnitrni adresy, primo dosazitelne, vzdy pres main" disabled=no dst-address=192.168.0.0/16 table=main
add action=lookup disabled=no dst-address=185.a.b.c/32 table=main
add action=lookup disabled=no dst-address=92.d.e.f/32 table=main
add action=lookup-only-in-table comment="Pakety s danou src adresou posilat rovnou ven pres daneho ISP, zrovna tak spojeni takto dosle" src-address=92.a.b.c/32 table=ISP1
add action=lookup-only-in-table src-address=185.d.e.f/32 table=ISP2

/ip route
add check-gateway=arp comment=ISP1GW-main disabled=no distance=1 dst-address=0.0.0.0/0 gateway=92.a.b.x pref-src=92.a.b.c routing-table=main scope=30 target-scope=10
add check-gateway=ping comment=ISP2GW-main disabled=no distance=1 dst-address=0.0.0.0/0 gateway=185.d.e.y pref-src=185.d.e.f routing-table=main scope=30 target-scope=10
add check-gateway=ping disabled=no distance=5 dst-address=0.0.0.0/0 gateway=92.a.b.x pref-src=92.a.b.c routing-table=ISP1 scope=30 target-scope=10
add check-gateway=arp disabled=no distance=5 dst-address=0.0.0.0/0 gateway=185.d.e.y pref-src=185.d.e.f routing-table=ISP2 scope=30 target-scope=10

/ip settings
set ipv4-multipath-hash-policy=l3

/interface list
add comment="Linky odpovidajici WAN1" name=WAN1-ports
add comment="Linky odpovidajici WAN2" name=WAN2-ports
add comment="Vsechny Ifaces mirici do WAN" include=WAN1-ports,WAN2-ports name=WAN-ports
/interface list member
add interface=vrrp-wan-isp1 list=WAN1-ports
add interface=vrrp-wan-isp2 list=WAN2-ports

/ip firewall mangle
add action=mark-connection chain=prerouting comment="~~~ Oznackuj si spojeni navazane zvenku od ISP1 a ISP2 spravnou conn markou" connection-mark=no-mark connection-state=new in-interface=vrrp-wan-isp1 \
    new-connection-mark=from_ISP1 passthrough=no
add action=mark-connection chain=prerouting connection-mark=no-mark connection-state=new in-interface=vrrp-wan-isp2 new-connection-mark=from_ISP2 passthrough=no
add action=mark-routing chain=prerouting comment="Vracej do spravne linky pro ISP1/2 spojeni prisla z ni" connection-mark=from_ISP1 in-interface-list=!WAN-ports new-routing-mark=ISP1 passthrough=no
add action=mark-routing chain=prerouting connection-mark=from_ISP2 in-interface-list=!WAN-ports new-routing-mark=ISP2 passthrough=no

/ip firewall raw
add action=jump chain=output comment="~~~ Pojistna filtrace, aby pres WAN odchazely jen pakety se spravnou zdrojovou IPv4 adresou" jump-target=WANout out-interface-list=WAN-ports
add action=accept chain=WANout comment="=== Na WAN pustime jen spravne IP na spravnem iface" out-interface=vrrp-wan-isp1 src-address=92.a.b.c
add action=accept chain=WANout out-interface=vrrp-wan-isp2 src-address=185.d.e.f
add action=drop chain=WANout comment="- ostatni do WAN zarizni"

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=2226 in-interface-list=WAN-ports protocol=tcp to-addresses=192.168.0.100 to-ports=443
add action=src-nat chain=srcnat comment="NATuj odchozi provoz" out-interface=vrrp-wan-isp1 to-addresses=92.a.b.c
add action=src-nat chain=srcnat out-interface=vrrp-wan-isp2 to-addresses=185.d.e.f


Plus to mít patřičně povoleno i v /ip firewall filter, aby to spojení tam i zpět prošlo...