Come configurare NAT in Windows Server 2008 r2 per l'uso del tunnel IPSec


0

Sto avendo problemi a configurare l'intera cosa del tunnel IPSec.

Quello che ho:
1. Router con funzionalità passthrough VPN / IPsec (IP 192.168.0.1)
2. Windows Server 2008 R2 con criteri di gruppo impostati per il tunnel IPSec. (Server IP 192.168.0.2; gw 192.168.0.1)
3. La macchina Linux ha un'applicazione (IP 192.168.0.3; gw 192.168.0.2)

L'altra estremità del tunnel IPSec si trova in un'altra posizione tramite Internet.

L'azienda all'altra estremità del tunnel mi ha detto che devo avere IP 10.100.101.102 come ip sorgente per tutti i miei pacchetti che entrano nel tunnel IPSec dalla macchina Linux.

Quindi l'idea è:
1. Linux forma un pacchetto e invia al PC di destinazione (111.222.333.444) su una porta specifica. Quindi src = 192.168.0.3; dst = 111.222.333.444
2. Il pacchetto viaggia verso il server Windows.
3. Il server prende il pacchetto e cambia src in src = 10.100.101.102 lasciando il dst lo stesso.
4. Il server crittografa il pacchetto utilizzando le opzioni IPSec e lo invia all'endpoint remoto attraverso il router.
5. [azioni sull'endpoint remoto]
6. Il server Windows riceve la risposta e la decrittografa.
7. Cambia il dst (10.100.101.102) nel dst locale = 192.168.0.3.
8. Invia il pacchetto a Linux e all'applicazione.

Come posso ottenere tutto questo? Non riesco a capire come funziona NAT su Windows Server. L'ho configurato su 'routing e accesso remoto' ma non ho visto alcuna opzione per specificare quale IP sorgente e porta con pacchetti devono essere modificati per avere il 10.100.101.102 come src.

Risposte:


1

avresti bisogno di risposte precise alle seguenti domande prima di poter procedere:

  1. puoi eseguire il ping del router dalla casella Linux?

  2. se puoi, puoi traceroute dalla casella Linux al router? dalle domande di cui sopra, voglio assicurarmi che un. il tuo traffico va effettivamente alla finestra di Windows e poi al router, non direttamente al router. il tracert te lo dirà di sicuro. b. la tua infrastruttura di routing interna funziona correttamente.

  3. qual è l'indirizzo IP del dispositivo IPsec dell'azienda? I tunnel IPsec sono abbastanza statici e non è possibile configurarli utilizzando nomi DNS o così, quindi è necessario conoscere l'indirizzo del punto finale remoto IPsec.

  4. l'altro endpoint supporta IPsec Nat-Traverse (NAT-T)? se non possono dirti questo di sicuro, chiedi loro la marca e il modello di quel dispositivo endpoint e, se possibile, la versione del software / firmware e cerca tali informazioni.

da quello che ci stai dicendo sopra, sembra che per prima cosa devi ottenere il routing interno giusto, dato che il router invierà il traffico direttamente a Linux e lo ricaverà anche da esso, senza nemmeno lasciare che le finestre entrino nel gioco; a meno che non si scherzi manualmente con le tabelle di routing su tutte e 3 le caselle, TUTTE le 3 (beh, forse non le finestre se si è configurato RRAS su di esso ma anche quelle che devono essere controllate), o si usano diverse sottoreti per diversi seagments; ad esempio 192.168.0.1 per il router, 192.168.0.2 per Windows, un altro IP come 192.168.1.1 per Windows e 192.168.1.3 per Linux. A proposito, se segui questo secondo approccio, assicurati che il router conosca anche la seconda sottorete, inserendo un percorso verso la rete 192.168.1.x tramite 192.168.0.2 (l'IP di Windows nello stesso intervallo del IP del router).

dopo aver ottenuto tutto il c..p in alto a destra, ora puoi iniziare a lavorare con la cosa reale! è questo che succede:

chiamiamo l'IP sul linIP LinIP

chiamiamo l'IP delle finestre su Linux Seaection WinIPL

chiamiamo l'IP delle finestre sul WinIPR del router (se hai scelto l'approccio manuale di manipolazione della tabella di routing sopra, i due WinIP saranno gli stessi)

chiamiamo l'IP del router sul lato interno RoutIPint

chiamiamo l'IP del router sul lato pubblico (l'IP fornito dall'ISP) RoutIPext.

chiamiamo IP endec remoto IP, RemTunIP.

chiamiamo l'IP della risorsa che stai cercando di raggiungere dall'altra azienda dietro il tunnel RemResIP.

quando il tuo linux genera un pacchetto, pone LinIP come sorgente e RemResIP come dest; Dà quello al Windows Box attraverso l'IP WinIPL.

Windows Box, se impostato correttamente, inserirà quel pacchetto (incluso l'intestazione IP sopra menzionata) in un altro pacchetto, posizionerà WinIPR come sorgente, RemTunIP come dest, DIGIPLESSY SIGNS WinIPR e RemTunIP e lo consegnerà al router

i NAT del router che hanno firmato i pacchetti su RoutIPext e RemTunIP. qui è uno dei molti posti in cui questa catena può essere incasinata quando il SIGNATURE viene violato e il pacchetto viene invalidato A MENO che la tua finestra di Windows e l'altro punto di arrivo IPsec dell'azienda siano sensibili alla NAT; alias hanno attivato NAT-T. usa questo articolo kb da microsoft per abilitare Nat-T sulla tua finestra di Windows (potrebbe sembrare che sia per la VPN a prima vista, ma è una configurazione IPsec generale quindi fa il lavoro): http://support.microsoft.com/kb/926179 se il dispositivo IPsec della tua azienda remota è anche dietro il NAT, inserisci 2; in caso contrario o se l'altra azienda non supporta Nat-T (il che implica che non stanno NATANDO il proprio traffico IPsec in effetti), inserire 1.

quando il dispositivo Ipsec remoto ha preso il pacchetto (FINALMENTE!), sarebbe sotto forma di RoutIPext e RemTunIP. usando Nat-T estrarrà il pacchetto con WinIPR e RemTunIP, usando la decodifica IPsec che estrae il pacchetto con LinIP e RemResIP, lo instrada di conseguenza e lo consegna alla risorsa che il tuo linux stava cercando di raggiungere.

quindi devi avere:

un. ufficio remoto reso consapevole della tua subnet linux locale

b. imposta la politica di IPsec sulle tue finestre per formare il tunnel con WinIPR e RemTunIP non altro.

c. avere la politica di corrispondenza di RemTunIP e installazione di WinIPR sul sito remoto.

d. avere il passthrough abilitato sul tuo router.

e. ho passato le pre-richieste come ho detto prima della parte IPsec sopra (tracert e subnetting e roba)

!!! COSÌ NON È TRIVALE A TUTTI !!!

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.