Perché non più organizzazioni utilizzano NAT interno-interno o soluzioni simili per consentire forcine NAT?


22

Il NAT back-to-inside alias noto anche come NAT loopback risolve i problemi NAT della forcina quando si accede a un server Web sull'interfaccia esterna di un ASA o un dispositivo simile dai computer sull'interfaccia interna. Ciò impedisce agli amministratori DNS di mantenere una zona DNS interna duplicata con gli indirizzi RFC1918 corrispondenti per i loro server che sono NATted verso indirizzi pubblici. Non sono un ingegnere di rete, quindi potrei mancare qualcosa, ma questo sembra un gioco da ragazzi da configurare e implementare. Il routing asimmetrico può essere un problema ma è facilmente mitigabile.

Nella mia esperienza, gli amministratori / ingegneri di rete preferiscono che le persone dei sistemi eseguano split-dns piuttosto che configurare i firewall per gestire correttamente le forcine NAT. Perchè è questo?


Forse perché le visualizzazioni DNS sono più facili da risolvere?
Nick

2
Forse, ma quando si utilizza DNS su controller di dominio AD (uno scenario comune) non esistono visualizzazioni.
MDMarra,

2
Perché dovresti pubblicare la tua zona AD su Internet? Se il tuo annuncio è ad.example.comsimile o simile (come dovrebbe essere!), Questo problema esisterà per tutte le example.comvoci DNS pubbliche e nulla di interno verrà pubblicato esternamente. Ovviamente, se hai assegnato ad AD lo stesso nome della tua presenza pubblica, devi utilizzare split-DNS, ma non è una progettazione di best practice AD.
MDMarra,

5
Aggiungerei che le viste DNS sono più facili da risolvere se i client non si spostano mai tra di loro . Le cose possono andare stranamente storto quando i clienti prendono un risultato interno memorizzato nella cache all'esterno.
LapTop006,

3
I client non dovrebbero memorizzare nella cache le risposte DNS, ecco a cosa servono i server DNS . So che Windows è molto appassionato di cache silenziosa (e mortale), ma questa è una delle molte ragioni per cui ritengo che non sia adatto all'uso in produzione.
MadHatter supporta Monica

Risposte:


11

Ci sono alcuni motivi per cui non lo farei:

  • Perché mettere a dura prova i router e il firewall DMZ se non è necessario? La maggior parte dei nostri servizi interni non si trova nella DMZ ma nell'area aziendale generale, con servizi di proxy nella DMZ per l'accesso remoto occasionale. Fare nat da dentro a dentro aggiunge più carico alla DMZ, che nel nostro caso sarebbe significativo.
  • Se non si esegue DNAT + SNAT, si otterrà il routing asimmettrico, che è notoriamente difficile da ottenere. Quindi SNAT e perdi informazioni IP di origine. Tuttavia, è dannatamente utile collegare gli IP di origine alle persone per la risoluzione dei problemi. O di tanto in tanto a scoccare scopi in caso di stupidità. "Ehi, questo IP sta facendo qualcosa di strano sul servizio non autenticato X" "Oh, guardiamo nei registri del server imap chi è".

2
Solo una nota, se il tuo firewall sta eseguendo il routing L3 e hai i tuoi percorsi per i tuoi client esterni e interni fai un salto nel firewall, non dovresti preoccuparti del routing asimmetrico, giusto?
MDMarra,

12

Ovviamente, non ci può essere la risposta definitiva per questo, ma potrei pensare a una serie di motivi:

  1. Eleganza: NAT non è molto elegante all'inizio, ma una necessità con lo spazio di indirizzi limitato di IPv4. Se posso evitare il NAT, lo farò. Con IPv6 il problema si risolve in ogni caso.
  2. Complessità: specialmente nel caso in cui non si disponga di un solo router "core" che crei tutti i limiti di sicurezza, le configurazioni dei filtri possono diventare piuttosto complicate. O quello o dovresti diffondere e mantenere le regole NAT su quasi tutti i tuoi dispositivi router.
  3. Riferimento: ovunque gli amministratori del firewall siano persone diverse rispetto al resto del team di amministrazione del server, potrebbero essere difficili da raggiungere. Al fine di garantire che le modifiche non vengano ritardate dal backlog (o dalle ferie) dell'amministratore del firewall, viene scelta l'opzione per mantenere la responsabilità nello stesso team
  4. Portabilità e pratica comune: l'uso delle viste DNS è "la cosa che tutti sanno è fatto" per risolvere questo problema. Non tutti i router di confine supportano il NAT di loopback in modo semplice, meno persone probabilmente sapranno come configurarlo correttamente nel proprio ambiente specifico. Durante la risoluzione dei problemi di rete, l'equipaggio dovrebbe essere consapevole della configurazione NAT della forcina e di tutte le sue implicazioni, anche quando inseguono un problema apparentemente non correlato

1
1. In questa situazione viene comunque utilizzato NAT. Questo non sta aggiungendo NAT dove prima non c'era NAT. 2. Nel mio esempio, sono tutti gestiti dallo stesso dispositivo o cluster di dispositivi. 4. Come indicato nel mio commento sopra, uno scenario molto comune è l'utilizzo interno di controller di dominio AD per DNS. Il DNS di Windows non supporta le visualizzazioni. Inoltre, ho scoperto che i firmware router / firewall in qualche modo moderni supportano il hairpinning NAT in un modo o nell'altro.
MDMarra,

1
@MDMarra alcune osservazioni: 1. - "Ci sarebbe una stranezza NAT in meno di cui preoccuparsi" è ciò che intendevo sostanzialmente, 2. - La tua domanda non lo dice esplicitamente, ma con un solo router sarà ovviamente più facile da gestire , 4. con DNS interno in atto che è obbligatorio per tutti i client, non hai bisogno di visualizzazioni - creeresti semplicemente una zona interna e otterresti lo stesso effetto che hai menzionato nella tua domanda, il ragionamento sopra ancora ancora applicabile.
the-wabbit,

1
Che stranezza NAT, però? Quale comportamento specifico introdurrebbe ciò che causa problemi? Ho lavorato in un'università in cui il tornante NAT era configurato su un cluster Netscreen per oltre 100 host esterni e non abbiamo mai avuto problemi.
MDMarra,

Si noti inoltre che l'utilizzo di NAT a forcina in questo scenario lo sta effettivamente facendo sembrare più simile alla soluzione IPv6, poiché in IPv6 il sistema avrà un indirizzo raggiungibile a livello globale; tornante NAT simula quel comportamento.
Paul Gear,

@MDMarra la "stranezza NAT" più eccezionale per il caso "forcina NAT" sarebbe il percorso di routing non ottimale, il che significa che i pacchetti riscritti dovrebbero percorrere la maggior parte del percorso di ritorno. Vedere questo in un dump di pacchetti quando la risoluzione dei problemi di connettività è al massimo fonte di confusione. Credo che altri abbiano già menzionato il problema del routing asimmetrico nelle loro risposte, che è correlato. Non c'è dubbio che puoi farlo funzionare bene. Ma non vale la pena nella maggior parte dei casi IMO.
the-wabbit,

7

Disclaimer - questa è una risposta esca di fiamma.

Un motivo comune per cui penso che soluzioni come questa siano evitate è una paura / odio irrazionale per il NAT da parte degli ingegneri di rete . Se vuoi vedere alcuni esempi di discussione su questo, dai un'occhiata a questi:

Da quello che posso dire, gran parte di questa paura deriva dalle cattive implementazioni di Cisco del NAT (quindi in questo senso potrebbe non essere irrazionale), ma a mio avviso il "classico" ingegnere di rete è così ben educato nel "NAT è cattiva "visione del mondo, che non può vedere esempi ovvi come questo in cui ha perfettamente senso e semplifica effettivamente la soluzione.

Ecco fatto: riduci il voto al tuo cuore! :-)


1
Non so se lo considererei una paura irrazionale. L'esperienza mi ha insegnato che NAT può rompere o fare cose strane con un sacco di cose.

1
@Kce Ma se stai già utilizzando NAT sulla tua interfaccia esterna, che differenza fa la configurazione del loopback NAT?
MDMarra,

@MDMarra - Nessuno davvero. Stavo facendo il punto piuttosto pedante che a volte il timore del team di servizi di rete per NAT non è irrazionale.

Non ho paura del NAT, lo odio.
Michael Hampton

1
Post modificato per includere l'odio. :-)
Paul Gear

3

La mia ipotesi è:

  1. Il DNS diviso è più facilmente comprensibile.
  2. NAT Hairpin utilizza risorse sul router mentre split-dns no.
  3. I router potrebbero avere limiti di larghezza di banda che non è possibile ottenere attraverso un'installazione split-dns.
  4. Split-dns avrà sempre prestazioni migliori quando si evita un routing / passi NAT.

Tra i lati positivi per NAT tornante,

  • Una volta installato, funziona.
  • Nessun problema con le cache DNS per laptop spostate tra la rete di lavoro e Internet pubblico.
  • Il DNS per un server è gestito in un solo posto.

Per una piccola rete con bassi requisiti di traffico verso un server interno andrei con NAT tornante. Per una rete più ampia con molte connessioni al server e in cui larghezza di banda e latenza sono importanti, utilizzare split-dns.


2

Dal mio punto di vista, questo è cambiato un po 'tra la transizione da Cisco Pix ad ASA. Ho perso il aliascomando. E in generale, l'accesso all'indirizzo esterno dall'interfaccia interna su un firewall Cisco richiede una sorta di trucco. Vedi: Come posso raggiungere il mio server interno sull'IP esterno?

Tuttavia, non è sempre necessario mantenere una zona DNS interna duplicata. Cisco ASA può reindirizzare le query DNS per indirizzi esterni a indirizzi interni se configurato sull'istruzione NAT. Ma preferisco mantenere una zona interna per la zona DNS pubblica per avere quella granularità ed essere in grado di gestirla in un posto piuttosto che passare al firewall.

In genere, ci sono solo pochi server che possono richiedere questo all'interno di un ambiente (posta, web, alcuni servizi pubblici), quindi non è stato un problema tremendo.


È ingannevole se supportato e documentato da Cisco ? Certo, è un po 'più di lavoro, ma lo rende complicato o confuso?
MDMarra,

Trucchi, in quanto le persone non lo sanno / non si aspettano / ci pensano se non sono già a conoscenza. È una domanda comune: come posso raggiungere un IP esterno dall'interno del mio firewall Cisco .
ewwhite,

Typically, there are only a few servers that may require this within an environmentforse in alcuni luoghi, ma ho lavorato in un'università con oltre 100 server / dispositivi in ​​una DMZ e ho anche lavorato presso un fornitore di test / certificazione con oltre 40 server distribuiti su tre DMZ. Per le aziende più piccole potresti avere solo uno o due server esposti all'esterno, ma questo non è necessariamente il caso di tutti.
MDMarra,

Se i server sono in una DMZ, questo è meno un problema, giusto?
ewwhite,

In questo caso "DMZ" significa connesso all'inferface esterno di detto firewall con regole di rifiuto predefinite tra le zone in atto.
MDMarra,

2

Mi vengono in mente alcuni motivi:

  1. Molte organizzazioni hanno già diviso il DNS per non voler pubblicare tutte le loro informazioni DNS interne nel mondo, quindi non è un ulteriore sforzo per gestire i pochi server esposti anche tramite un IP pubblico.
  2. Man mano che l'organizzazione e la sua rete diventano più grandi, spesso separano i sistemi che servono le persone interne dai server che servono gli esterni, quindi il routing a quelli esterni per l'uso interno può essere un percorso di rete molto più lungo.
  3. Meno modifiche apportano ai pacchetti i dispositivi intermedi, migliore è quando si tratta di latenza, tempo di risposta, carico del dispositivo e risoluzione dei problemi.
  4. (molto minore, è vero) Esistono protocolli che NAT continuerà a rompersi se il dispositivo NATing non va oltre le intestazioni del pacchetto e modifica i dati in esso con i nuovi indirizzi IP. Anche se è solo un caso di memoria istituzionale, è ancora un motivo valido per evitarlo, specialmente se si tratta di un protocollo di cui non sono sicuri al 100%.

0

Se avessi intenzione di utilizzare il loopback NAT sarei un po 'preoccupato di come il dispositivo NAT gestirà gli indirizzi sorgente falsificati. Se non controlla quale interfaccia ha ricevuto il pacchetto, allora potrei falsificare gli indirizzi interni dalla WAN e inviare pacchetti al server con indirizzi interni. Non sono riuscito a ottenere risposte, ma potrei essere in grado di compromettere il server utilizzando un indirizzo interno.

Vorrei impostare il loopback NAT, collegarlo allo switch DMZ e inviare i pacchetti con indirizzi sorgente interni falsificati. Controllare il registro del server per vedere se sono stati ricevuti. Poi andrei al bar a vedere se il mio ISP sta bloccando gli indirizzi contraffatti. Se trovassi che il mio router NAT non stava controllando l'interfaccia di origine, probabilmente non avrei usato il loopback NAT anche se il mio ISP stava controllando.


Siamo spiacenti, potrei fraintendere quello che stai dicendo, ma gli indirizzi RFC1918 non vengono instradati su Internet, quindi non vedo cosa farà il tentativo di falsificarli attraverso la WAN. Non faranno nemmeno il primo salto.
MDMarra,

L'indirizzo di destinazione è l'indirizzo pubblico del NAT sulla porta mappata sul server. L'indirizzo di origine è uno degli indirizzi IP privati ​​all'interno del NAT. Gli indirizzi di origine non vengono utilizzati nel routing e non vengono controllati da tutti i router pubblici. L'unica differenza rispetto a una query interna legittima è che il pacchetto proviene dalla WAN.
Kent England,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.