„NAT loopback” változatai közötti eltérés
Nincs szerkesztési összefoglaló |
Nincs szerkesztési összefoglaló |
||
| 5. sor: | 5. sor: | ||
A NAT loopback akkor fordul elő, amikor ugyanabból a magánhálózatból egy kliens el szeretné érni a szolgáltatást a (router) publikus címén. | A NAT loopback akkor fordul elő, amikor ugyanabból a magánhálózatból egy kliens el szeretné érni a szolgáltatást a (router) publikus címén. | ||
== Probléma == | |||
[[Fájl:NAT looback problem.png|bélyegkép|328x328px|NAT looback problem]] | |||
Publikus irányból minden megfelelően működik. Egy távoli kliens a router WAN IP címét használja cél IP címkén, ha el akarja érni a szolgáltatást. A router a destinaion NAT szabályának megfelelően a csomagban kicseréli a cél IP címet a szerver LAN IP címére és továbbítja a csomagot. A szerver mindebből semmit sem érzékel: egy publikus IP címről megszólították és ennek is fog válaszolni. A válasz csomagban a router visszacseréli immár a feladó IP címet a WAN IP címére. Tehát publikus irányból a szolgáltatás elérhető lesz annak ellenére, hogy a szervernek magán hálózati IP címe van, ami publikus irányból nem elérhető. | |||
{| class="wikitable" | |||
|+NAT szabályok | |||
!source | |||
forrás | |||
!destination | |||
cél | |||
!action | |||
művelet | |||
!source | |||
forrás | |||
!destination | |||
cél | |||
|- | |||
|Any Public IP | |||
|Router WAN IP | |||
|destination NAT | |||
|Any Public IP | |||
|Server LAN IP | |||
|- | |||
|Client LAN IP | |||
|Router WAN IP | |||
|destination NAT | |||
|Client LAN IP | |||
|Server LAN IP | |||
|} | |||
A NAT loopback probléma akkor jelentkezik, amikor egy belső, magán hálózati címmel rendelkező klens szeretné elérni a szoláltatás a publikus IP címen. A destinaion NAT ekkor is működik és a szerverhez eljut a csomag, de az, mivel a ugyanabból a magánhálózati tartományból való, nem a routernek (default gateway) fogja küldeni a választ, hanem direktben a vele egy hálózatban lévő kliensnek. Viszont a kliens ezt nem tudja értelmezni, hiszen ő egy publikus IP címmel kezdeményezett kommunikációt, amire egy (számára ismeretlen) alhálózati címről kapott választ, ezért ezt a választ eldobja. A kommunikáció nem jön létre. | |||
== Megoldás == | |||
=== Maszkolt (split) DNS === | |||
Egyik módszer, ha mi üzemeltetjük a szolgáltatáshoz tartozó névszervert és az valamilyen módon közvetlenül elérhető a magán hálózatból. Ez esetben maszkoni tudjuk a domain zónát, azaz a névszerver más IP címet fog feloldani publikus irányba (A router WAN IP címét) és mást a magán hálózati irányba (a szerver LAN IP címét). Így a magánhálózati forgalom a szerver irányába nem is érinti a routert, helyben beszélgetnek a szerver és a kliensek, míg az internet felől is elérhető szolgáltatás, hiszen a távoli kliensek a publikus IP címet használják. | |||
Ha nincs lehetőségünk névszervert konfigurálni, vagy IP alapon használjuk a szolgáltatást és nem is használunk DNS-t, akkor ez a módszer nem használható. | |||
=== Source NAT === | |||
[[Fájl:NAT looback solution.png|bélyegkép|328x328px|NAT looback solution]] | |||
Ha tisztán routing alapon kell megoldani a problémát, akkor az a megoldás, hogy a magán hálózati irányból fel kell venni egy source masquerade NAT szabályt is. Ez a source NAT egy speciális esete, amikor minden forrás IP címet kicserél a router, azaz jelen példánkban minden magán hálózati IP cím számára elérhető lesz a szolgáltatás. A szerver azt fogja érzékelni, hogy a router kezdeményezi vele a kapcsolatot (minden kliens esetében), így az annak is válaszol. Ezután a router a válasz csomagban a cél IP címet is visszacseréli és a kommunikáció teljes lesz. | |||
{| class="wikitable" | |||
|+NAT szabályok | |||
!source | |||
forrás | |||
!destination | |||
cél | |||
!action | |||
művelet | |||
!source | |||
forrás | |||
!destination | |||
cél | |||
|- | |||
|Any Public IP | |||
|Router WAN IP | |||
|destination NAT | |||
|Any Public IP | |||
|Server LAN IP | |||
|- | |||
|Any LAN IP | |||
|Router WAN IP | |||
|destination NAT | |||
|Any LAN IP | |||
|Server LAN IP | |||
|- | |||
|Any LAN IP | |||
|Server LAN IP | |||
|source masquerade NAT | |||
|Router LAN IP | |||
|Server LAN IP | |||
|} | |||
Ez esetben sem a szerver, sem a kliens számára nem ismert, hogy valójában egy hálózatban vannak. | |||
Nagy forgalom esetében hátrány lehet, hogy a kommunikáció teljes mértékben a routeren keresztül zajlik. Ez esetben a maszkolt DNS megoldást kell választani, vagy a router kapacitását növelni. | |||
További probléma, hogy SOHO eszközökön jellemzően nem állíthatóak be ilyen szofisztikáltan a NAT szabályok. Kiépítés / konfigurálás előtt tájékozódni kell, hogy a destination NAT / source NAt szabályok milyen részletességel állíthatóak be, vagy hogy a NAT loopback-et kezeli e automatikusan a hálózati eszköz. | |||
A lap 2020. október 31., 18:52-kori változata
Összefoglalás
A NAT loopback (más neveken: NAT reflection, NAT hairpinning) a hálózati címfordításnak (NAT) egy speciális esete.
HA egy szolgáltatás egy magán hálózatban van, publikus címe nincs, de a címfordítást végző routeren be van állítva egy destination NAT (IP/port forward) a szolgáltatás magán hálózati címére, akkor az a szolgáltatás a router publikus címén elérhető a publikus hálózat (internet) felől.
A NAT loopback akkor fordul elő, amikor ugyanabból a magánhálózatból egy kliens el szeretné érni a szolgáltatást a (router) publikus címén.
Probléma
Publikus irányból minden megfelelően működik. Egy távoli kliens a router WAN IP címét használja cél IP címkén, ha el akarja érni a szolgáltatást. A router a destinaion NAT szabályának megfelelően a csomagban kicseréli a cél IP címet a szerver LAN IP címére és továbbítja a csomagot. A szerver mindebből semmit sem érzékel: egy publikus IP címről megszólították és ennek is fog válaszolni. A válasz csomagban a router visszacseréli immár a feladó IP címet a WAN IP címére. Tehát publikus irányból a szolgáltatás elérhető lesz annak ellenére, hogy a szervernek magán hálózati IP címe van, ami publikus irányból nem elérhető.
| source
forrás |
destination
cél |
action
művelet |
source
forrás |
destination
cél |
|---|---|---|---|---|
| Any Public IP | Router WAN IP | destination NAT | Any Public IP | Server LAN IP |
| Client LAN IP | Router WAN IP | destination NAT | Client LAN IP | Server LAN IP |
A NAT loopback probléma akkor jelentkezik, amikor egy belső, magán hálózati címmel rendelkező klens szeretné elérni a szoláltatás a publikus IP címen. A destinaion NAT ekkor is működik és a szerverhez eljut a csomag, de az, mivel a ugyanabból a magánhálózati tartományból való, nem a routernek (default gateway) fogja küldeni a választ, hanem direktben a vele egy hálózatban lévő kliensnek. Viszont a kliens ezt nem tudja értelmezni, hiszen ő egy publikus IP címmel kezdeményezett kommunikációt, amire egy (számára ismeretlen) alhálózati címről kapott választ, ezért ezt a választ eldobja. A kommunikáció nem jön létre.
Megoldás
Maszkolt (split) DNS
Egyik módszer, ha mi üzemeltetjük a szolgáltatáshoz tartozó névszervert és az valamilyen módon közvetlenül elérhető a magán hálózatból. Ez esetben maszkoni tudjuk a domain zónát, azaz a névszerver más IP címet fog feloldani publikus irányba (A router WAN IP címét) és mást a magán hálózati irányba (a szerver LAN IP címét). Így a magánhálózati forgalom a szerver irányába nem is érinti a routert, helyben beszélgetnek a szerver és a kliensek, míg az internet felől is elérhető szolgáltatás, hiszen a távoli kliensek a publikus IP címet használják.
Ha nincs lehetőségünk névszervert konfigurálni, vagy IP alapon használjuk a szolgáltatást és nem is használunk DNS-t, akkor ez a módszer nem használható.
Source NAT
Ha tisztán routing alapon kell megoldani a problémát, akkor az a megoldás, hogy a magán hálózati irányból fel kell venni egy source masquerade NAT szabályt is. Ez a source NAT egy speciális esete, amikor minden forrás IP címet kicserél a router, azaz jelen példánkban minden magán hálózati IP cím számára elérhető lesz a szolgáltatás. A szerver azt fogja érzékelni, hogy a router kezdeményezi vele a kapcsolatot (minden kliens esetében), így az annak is válaszol. Ezután a router a válasz csomagban a cél IP címet is visszacseréli és a kommunikáció teljes lesz.
| source
forrás |
destination
cél |
action
művelet |
source
forrás |
destination
cél |
|---|---|---|---|---|
| Any Public IP | Router WAN IP | destination NAT | Any Public IP | Server LAN IP |
| Any LAN IP | Router WAN IP | destination NAT | Any LAN IP | Server LAN IP |
| Any LAN IP | Server LAN IP | source masquerade NAT | Router LAN IP | Server LAN IP |
Ez esetben sem a szerver, sem a kliens számára nem ismert, hogy valójában egy hálózatban vannak.
Nagy forgalom esetében hátrány lehet, hogy a kommunikáció teljes mértékben a routeren keresztül zajlik. Ez esetben a maszkolt DNS megoldást kell választani, vagy a router kapacitását növelni.
További probléma, hogy SOHO eszközökön jellemzően nem állíthatóak be ilyen szofisztikáltan a NAT szabályok. Kiépítés / konfigurálás előtt tájékozódni kell, hogy a destination NAT / source NAt szabályok milyen részletességel állíthatóak be, vagy hogy a NAT loopback-et kezeli e automatikusan a hálózati eszköz.

