Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

Nastavenie Hairpin NAT

Návody a problémy s konfigurací.
blast3r
Příspěvky: 2
Registrován: 5 years ago

Nastavenie Hairpin NAT

Příspěvekod blast3r » 5 years ago

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.
0 x

mirek.k
Příspěvky: 796
Registrován: 16 years ago

Příspěvekod mirek.k » 5 years ago

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.
0 x

blast3r
Příspěvky: 2
Registrován: 5 years ago

Příspěvekod blast3r » 5 years ago

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
0 x

mirek.k
Příspěvky: 796
Registrován: 16 years ago

Příspěvekod mirek.k » 5 years ago

Tak ti to blokuje nějaké pravidlo ve firewallu. Stačí se dívat na countery při pokusech.
1 x

Beny44
Příspěvky: 75
Registrován: 8 years ago

Příspěvekod Beny44 » 5 years ago

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.
0 x

romanz
Příspěvky: 1
Registrován: 5 years ago

Příspěvekod romanz » 5 years ago

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.
0 x

norg
Příspěvky: 46
Registrován: 12 years ago

Příspěvekod norg » 5 years ago

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 :)
0 x

CrazyApe
Příspěvky: 790
Registrován: 9 years ago

Příspěvekod CrazyApe » 5 years ago

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 4046 x
0 x

Machca
Příspěvky: 79
Registrován: 16 years ago

Příspěvekod Machca » 4 years ago

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
0 x
Machča
Všechno jde, jen dřevěná koza a malý děti něchtěj jít.

Uživatelský avatar
hapi
Příspěvky: 12989
Registrován: 16 years ago

Příspěvekod hapi » 4 years ago

maskuje jenom ty vnitřní pokud se pravidlo správně nastaví. Z venku maskovat nic nemusí.
0 x
Supermicro + Mikrotik = SuperTik
high speed routery podle požadavků

Beny44
Příspěvky: 75
Registrován: 8 years ago

Příspěvekod Beny44 » 4 years ago

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
0 x

dwbmb
Příspěvky: 2
Registrován: 4 years ago

Příspěvekod dwbmb » 4 years ago

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
0 x

CrazyApe
Příspěvky: 790
Registrován: 9 years ago

Příspěvekod CrazyApe » 4 years ago

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.
0 x

kure05
Příspěvky: 886
Registrován: 12 years ago

Příspěvekod kure05 » 4 years ago

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.
0 x

dwbmb
Příspěvky: 2
Registrován: 4 years ago

Příspěvekod dwbmb » 4 years ago

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.
0 x