Stránka 1 z 1

Nastavenie Hairpin NAT

Napsal: 17 Nov 2018 13:25
od blast3r
Ahojte,

Som začiatočník, rozbalil som MikroTik router, spravil základný security setup:
https://wiki.mikrotik.com/wiki/Manual:S ... our_Router

A potom som sa snažil nastaviť Hairpin NAT, aby som mal prístupný WWW server aj z vnútornej LAN siete:
https://wiki.mikrotik.com/wiki/Hairpin_NAT

Vnútorná LAN sieť je 192.168.88.0/24, WWW server beží na 192.168.88.248, má pridelenú statickú IP.
Je správne nastavený portforwarding, keď idem na public WAN IP 83.X.X.X tak sa ten WWW server dostanem, ale nie z vnútornej LAN siete, čiže mi nefunguje Hairpin NAT.

Konfigurácia Firewall rules

Kód: Vybrat vše

add action=accept chain=input comment="default configuration" connection-state=\
    established,related
add action=accept chain=input src-address-list=allowed_to_router
add action=accept chain=input protocol=icmp
add action=drop chain=input
add action=fasttrack-connection chain=forward comment=FastTrack \
    connection-state=established,related
add action=accept chain=forward comment="Established, Related" \
    connection-state=established,related
add action=drop chain=forward comment="Drop invalid" connection-state=invalid \
    log=yes log-prefix=invalid
add action=drop chain=forward comment=\
    "Drop tries to reach not public addresses from LAN" dst-address-list=\
    not_in_internet in-interface=bridge log=yes log-prefix=!public_from_LAN \
    out-interface=!bridge
add action=drop chain=forward comment=\
    "Drop incoming packets that are not NATted" connection-nat-state=!dstnat \
    connection-state=new in-interface=ether1 log=yes log-prefix=!NAT
add action=drop chain=forward comment=\
    "Drop incoming from internet which is not public IP" in-interface=ether1 \
    log=yes log-prefix=!public src-address-list=not_in_internet
add action=drop chain=forward comment=\
    "Drop packets from LAN that do not have LAN IP" in-interface=bridge log=yes \
    log-prefix=LAN_!LAN src-address=!192.168.88.0/24


Konfigurácia NAT

Kód: Vybrat vše

add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=\
    out,none out-interface-list=WAN
add action=dst-nat chain=dstnat comment=http dst-port=80 in-interface=ether1 \
    protocol=tcp to-addresses=192.168.88.248 to-ports=80
add action=dst-nat chain=dstnat comment=https dst-port=443 in-interface=ether1 \
    protocol=tcp to-addresses=192.168.88.248 to-ports=443
add action=dst-nat chain=dstnat comment=torrent dst-port=35469 in-interface=\
    ether1 protocol=tcp to-addresses=192.168.88.248 to-ports=35469
add action=dst-nat chain=dstnat comment="RDP - TCP" dst-port=3399 in-interface=\
    ether1 protocol=tcp to-addresses=192.168.88.248 to-ports=3389
add action=dst-nat chain=dstnat comment="RDP - UDP" dst-port=3399 in-interface=\
    ether1 protocol=udp to-addresses=192.168.88.248 to-ports=3389
add action=masquerade chain=srcnat comment="Hairpin NAT" dst-address=\
    192.168.88.248 dst-port=80 out-interface-list=LAN protocol=tcp src-address=\
    192.168.88.0/24


Čo robím zle?

Díky.

Re: Nastavenie Hairpin NAT

Napsal: 17 Nov 2018 13:33
od mirek.k
To poslední pravidlo není maškaráda, ale dst-nat.
A dst adresa je veřejná adresa sítě.
To znamená slovně . pokud požaduješ z vnitřní sítě veřejnou adresu s danými porty, změň cílovou adresu na lokální adresu serveru.

Re: Nastavenie Hairpin NAT

Napsal: 17 Nov 2018 14:03
od blast3r
Tak ak som to pochopil spravne, tak som to nastavil takto, ale nefunguje to:

Kód: Vybrat vše

add action=dst-nat chain=dstnat comment="Hairpin NAT" dst-address=83.X.X.X \
    dst-port=80 protocol=tcp src-address=192.168.88.0/24 to-addresses=\
    192.168.88.248 to-ports=80

Re: Nastavenie Hairpin NAT

Napsal: 17 Nov 2018 14:11
od mirek.k
Tak ti to blokuje nějaké pravidlo ve firewallu. Stačí se dívat na countery při pokusech.

Re: Nastavenie Hairpin NAT

Napsal: 17 Nov 2018 23:54
od Beny44
Já jsem to také nerozchodil. A jelikož používám Web Proxy (mám dva weby uvnitř sítě) využil jsem statické DNS. To jsem měl zaplé již dávno, ale něměl jsem ve win v nastavení sítě zaplý DNS server Mikrotik.

Re: Nastavenie Hairpin NAT

Napsal: 07 Jun 2019 17:11
od romanz
Hairpin NAT se mi taky nepodarilo rozchodit.
Zkousel sem asi 10 navodu kterej byl kazdej v nejaky drobnosti jinej a pristup na vnitrni IP pres eterni adresu nebo domenovy jmeno proste nejde.
Vyresil jsem to taky statickym DNS zaznamem a je klid. Nechapu ze nekdo nemuze napsat normalni pouzitelnej navod pro blbce jako jsme my aby to fungovalo a bylo to jasny.

Re: Nastavenie Hairpin NAT

Napsal: 07 Jun 2019 17:56
od norg
to posledni pravislo:

Kód: Vybrat vše

add action=masquerade chain=srcnat comment="Hairpin NAT" dst-address=\
    192.168.88.248 dst-port=80 out-interface-list=LAN protocol=tcp src-address=\
    192.168.88.0/24

ma byt maskarada

jediny rozdil oproti wiki vidim ze tam mas out-interface-list misto out-interface

a me to chodi resp mam jeste vice zjednoduseno:

Kód: Vybrat vše

add action=masquerade chain=srcnat dst-port=2048 protocol=tcp

a dst-nat nedelam pres interface ale IP:

Kód: Vybrat vše

add action=dst-nat chain=dstnat  dst-address=!192.168.88.0/24
     dst-port=2048 log=yes protocol=tcp to-addresses=\
    192.168.88.155 to-ports=80


vypni firewall a zkousej :)

Re: Nastavenie Hairpin NAT

Napsal: 09 Jun 2019 20:08
od CrazyApe
Musíš do toho dst nat pravidla dat in interface=Fyzicky interface vnitřní sítě/bridge
Tzn. rict routeru ze když přijde paket z lanu a cílová ip je jehoverejka na portu xxx tak vrátit packet dovnitr na nějakou konkrétní vnitřní ip kde leží ta vec na kterou pristupujes (napr. 192.168.88.2 port xxx) pokud tak das 192.168.88.0/24 tak to nepojede.

Tady je priklad funkcniho DSTnatu u klienta ktery ma 1:1 natovanou verejku na adresu 10.80.37.8 a pristupuje z domu na svoje vlastni kamery po verejce a funguje to. Tzn. neleze z tech kamer provoz až na stroj, kde je provaden nat 1:1
Výstřižek.PNG
Výstřižek.PNG (7.51 KiB) Zobrazeno 5344 x

Re: Nastavenie Hairpin NAT

Napsal: 22 Jul 2019 12:35
od Machca
hairpin má ale tu nevýhodu, že pak maskuje všechny adresy za adresu routeru, lepší je si udělat vlastní dns... a do dhcp vyplnit dns

Re: Nastavenie Hairpin NAT

Napsal: 22 Jul 2019 14:24
od hapi
maskuje jenom ty vnitřní pokud se pravidlo správně nastaví. Z venku maskovat nic nemusí.

Re: Nastavenie Hairpin NAT

Napsal: 24 Jul 2019 06:28
od Beny44
Jak jsem již uvedl někde nahoře v tomto tématu, mám dva web servery za jednou veřejnou IP, používám webproxy a statické DNS.
Z venku vše OK, ale zevnitř nic.
je nějaký způsob, jak to nastavit na web proxi?
Díky za nápady

Re: Nastavenie Hairpin NAT

Napsal: 03 Dec 2019 08:29
od dwbmb
Můžu zkusit taky pobrečet a požádat o radu? Jsem v tomhle jelito, kdysi před léty jsem si to nakonfiguroval, ale nemůžu si vzpomenout, jak. Taky jsem googlil, ale buď mi to nepomohlo, nebo to to nepočítalo s tím, že mám v LAN dvě zařízení, na které chci přistupovat skrze veřejnou IP: NAS a webkameru. NAS na adrese 192.168.0.10 a kameru na 192.168.0.20

Mám tedy úplný základ pro port forwarding:

Kód: Vybrat vše

/ip firewall nat
add action=masquerade chain=srcnat comment="Default masq" out-interface-list=WAN
add action=dst-nat chain=dstnat dst-port=80 in-interface=ether1 protocol=tcp to-addresses=192.168.0.10 to-ports=80
add action=dst-nat chain=dstnat dst-port=554 in-interface=ether1 protocol=tcp to-addresses=192.168.0.20 to-ports=554
(zjednodušeně, těch portů má NAS i kamera víc)

A jak za to zkusím dát cokoli, co jsem vygooglil pro hairpin, tak to neudělá vůbec nic. Firewall pravidla jsem na testování všechny vypnul. Třeba podle Mikortik wiki jsem přidal analogicky:

Kód: Vybrat vše

/ip firewall nat
add chain=srcnat src-address=192.168.0.0/24 dst-address=192.168.0.10 protocol=tcp dst-port=80 out-interface-list=LAN action=masquerade
add chain=srcnat src-address=192.168.0.0/24 dst-address=192.168.0.20 protocol=tcp dst-port=554 out-interface-list=LAN action=masquerade
...ale bez úspěchu :( Co dělám špatně, co přehlížím? Jsem zoufalý. Za pomoc pošlu balík energeťáků :D

Re: Nastavenie Hairpin NAT

Napsal: 03 Dec 2019 08:43
od CrazyApe
Přehlížís můj prizpevek...
Uděláš Dst nat dst adress=verejka dst port=port in interface=LAN(bridge) dst adress=vnitřní adresa dst port =vnitřní port. A pro každý port sólo pravidlo.

Re: Nastavenie Hairpin NAT

Napsal: 03 Dec 2019 08:55
od kure05

Kód: Vybrat vše

/ip firewall nat
add action=dst-nat chain=dstnat comment="dovnitr pro NAS" dst-address=192.168.10.2 in-interface=WAN to-addresses=192.168.0.10
add action=src-nat chain=srcnat comment="ven pro NAS" out-interface=WAN src-address=192.168.0.10 to-addresses=192.168.10.2
add action=dst-nat chain=dstnat comment="dovnitr pro kameru" dst-address=192.168.10.2 in-interface=WAN to-addresses=192.168.0.20
add action=src-nat chain=srcnat comment="ven pro kameru" out-interface=WAN src-address=192.168.0.20 to-addresses=192.168.10.2
add action=src-nat chain=srcnat comment="maskarada pro vse ostatni" out-interface=WAN src-address=192.168.0.0/24 to-addresses=192.168.10.3


NATovaný veřejky děláme u lidí takhle. S tím, že na rozsah 192.168.0.0/24 je vnitřní síť a 192.168.10.0/24 je rozsah na WANu.

Re: Nastavenie Hairpin NAT

Napsal: 03 Dec 2019 15:12
od dwbmb
Já se právě snažil všemožně i nemožně vyhnout explicitnímu uvedení vnější IP adresy do pravidla, protože UPC ji sem tam mění. Mezitím jsem ale v novém firmwaru objevil úžasný IP>Cloud, který jsem si pak přidal do address listu a list pak do pravidla místo pevně napsané adresy a už to fičí :thumbsup:

Díky za pomoc každopádně, to se mi tak někdy stane, že se musím nejdřív někoho zeptat, aby mě pak řešení samo prásklo mezi oči.