OpenVPN et problème de "gateway-redirect" - réseaux et sécurité - Linux et OS Alternatifs
MarshPosté le 31-05-2007 à 15:45:53
Bonjour à tous.
Voilà, j'ai installé un serveur OpenVPN sur Linux. Tout fonctionnait bien et à l'heure actuelle tout fonctionne bien... A peu de chose près. Voilà mon installation est pour l'instant très simple, j'ai un client, un serveur, et entre deux deux ou trois routeurs qui ne font rien d'autre que router (jusque là tout va bien smile ).
le soucis que j'ai à l'heure actuelle est celui-ci. Je voudrais que toutes les communications de mon client passe par le VPN vers mon serveur VPN, qui lui relayera vers l'Internet par derrière. Donc pour cela, mon serveur VPN doit être la route par défaut du client. Cela est possible grâce à l'option "gateway-redirect" du fichier de conf du serveur VPN. J'ai activé cette option, effectivement la gateway par défaut du client est changée... Mais pas par l'adresse du serveur VPN !!! LE serveur VPN (avec comme adresse 10.8.0.1) envoie au client : "voici ta gateway par défaut : 10.8.0.5" (ça varie, des fois il lui dit 10.8.0.9.ou .10 ou... Selon ses envies). Or, ces adresses n'existent pas sur mon réseau, je rappelle j'ai basiquement un client un serveur quelques routeurs au milieu en 192.168.x.x et c'est tout. Avant tout fonctionnait bien, le serveur envoyait au client : "c'est moi ta gateway 10.8.0.1", maintenant il lui envoie une adresse foireuse... quelqu'un aurait une idée ? Voici au cas où les fichiers de conf de mon serveur et de mon client :
Serveur :
Code :
#################################################
# Sample OpenVPN 2.0 config file for #
# multi-client server. #
# #
# This file is for the server side #
# of a many-clients <-> one-server #
# OpenVPN configuration. #
# #
# OpenVPN also supports #
# single-machine <-> single-machine #
# configurations (See the Examples page #
# on the web site for more info). #
# #
# This config should work on Windows #
# or Linux/BSD systems. Remember on #
# Windows to quote pathnames and use #
# double backslashes, e.g.: #
# "C:\\Program Files\\OpenVPN\\config\\foo.key" #
# #
# Comments are preceded with '#' or ';' #
#################################################
# Which local IP address should OpenVPN
# listen on? (optional)
;local a.b.c.d
# Which TCP/UDP port should OpenVPN listen on?
# If you want to run multiple OpenVPN instances
# on the same machine, use a different port
# number for each one. You will need to
# open up this port on your firewall.
port 1194
# TCP or UDP server?
;proto tcp
proto udp
# "dev tun" will create a routed IP tunnel,
# "dev tap" will create an ethernet tunnel.
# Use "dev tap0" if you are ethernet bridging
# and have precreated a tap0 virtual interface
# and bridged it with your ethernet interface.
# If you want to control access policies
# over the VPN, you must create firewall
# rules for the the TUN/TAP interface.
# On non-Windows systems, you can give
# an explicit unit number, such as tun0.
# On Windows, use "dev-node" forthis.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
;dev tap
dev tun
# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel if you
# have more than one. On XP SP2 or higher,
# you may need to selectively disable the
# Windows firewall for the TAP adapter.
# Non-Windows systems usually don't need this.
;dev-node MyTap
# SSL/TLS root certificate (ca), certificate
# (cert), and private key (key). Each client
# and the server must have their own cert and
# key file. The server and all clients will
# use the same ca file.
#
# See the "easy-rsa" directory for a series
# of scripts for generating RSA certificates
# and private keys. Remember to use
# a unique Common Name for the server
# and each of the client certificates.
#
# Any X509 key management system can be used.
# OpenVPN can also use a PKCS #12 formatted key file
# (see "pkcs12" directive in man page).
ca ca.crt
cert VPNserver.crt
key VPNserver.key # This file should be kept secret
# Diffie hellman parameters.
# Generate your own with:
# openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys.
dh dh1024.pem
# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.
# The server will take 10.8.0.1 for itself,
# the rest will be made available to clients.
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
server 10.8.0.0 255.255.255.0
# Maintain a record of client <-> virtual IP address
# associations in this file. If OpenVPN goes down or
# is restarted, reconnecting clients can be assigned
# the same virtual IP address from the pool that was
# previously assigned.
ifconfig-pool-persist ipp.txt
# Configure server mode for ethernet bridging.
# You must first use your OS's bridging capability
# to bridge the TAP interface with the ethernet
# NIC interface. Then you must manually set the
# IP/netmask on the bridge interface, here we
# assume 10.8.0.4/255.255.255.0. Finally we
# must set aside an IP range in this subnet
# (start=10.8.0.50 end=10.8.0.100) to allocate
# to connecting clients. Leave this line commented
Wed May 30 10:01:38 2007 OpenVPN 2.0.5 Win32-MinGW [SSL] [LZO] built on Nov 2 2005
Wed May 30 10:01:38 2007 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Wed May 30 10:01:38 2007 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitmfor more info.
Wed May 30 10:01:38 2007 LZO compression initialized
Wed May 30 10:01:38 2007 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed May 30 10:01:38 2007 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Wed May 30 10:01:38 2007 Local Options hash (VER=V4): '41690919'
Wed May 30 10:01:38 2007 UDPv4 link local: [undef]
Wed May 30 10:01:38 2007 UDPv4 link remote: 192.168.100.10:1194
Wed May 30 10:01:38 2007 TLS: Initial packet from 192.168.100.10:1194, sid=81ac3d67 05db3950
Wed May 30 10:01:39 2007 VERIFY OK: depth=1, /C=FR/ST=France/L=Issy/O=Aramis/CN=VPNserver/emailAddress=contact@aramis.fr
Wed May 30 10:01:39 2007 VERIFY OK: depth=0, /C=FR/ST=France/O=Aramis/CN=VPNserver/emailAddress=contact@aramis.fr
Wed May 30 10:01:42 2007 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed May 30 10:01:42 2007 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed May 30 10:01:42 2007 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed May 30 10:01:42 2007 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed May 30 10:01:42 2007 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Wed May 30 10:01:42 2007 [VPNserver] Peer Connection Initiated with 192.168.100.10:1194
Wed May 30 10:01:43 2007 SENT CONTROL [VPNserver]: 'PUSH_REQUEST' (status=1)
Wed May 30 10:01:43 2007 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway,route 10.8.0.1,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5'
Wed May 30 10:01:43 2007 OPTIONS IMPORT: --ifconfig/up options modified
Wed May 30 10:01:43 2007 OPTIONS IMPORT: route options modified
Wed May 30 10:01:43 2007 TAP-WIN32 device [Connexion au réseau local 2] opened: \\.\Global\{A020DE63-2556-44B0-91AB-42187758D9DE}.tap
Wed May 30 10:01:43 2007 TAP-Win32 Driver Version 8.1
Wed May 30 10:01:43 2007 TAP-Win32 MTU=1500
Wed May 30 10:01:43 2007 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.8.0.6/255.255.255.252 on interface {A020DE63-2556-44B0-91AB-42187758D9DE} [DHCP-serv: 10.8.0.5, lease-time: 31536000]
Wed May 30 10:01:43 2007 Successful ARP Flush on interface [3] {A020DE63-2556-44B0-91AB-42187758D9DE}
Wed May 30 10:01:43 2007 TEST ROUTES: 0/0 succeeded len=1 ret=0 a=0 u/d=down
Wed May 30 10:01:43 2007 Route: Waiting for TUN/TAP interface to come up...
Wed May 30 10:01:44 2007 TEST ROUTES: 0/0 succeeded len=1 ret=0 a=0 u/d=down
Wed May 30 10:01:44 2007 Route: Waiting for TUN/TAP interface to come up...
Wed May 30 10:01:45 2007 TEST ROUTES: 0/0 succeeded len=1 ret=0 a=0 u/d=down
Wed May 30 10:01:45 2007 Route: Waiting for TUN/TAP interface to come up...
Wed May 30 10:01:47 2007 TEST ROUTES: 0/0 succeeded len=1 ret=0 a=0 u/d=down
Wed May 30 10:01:47 2007 Route: Waiting for TUN/TAP interface to come up...
Wed May 30 10:01:48 2007 TEST ROUTES: 2/2 succeeded len=1 ret=1 a=0 u/d=up
Wed May 30 10:01:48 2007 Route addition via IPAPI succeeded
Wed May 30 10:01:48 2007 Initialization Sequence Completed
Voilà comme on voit sur les logs il ajoute 10.8.0.5 comme route par défaut et je comprend vraiment pas ce que ca vient faire là, comme déjà dit mon dispositif est basique et il n'y a pas de matériel à l'adresse 10.8.0.5... Je ne comprend pas, si quelqu'un a une idée, je l'en remercie d'avance !!!
Marsh Posté le 31-05-2007 à 15:45:53
Bonjour à tous.
Voilà, j'ai installé un serveur OpenVPN sur Linux. Tout fonctionnait bien et à l'heure actuelle tout fonctionne bien... A peu de chose près. Voilà mon installation est pour l'instant très simple, j'ai un client, un serveur, et entre deux deux ou trois routeurs qui ne font rien d'autre que router (jusque là tout va bien smile ).
le soucis que j'ai à l'heure actuelle est celui-ci. Je voudrais que toutes les communications de mon client passe par le VPN vers mon serveur VPN, qui lui relayera vers l'Internet par derrière. Donc pour cela, mon serveur VPN doit être la route par défaut du client. Cela est possible grâce à l'option "gateway-redirect" du fichier de conf du serveur VPN. J'ai activé cette option, effectivement la gateway par défaut du client est changée... Mais pas par l'adresse du serveur VPN !!! LE serveur VPN (avec comme adresse 10.8.0.1) envoie au client : "voici ta gateway par défaut : 10.8.0.5" (ça varie, des fois il lui dit 10.8.0.9.ou .10 ou... Selon ses envies). Or, ces adresses n'existent pas sur mon réseau, je rappelle j'ai basiquement un client un serveur quelques routeurs au milieu en 192.168.x.x et c'est tout. Avant tout fonctionnait bien, le serveur envoyait au client : "c'est moi ta gateway 10.8.0.1", maintenant il lui envoie une adresse foireuse... quelqu'un aurait une idée ? Voici au cas où les fichiers de conf de mon serveur et de mon client :
Serveur :
Client :
Logs affichés sur le client :
Voilà comme on voit sur les logs il ajoute 10.8.0.5 comme route par défaut et je comprend vraiment pas ce que ca vient faire là, comme déjà dit mon dispositif est basique et il n'y a pas de matériel à l'adresse 10.8.0.5... Je ne comprend pas, si quelqu'un a une idée, je l'en remercie d'avance !!!