Forum » Omrežja in internet » NAT reflexion v Mikrotiku?
NAT reflexion v Mikrotiku?
poweroff ::
Imam dve virtualki (V1 in V2) za Mikrotikom, ki je na javnem IP-ju. Na V1 je Nginx proxy, na V2 je končni strežnik (my.server.si)
Če zdaj rečem "curl https://my.server.si", web promet prileti do virtualke V2 in dobim normalen odziv.
Takole:
185.xx.xx.xx:443 -- 10.0.2.3:443 (V1, Nginx proxy) -- 10.0.2.4:11000 (V2, my.server.si)
Torej:
- request gre na zunanji IP (186.xx.xx.xx)
- od tam se posreduje na virtualko 10.0.2.3 (port 443), kjer je Nginx proxy
- ki preusmeri request na drugo virtualko 10.0.2.4 (port 11000)
Do tukaj vse OK.
Problem pa nastopi, če curl "https://my.server.si" rečem na virtualki V2 (končni strežnik my.server.si). V tem primeru se povezava ne vzpostavi.
Kolikor razumem, bi moral narediti NAT reflexion: NAT reflection refers to the ability to access external services from the internal network using the external (usually public) IP address, the same as if the client were on the Internet.
Razmišljal sem tudi, da zadevo rešim tako, da v virtualko V2 v /etc/hosts vpišem 10.0.2.4 my.server.si, ampak problem je da če kličem port 443, bi se moral promet preusmeriti na 11000...
Skratka, kako v Mikrotiku narediti NAT reflexion?
Če zdaj rečem "curl https://my.server.si", web promet prileti do virtualke V2 in dobim normalen odziv.
Takole:
185.xx.xx.xx:443 -- 10.0.2.3:443 (V1, Nginx proxy) -- 10.0.2.4:11000 (V2, my.server.si)
Torej:
- request gre na zunanji IP (186.xx.xx.xx)
- od tam se posreduje na virtualko 10.0.2.3 (port 443), kjer je Nginx proxy
- ki preusmeri request na drugo virtualko 10.0.2.4 (port 11000)
Do tukaj vse OK.
Problem pa nastopi, če curl "https://my.server.si" rečem na virtualki V2 (končni strežnik my.server.si). V tem primeru se povezava ne vzpostavi.
Kolikor razumem, bi moral narediti NAT reflexion: NAT reflection refers to the ability to access external services from the internal network using the external (usually public) IP address, the same as if the client were on the Internet.
Razmišljal sem tudi, da zadevo rešim tako, da v virtualko V2 v /etc/hosts vpišem 10.0.2.4 my.server.si, ampak problem je da če kličem port 443, bi se moral promet preusmeriti na 11000...
Skratka, kako v Mikrotiku narediti NAT reflexion?
sudo poweroff
NoName ::
Vidim dve rešitvi.. ena je, da imaš na DNS dva viewa (external za rajo na internetu, ki bo my.server.si resolval v 185.x.x.x in internal, ki bo internim mašinam v 10.0.2.0/24 networku my.server.si resolval direkt v 10.0.2.3), s tem promet ne bo nikdar prišel na mikrotika, ampak direkt na nginx proxy.
Lahko pa vključiš naslednji NAT rule
ip firewall nat add action=masquerade chain=srcnat dst-address=10.0.2.3 src-address=10.0.2.0/24
seveda pri pogoju, da imaš
ip firewall nat add action=dst-nat chain=dstnat dst-address=185.x.x.x protocol=tcp dst-port=443 to-address=10.0.2.3
s tem boš na nginx proxyju v logih videl, kot da se želi na my.server.si povezat sam mikrotik (10.0.2.1 ali 10.0.2.254 ali karkoli že imaš nastavljeno), ne pa dejanskega client ipja
Lahko pa vključiš naslednji NAT rule
ip firewall nat add action=masquerade chain=srcnat dst-address=10.0.2.3 src-address=10.0.2.0/24
seveda pri pogoju, da imaš
ip firewall nat add action=dst-nat chain=dstnat dst-address=185.x.x.x protocol=tcp dst-port=443 to-address=10.0.2.3
s tem boš na nginx proxyju v logih videl, kot da se želi na my.server.si povezat sam mikrotik (10.0.2.1 ali 10.0.2.254 ali karkoli že imaš nastavljeno), ne pa dejanskega client ipja
I can see dumb people...They're all around us... Look, they're even on this forum!
HotBurek ::
... ampak problem je da če kličem port 443, bi se moral promet preusmeriti na 11000...
Ena rešitev za ta problem je lahko prerouting.
Primer za nftables:
Ena rešitev za ta problem je lahko prerouting.
Primer za nftables:
table ip nat { chain prerouting { type nat hook prerouting priority 0; # Redirect 443 to 11000 ip saddr 10.0.2.4 tcp dport 443 dnat to 10.0.2.4:11000; # Log traffic counter log prefix "nftables.drop >PRE> " drop; policy drop; } }
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
Zgodovina sprememb…
- spremenilo: HotBurek ()
poweroff ::
Tnx. Sem ugotovil, da bom rabil še en dodaten IP (pač, zahteve serverja), ampak Hairpin NAT mi bo pa rešil kup drugih problemov.
sudo poweroff
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Domači VPN (strani: 1 2 3 )Oddelek: Omrežja in internet | 24532 (10380) | Daniel |
» | Vprašanje o povezavi preko Hamachi-jaOddelek: Pomoč in nasveti | 1264 (685) | ScottDJ_ |
» | Postavitev strežnika in lokalnega omrežjaOddelek: Omrežja in internet | 1759 (1476) | NoName |
» | pppoe+mikrotikOddelek: Omrežja in internet | 3516 (3094) | Senitel |
» | IPTablesOddelek: Operacijski sistemi | 1961 (1590) | Brane2 |