Openvpn pour client / serveur dans le même sous-réseau

8

J'essaie d'ouvrir OpenVPN dans un réseau de bureau (192.168.1.0/24) à partir d'un client assis sur un réseau avec le même sous-réseau (également 192.168.1.0/24). Il s'agit d'un serveur Linux (Ubuntu 9.10) et d'un client Windows.

J'ai suivi ce guide de documentation de la communauté ubuntu openvpn et d'après ce que je peux dire, la connexion de base fonctionne bien. Bien sûr, je reçois un tas d'erreurs / avertissements sur les collisions d'adresses IP.

J'essayais alors de suivre ce guide sur «Dirty NAT tricks pour faire fonctionner un VPN avec des clients également numérotés dans l'espace d'adressage privé» mais sans succès. Bien que j'ai une compréhension théorique du routage / masquage, j'ai relativement peu d'expérience pratique et je ne sais pas ce qui ne va pas.

Jusqu'à présent, je suis arrivé au point où le client se connecte au serveur et se voit attribuer une IP 10.22.8.10. Cependant je ne peux pas cingler le serveur IP 10.22.8.1 comme la documentation suggère que je devrais pouvoir.

La configuration du serveur est fondamentalement identique au guide 1 avec les modifications du guide 2 , c'est-à-dire en définissant la «passerelle de serveur 10.22.8.1 255.255.255.0 10.22.8.10 10.22.8.120» et la route «push» 10.22.0.0 255.255.0.0 10.22.8.1 "'. De plus, j'ajoute les commandes de configuration de l'interface du robinet à up.sh.

La configuration client reste la même que celle du guide 1 .

Serveur 'ifconfig tap0' (modifier: désolé si cela semble vissé. Dans le volet d'aperçu de l'édition de ce message, il semble bien)

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 Portée: Link UP BROADCAST RUNNING PROMISC MULTICAST MTU: 1500 Métrique: 1 paquets RX: 610 erreurs: 0 abandonnés: 0 dépassements: 0 trame: 0 paquets TX: 4533 erreurs: 0 abandonnés: 0 dépassements: 0 porteuse: 0 collisions: 0 txqueuelenen: 100 Octets RX: 111341 (111,3 Ko) Octets TX: 650830 (650,8 Ko)

La connexion de connexion 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

L'itinéraire client semble être poussé ok (impression d'itinéraire):

  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
    ...

Cependant, lorsque j'essaie d'accéder à 10.22.8.1, il semble toujours vouloir sauter de ma connexion 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.

Quelqu'un peut-il me dire ce que je fais mal (ou alternativement, s'il existe un moyen facile et plus tenable de faire ce que je veux - notez que selon la solution n ° 1 du guide 2 , renommer l'un ou l'autre des sous-réseaux n'est pas possible)

fostandy
la source
Je pense que c'est une question très intéressante, et cela ne me dérangerait pas d'essayer de la reproduire - même si je pense que cela pourrait être un peu problématique pour moi de créer ce scénario. Sur la base de votre route print, vous utilisez autre chose que XP - Windows Vista ou 7, peut-être? Pouvez-vous me le faire savoir afin que je puisse créer la machine virtuelle appropriée pour les tests?
fission
@fission: J'utilise Windows 7. Si vous êtes intéressé, je peux probablement l'essayer sur une machine Windows XP. Faites-moi savoir si vous souhaitez plus d'informations.
fostandy

Réponses:

3

Votre valeur de métrique d'itinéraire par défaut est inférieure à l'itinéraire 10.22.0.0/16 et elle est acheminée vers l'itinéraire par défaut. Dans la résolution des itinéraires, si plusieurs itinéraires correspondent à la destination, l'itinéraire de valeur métrique inférieure a priorité.

Soit pousser une route par défaut via VPN ou une métrique inférieure pour 10.22.0.0/16 (augmenter la métrique pour la route par défaut).

Ça devrait ressembler à ça:

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
Konrads
la source
1

Ce que vous devez faire, c'est supprimer la route par défaut et ajouter une route spécifique uniquement à votre serveur VPN et la marquer comme disponible via votre routeur local.

Donc, vous devriez avoir 3 itinéraires:

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
Hubert Kario
la source