Openvpn per client / server nella stessa sottorete


8

Sto provando ad aprire VPN in una rete dell'ufficio (192.168.1.0/24) da un client seduto su una rete con la stessa sottorete (anche 192.168.1.0/24). È un server Linux (Ubuntu 9.10) e un client Windows.

Ho seguito questa guida alla documentazione della comunità di Ubuntu openvpn e da quello che posso dire la connessione di base funziona bene. Ovviamente ricevo un sacco di errori / avvisi sulle collisioni di indirizzi IP.

Stavo quindi cercando di seguire questa guida su "Trucchi NAT sporchi per far funzionare una VPN con client anche numerati nello spazio degli indirizzi privati" ma non hanno avuto successo. Mentre ho una comprensione teorica del routing / masquerading, ho relativamente poca esperienza pratica e non sono sicuro di ciò che è sbagliato.

Finora sono arrivato al punto in cui il client si collega al server e mi viene assegnato un IP 10.22.8.10. Tuttavia, non riesco a eseguire il ping del server ip 10.22.8.1 come la documentazione suggerisce che dovrei essere in grado di fare.

La configurazione del server è sostanzialmente identica alla guida 1 con le modifiche dalla guida 2 , ovvero l'impostazione del percorso 'server-bridge 10.22.8.1 255.255.255.0 10.22.8.10 10.22.8.120' e 'push "10.22.0.0 255.255.0.0 10.22.8.1 "'. Inoltre aggiungo i comandi di configurazione dell'interfaccia di tocco a up.sh.

La configurazione del client rimane la stessa della guida 1 .

Server 'ifconfig tap0' (modifica: scusate se sembra complicato. Nel riquadro di anteprima della modifica di questo post sembra a posto)

tap0 Link encap: Ethernet HWaddr ee: ee: a8: 04: 8a: fc inet addr: 10.22.8.1 Bcast: 0.0.0.0 Mask: 255.255.255.0 inet6 addr: fe80 :: ecee: a8ff: fe04: 8afc / 64 Ambito: Link UP BROADCAST RUNNING PROMISC MULTICAST MTU: 1500 Metrico: 1 pacchetti RX: 610 errori: 0 rilasciati: 0 sovraccarichi: 0 frame: 0 Pacchetti TX: 4533 errori: 0 rilasciati: 0 sovraccarichi: 0 portatore: 0 collisioni: 0 txqueuelen: 100 Byte RX: 111341 (111,3 KB) Byte TX: 650830 (650,8 KB)

La connessione di accesso client:

  Mon Mar 01 00:30:13 2010 OpenVPN 2.1.1 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Dec 11 2009  
    Mon Mar 01 00:30:13 2010 WARNING: No server certificate verification method has been enabled.  See URL-REDACTED for more info.
    Mon Mar 01 00:30:13 2010 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
    Mon Mar 01 00:30:13 2010 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
    Mon Mar 01 00:30:13 2010 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:13 2010 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:13 2010 LZO compression initialized
    Mon Mar 01 00:30:13 2010 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
    Mon Mar 01 00:30:13 2010 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
    Mon Mar 01 00:30:13 2010 Local Options hash (VER=V4): '13a273ba'
    Mon Mar 01 00:30:13 2010 Expected Remote Options hash (VER=V4): '360696c5'
    Mon Mar 01 00:30:13 2010 Socket Buffers: R=[8192->8192] S=[8192->8192]
    Mon Mar 01 00:30:13 2010 UDPv4 link local: [undef]
    Mon Mar 01 00:30:13 2010 UDPv4 link remote: REDACTED:1194
    Mon Mar 01 00:30:13 2010 TLS: Initial packet from REDACTED:1194, sid=11055cf2 cc0d1ea0
    Mon Mar 01 00:30:14 2010 VERIFY OK: depth=1, REDACTED
    Mon Mar 01 00:30:14 2010 VERIFY OK: depth=0, REDACTED
    Mon Mar 01 00:30:14 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 00:30:14 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:14 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 00:30:14 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:14 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
    Mon Mar 01 00:30:14 2010 [server] Peer Connection Initiated with REDACTED:1194
    Mon Mar 01 00:30:17 2010 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
    Mon Mar 01 00:30:17 2010 PUSH: Received control message: 'PUSH_REPLY,route 10.22.0.0 255.255.0.0 10.22.8.1,route-gateway 10.22.8.1,ping 10,ping-restart 120,ifconfig 10.22.8.10 255.255.255.0'
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: timers and/or timeouts modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: --ifconfig/up options modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: route options modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: route-related options modified
    Mon Mar 01 00:30:17 2010 ROUTE default_gateway=192.168.1.254
    Mon Mar 01 00:30:17 2010 TAP-WIN32 device [Local Area Connection 2] opened: \\.\Global\{7464875E-98E9-46AF-8F86-69FF32FFB722}.tap
    Mon Mar 01 00:30:17 2010 TAP-Win32 Driver Version 9.6 
    Mon Mar 01 00:30:17 2010 TAP-Win32 MTU=1500
    Mon Mar 01 00:30:17 2010 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.22.8.10/255.255.255.0 on interface {7464875E-98E9-46AF-8F86-69FF32FFB722} [DHCP-serv: 10.22.8.0, lease-time: 31536000]
    Mon Mar 01 00:30:17 2010 Successful ARP Flush on interface [33] {7464875E-98E9-46AF-8F86-69FF32FFB722}
    Mon Mar 01 00:30:22 2010 TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up
    Mon Mar 01 00:30:22 2010 C:\WINDOWS\system32\route.exe ADD 10.22.0.0 MASK 255.255.0.0 10.22.8.1
    Mon Mar 01 00:30:22 2010 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
    Mon Mar 01 00:30:22 2010 Route addition via IPAPI succeeded [adaptive]
    Mon Mar 01 00:30:22 2010 Initialization Sequence Completed
    Mon Mar 01 01:30:14 2010 TLS: soft reset sec=0 bytes=648728/0 pkts=3922/0
    Mon Mar 01 01:30:14 2010 VERIFY OK: depth=1, REDACTED
    Mon Mar 01 01:30:14 2010 VERIFY OK: depth=0, REDACTED
    Mon Mar 01 01:30:15 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 01:30:15 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 01:30:15 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 01:30:15 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 01:30:15 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA

La route del client sembra spinta (route route):

  Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.23     25
        10.22.0.0      255.255.0.0        10.22.8.1       10.22.8.10     30
        10.22.8.0    255.255.255.0         On-link        10.22.8.10    286
       10.22.8.10  255.255.255.255         On-link        10.22.8.10    286
      10.22.8.255  255.255.255.255         On-link        10.22.8.10    286
    ...

Tuttavia, quando provo ad arrivare a 10.22.8.1 sembra ancora voler uscire dalla mia connessione Internet locale:

  C:\Windows\system32>tracert 10.22.8.1
    Tracing route to 10.22.8.1 over a maximum of 30 hops
      1     1 ms     1 ms     1 ms  home.gateway [192.168.1.254]
      2  nexthop.qld.iinet.net.au [203.55.228.88]  reports: Destination net unreachable.

Qualcuno mi può consigliare su ciò che sto facendo di sbagliato (o in alternativa, se esiste un modo più semplice e sostenibile per fare ciò che voglio - notare che, come per la soluzione n. 1 nella guida 2 , non è possibile rinominare una sottorete)


Penso che questa sia una domanda molto interessante e non mi dispiacerebbe provare a replicarla, anche se penso che potrebbe essere un po 'problematico per me creare questo scenario. In base al tuo route print, stai usando qualcosa di diverso da XP - Windows Vista o 7, forse? Puoi farmi sapere in modo da poter creare la macchina virtuale appropriata per i test?
fissione

@fissione: sto usando Windows 7. Se sei interessato, probabilmente posso provarlo su un computer Windows XP. Fammi sapere se vuoi ulteriori informazioni.
Fostandy,

Risposte:


3

Il valore della metrica della route predefinita è inferiore alla route 10.22.0.0/16 e viene instradato sulla route predefinita. Nel risolvere i percorsi, se più di un percorso corrisponde alla destinazione, la route con valore di metrica inferiore ha la precedenza.

Inserire una route predefinita tramite VPN o una metrica inferiore per 10.22.0.0/16 (aumentare la metrica per la route predefinita).

Dovrebbe sembrare come questo:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
      0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.23    1000
    10.22.0.0      255.255.0.0        10.22.8.1       10.22.8.10     30
    10.22.8.0    255.255.255.0         On-link        10.22.8.10    286
   10.22.8.10  255.255.255.255         On-link        10.22.8.10    286
  10.22.8.255  255.255.255.255         On-link        10.22.8.10    286

1

Quello che devi fare è rimuovere la route predefinita e aggiungere una route specifica solo al tuo server VPN e contrassegnarla come disponibile tramite il router locale.

Quindi, dovresti avere 3 percorsi:

vpn.example.com 255.255.255.255 gw 192.168.1.254
192.168.1.0 255.255.255.0 gw 10.22.8.1
0.0.0.0 0.0.0.0 gw 10.22.8.1
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.