Client OpenVPN accès au LAN

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Client OpenVPN accès au LAN

Messagepar timmx » 17 Mai 2010 09:22

Bonjour,

Je suis nouveau sur ce forum qui m'a apportait beaucoup d'aide dans le passé.

Actuellement, j'essaie de monter un OpenVPN sous Debian avec des clients Vista et Win7.

Mon architecture actuelle est la suivante:

LAN 192.168.0.0/24 (Serveur_OpenVPN:192.168.0.100) -------- Routeur -------- Internet ----------- Routeur -------- Client_OpenVPN.

Le réseau virtuel est: 10.8.0.0 255.255.255.0, le serveur OpenVPN push la route 192.168.0.0 255.255.255.0.

En effet, le client OpenVPN arrive bien à se connecter au serveur OpenVPN et obtenir l'adresse 10.8.0.6 ainsi que la route 192.168.0.0 255.255.255.0.

Voici une copie de la table de routage du client:

0.0.0.0 0.0.0.0 172.16.50.254 172.16.50.36 20
10.8.0.0 255.255.255.0 10.8.0.5 10.8.0.6 31
10.8.0.4 255.255.255.252 On-link 10.8.0.6 286
10.8.0.6 255.255.255.255 On-link 10.8.0.6 286
10.8.0.7 255.255.255.255 On-link 10.8.0.6 286
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
172.16.50.0 255.255.255.0 On-link 172.16.50.36 276
172.16.50.36 255.255.255.255 On-link 172.16.50.36 276
172.16.50.255 255.255.255.255 On-link 172.16.50.36 276
192.168.0.0 255.255.255.0 10.8.0.5 10.8.0.6 31
192.168.56.0 255.255.255.0 On-link 192.168.56.1 276
192.168.56.1 255.255.255.255 On-link 192.168.56.1 276
192.168.56.255 255.255.255.255 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 172.16.50.36 276
224.0.0.0 240.0.0.0 On-link 10.8.0.6 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.56.1 276
255.255.255.255 255.255.255.255 On-link 172.16.50.36 276
255.255.255.255 255.255.255.255 On-link 10.8.0.6 286


Le client arrive bien à "pinger" le serveur OpenVPN et sur 10.8.0.1 et sur 192.168.0.100, en revanche il n'arrive pas à "pinger" les autres postes qui résident sur le même LAN. Malgré que ces postes là "pingent" bien le client en question.

le forwarding est bien activé sur le serveur OpenVPN (echo "1" > /proc/sys/net/ipv4/ip_forward).

Si vous avez une idée? Je vous remercie infiniment d'avance.
timmx
Matelot
Matelot
 
Messages: 4
Inscrit le: 17 Mai 2010 08:58

Messagepar ccnet » 17 Mai 2010 11:12

Pouvez vous confirmer que le serveur vpn , vu du lan, n'est pas la passerelle par défaut ?
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris

Messagepar timmx » 17 Mai 2010 11:21

ccnet a écrit:Pouvez vous confirmer que le serveur vpn , vu du lan, n'est pas la passerelle par défaut ?


Merci pour votre réponse ccnet,

En effet, vu du LAN, le serveur OpenVPN (192.160.0.100) n'est point la passerelle par défaut il est derrière un routeur (192.160.0.10).


Merci encore.
timmx
Matelot
Matelot
 
Messages: 4
Inscrit le: 17 Mai 2010 08:58

Messagepar ccnet » 17 Mai 2010 11:41

Vous avez donc un problème de route retour. Si vois installiez Wireshark sur une machine cible installée dans le lan, vous verriez que les requêtes icmp arrivent mais ne peuvent être retournées correctement. Il faut donc très probablement ajouter une route retour pour le réseau 10.8.0.0 sur le serveur vpn pour pointer vers la passerelle du lan.
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris

Messagepar timmx » 17 Mai 2010 11:51

ccnet a écrit:Vous avez donc un problème de route retour. Si vois installiez Wireshark sur une machine cible installée dans le lan, vous verriez que les requêtes icmp arrivent mais ne peuvent être retournées correctement. Il faut donc très probablement ajouter une route retour pour le réseau 10.8.0.0 sur le serveur vpn pour pointer vers la passerelle du lan.


Merci encore ccnet,

Voici la table de routage de mon serveur OpenVPN:

10.8.0.2 * 255.255.255.255 UH 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
localnet * 255.255.255.0 U 0 0 0 eth0
default 192.168.0.10 0.0.0.0 UG 0 0 0 eth0


Vous pensez qu'il est nécessaire de rajouter la route 192.168.0.0 255.255.255.0 Iface eth0?

Merci.
timmx
Matelot
Matelot
 
Messages: 4
Inscrit le: 17 Mai 2010 08:58

Messagepar ccnet » 17 Mai 2010 12:03

Très probablement. Un test comme celui que j'ai indiqué (Wireshark) permettra de valider mon hypothèse.
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris

Messagepar timmx » 19 Mai 2010 14:49

Bonjour,

Je reviens vers vous car mes tests n'avancent pas vraiment:

En effet j'ai pu lire que dans mon cas: clients nomades connectés au serveur, il faut passer par server bridge (tap) au lieu du routing (tun).

Donc mon fichier /etc/openvpn/server.conf est le suivant maintenant:
local 172.16.50.32
port 1194
proto udp
dev tap0
ca ca.crt
cert ServeurVPN.crt
key ServeurVPN.key
dh dh1024.pem
ifconfig-pool-persist ipp.txt
server-bridge 172.16.50.32 255.255.255.0 172.16.50.101 172.16.50.110
keepalive 10 120
comp-lzo
max-clients 5
user openvpn
group openvpn
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 9
;mute 20



Dans le répertoire /etc/openvpn j'ai mis les scripts :
bridge-start:
#!/bin/bash

#################################
# Set up Ethernet bridge on Linux
# Requires: bridge-utils
#################################

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

# Define physical ethernet interface to be bridged
# with TAP interface(s) above.
eth="eth0"
eth_ip="172.16.50.32"
eth_netmask="255.255.255.eth_broadcast="172.16.50.255"
eth_broadcast="172.16.50.255"
for t in $tap; do
openvpn --mktun --dev $t
done

brctl addbr $br
brctl addif $br $eth

for t in $tap; do
brctl addif $br $t
done

for t in $tap; do
ifconfig $t 0.0.0.0 promisc up
done

ifconfig $eth 0.0.0.0 promisc up

ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast
route add default gw 172.16.50.254


bridge-stop:

#!/bin/bash

####################################
# Tear Down Ethernet bridge on Linux
####################################

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged together
tap="tap0"

ifconfig $br down
brctl delbr $br

for t in $tap; do
openvpn --rmtun --dev $t
done



Mon client arrive bien à établir la connexion avec le serveur OpenVPN et voici sa table de routage:
===========================================================================
Itinéraires actifs :
Destination réseau Masque réseau Adr. passerelle Adr. interface Métrique
0.0.0.0 0.0.0.0 78.251.127.254 78.251.114.155 30
78.251.64.0 255.255.192.0 On-link 78.251.114.155 286
78.251.114.155 255.255.255.255 On-link 78.251.114.155 286
78.251.127.255 255.255.255.255 On-link 78.251.114.155 286
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
172.16.50.0 255.255.255.0 On-link 172.16.50.101 286
172.16.50.101 255.255.255.255 On-link 172.16.50.101 286
172.16.50.255 255.255.255.255 On-link 172.16.50.101 286

192.168.56.0 255.255.255.0 On-link 192.168.56.1 276
192.168.56.1 255.255.255.255 On-link 192.168.56.1 276
192.168.56.255 255.255.255.255 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 78.251.114.155 286
224.0.0.0 240.0.0.0 On-link 172.16.50.101 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.56.1 276
255.255.255.255 255.255.255.255 On-link 78.251.114.155 286
255.255.255.255 255.255.255.255 On-link 172.16.50.101 286
===========================================================================


Après une modification et quand je relace openvpen, l'interface tap0 reste down?

En revanche le ping ne passe pas dans aucun sens!

Merci d'avance pour votre aide.
timmx
Matelot
Matelot
 
Messages: 4
Inscrit le: 17 Mai 2010 08:58

Messagepar Franck78 » 19 Mai 2010 21:46

Le client arrive bien à "pinger" le serveur OpenVPN et sur 10.8.0.1 et sur 192.168.0.100, en revanche il n'arrive pas à "pinger" les autres postes qui résident sur le même LAN. Malgré que ces postes là "pingent" bien le client en question.


Installe donc un live cd quelconque sur une machine du LAN, lance tcpdump et tu verras tout de suite ce qui arrive et part vraiment de ce LAN.

Il faut donc très probablement ajouter une route retour pour le réseau 10.8.0.0 sur le serveur vpn pour pointer vers la passerelle du lan.

J'auris dis le contraire: 'apprenez au routeur par défaut du LAN que la route pour le réseau 10.8.x.x se fait par la machine en 192.168.0.100.

Le mieux étant encore d'apprendre directement à chaque client du LAN cette route pour 10.8.x.x


Malgré que ces postes là "pingent" bien le client en question

C'est bien génant si c'est vrai!
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar ccnet » 20 Mai 2010 17:52

Citation:

Il faut donc très probablement ajouter une route retour pour le réseau 10.8.0.0 sur le serveur vpn pour pointer vers la passerelle du lan.


J'auris dis le contraire: 'apprenez au routeur par défaut du LAN que la route pour le réseau 10.8.x.x se fait par la machine en 192.168.0.100.


Je suis d'accord bien sûr.
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité