Openvpn debian

Bonjour,
installé un serveur mais compliqué à le configurer, j’ai suivi le tutos :
mathieu-androz.developpez.com/ar … linux/vpn/
or ayan bien suivi a la lettre ce tuto, à l’instant de le lancer j’ai :failed !
;local a.b.c.d

port 1595

TCP or UDP server?

;proto tcp
proto udp

;dev tap
dev tun

;dev-node MyTap

ca keys/ca.crt
cert keys/nomduserveur.crt
key keys/nomduserveur.key # This file should be kept secret
dh keys/dh1024.pem

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
max-clients 10
user nobody
group nogroup
persist-key
persist-tun
status openvpn-statut.log
verb 3

push "redirect-gateway def1"
push “route 10.9.8.0 255.255.255.252”

ma configuration reseau est
un serveur debian avec eth0 connecté a la box avec dmz,et eth1 connecté au LAN
sur debian dhcp ssh.
je voudrais que les clients vpn se connecte dessus pour avoir acces au LAN

Question rituelle : que disent les logs ?

raf@debian:/etc/openvpn# openvpn server.conf
Tue Feb 7 14:27:44 2012 OpenVPN 2.1.3 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [P KCS11] [MH] [PF_INET6] [eurephia] built on Oct 21 2010
Tue Feb 7 14:27:44 2012 NOTE: your local LAN uses the extremely common subnet a ddress 192.168.0.x or 192.168.1.x. Be aware that this might create routing conf licts if you connect to the VPN server from public locations such as internet ca fes that use the same subnet.
Tue Feb 7 14:27:44 2012 NOTE: OpenVPN 2.1 requires ‘–script-security 2’ or hig her to call user-defined scripts or executables
Tue Feb 7 14:27:44 2012 Cannot open keys/dh1024.pem for DH parameters: error:02 001002:system library:fopen:No such file or directory: error:2006D080:BIO routin es:BIO_new_file:no such file
Tue Feb 7 14:27:44 2012 Exiting

Merci

Re, bon aprres vérification j’ai :

Tue Feb 7 14:36:42 2012 NOTE: OpenVPN 2.1 requires ‘–script-security 2’ or higher to call user-defined scripts or executables
Tue Feb 7 14:36:42 2012 Diffie-Hellman initialized with 1024 bit key
Tue Feb 7 14:36:42 2012 /usr/bin/openssl-vulnkey -q -b 1024 -m
Tue Feb 7 14:36:43 2012 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Tue Feb 7 14:36:43 2012 Socket Buffers: R=[112640->131072] S=[112640->131072]
Tue Feb 7 14:36:43 2012 ROUTE default_gateway=192.168.1.1
Tue Feb 7 14:36:43 2012 TUN/TAP device tun0 opened
Tue Feb 7 14:36:43 2012 TUN/TAP TX queue length set to 100
Tue Feb 7 14:36:43 2012 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Tue Feb 7 14:36:43 2012 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Tue Feb 7 14:36:43 2012 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Tue Feb 7 14:36:43 2012 UDPv4 link local (bound): [undef]
Tue Feb 7 14:36:43 2012 UDPv4 link remote: [undef]
Tue Feb 7 14:36:43 2012 MULTI: multi_init called, r=256 v=256
Tue Feb 7 14:36:43 2012 IFCONFIG POOL: base=10.8.0.4 size=62
Tue Feb 7 14:36:43 2012 IFCONFIG POOL LIST
Tue Feb 7 14:36:43 2012 Initialization Sequence Completed

J’imagine que c’es ok, je vais testé avec un pc client, toute fois, si vous voyez des erreur ,ou des explication et/ou conseil a me donner je suis preneur

merci

Bonsoir a tous, voilà mon vpn est OK les client linux et windows se connectent bien seulement avant de manipuler je voudrais savoir s’il est possible de rajouter un client vpn à la liste des autres ou il faut refaire la procédure entierement?

Merci d’avance

Il devrait être suffisant de créer une paire clé+certificat pour le client supplémentaire et de l’installer sur celui-ci, comme pour les autres.

ok, je vais tester ce soir, dis tout les clien se connectent bien se le serveur mais aucun ne peut se joindre ? je viens juste de m’en apercevoir, je regarde si je trouve la soluce…arf ca membete ça

Regarde du côté de l’option client-to-client dans la documentation d’openvpn.
En gros sans cette option la machine qui fait serveur doit faire routeur pour les communications entre clients (activer ip_forward, autoriser le trafic dans les règles iptables) ; avec cette option, openvpn s’occupe directement des communications entre clients.

ok merci mais débutant dans iptables pourrait tu m’indiquer la regle a indiquer et expliquer ? merci :slightly_smiling:

En supposant que l’interface d’openvpn s’appelle tun0 :

Ne pas oublier d’activer l’ip_forward aussi.
Mais pourquoi ne pas plutôt utiliser l’option client-to-client ?

ok merci si j’ai bien compris ip forward c’est comme ceci
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT

l’option clientto client ne change rien je n’ai pas vu la difference…

re, voilà j’ai bien rentré ces commande seulement par exemple un client xp une fois el vp connecté ping bien le serveur mais pas l’exterieur

Non, iptables fait du filtrage de trafic, pas de routage. Et il n’est pas nécessaire d’ajouter de règle si iptables ne fait aucun filtrage par ailleurs (chaîne FORWARD vide avec politique par défaut ACCEPT).
Et j’ai écrit “en supposant que l’interface d’openvpn s’appelle tun0” ; d’après les logs c’est le cas mais à vérifier avec ifconfig.

Pour activer manuellement le routage IPv4 (ip_forward), c’est avec une des deux commandes au choix :

echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -w net.ipv4.ip_forward=1
Pour l’activer automatiquement au démarrage, décommenter la ligne correspondante dans le fichier /etc/sysctl.conf.

Tu l’as ajoutée dans le fichier de configuration du serveur openvpn et tu as relancé le serveur openvpn ?

C’est encore autre chose. Tu veux que les communications d’un client vers l’extérieur passent par le VPN ou continuent à passer par la connexion internet ?

Re, le routage IPV4 est bien sur 1

Pour “client to client” oui cela est ajouter au fichier de configuration et le serveru a rebooter plusieurs fois.

Pour la communication entre les postes, je voudrais que tous les postes clients qui se connectent sur le vpn puissent se voir sur le reseau.
A savoir le poste client se connecte sur le vpn, la connexion internet est stoppé temporairement est revient ensuite, connait tu une explication à ceci? Merci

Tu as bien mis “client-to-client” avec des tirets ?
D’après le manuel d’openvpn, cela devrait activer le routage direct inter-clients :

[quote]–client-to-client
Because the OpenVPN server mode handles multiple clients through a single tun or tap interface, it is effectively a router. The --client-to-client flag tells OpenVPN to internally route client-to-client traffic rather than pushing all client-originating traffic to the TUN/TAP interface.

When this option is used, each client will "see" the other clients which are currently connected. Otherwise, each client will only see the server. Don't use this option if you want to firewall tunnel traffic using custom, per-client rules.

[/quote]
Mais même sans cette fontionnalité, le routage externe par le noyau devrait fonctionner si iptables ne bloque pas les paquets.

[quote=“rafioulitus”]Pour la communication entre les postes, je voudrais que tous les postes clients qui se connectent sur le vpn puissent se voir sur le reseau.
A savoir le poste client se connecte sur le vpn, la connexion internet est stoppé temporairement est revient ensuite, connait tu une explication à ceci?[/quote]
Euh, je ne vois pas le rapport entre les deux phrases. La première concerne la communication entre clients et la seconde de la communication entre un client et internet.

Concernant la seconde, c’est probablement parce que ton tunnel openvpn est configuré de sorte que la route par défaut des clients soit modifiée et passe par le VPN. Tu peux le vérifier en affichant la table de routage d’un client connecté, avec “route -n” ou “ip route”.

Voici mon fichier serveur
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/serveur.crt
key /etc/openvpn/easy-rsa/keys/serveur.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 192.168.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#push “route 192.168.1.0 255.255.255.0”
#push "route 192.168.0.0 255.255.255.0"
client-to-client
keepalive 10 120
cipher AES-128-CBC
comp-lzo
max-clients 10
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 5
;mute 20

L’option “client-to-client” est bien là, le serveur
(tun0 à pour ip 192.168.1.1 une fois lancé,il n’y a pas de conflit car cette ip n’est pas utilisé.)

Voici ce que m’affiche route -n

192.168.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.1.0 192.168.1.2 255.255.255.0 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.1.11 0.0.0.0 UG 0 0 0 eth0
Pour t’aider eth0>net eth1>LAN, je ne comprend pas le fonctionnement du tableau

Si, il y a un conflit : le même sous-réseau 192.168.1.0/24 est défini à la fois sur eth0 (net) et sur tun0 (vpn). Chaque interface doit avoir un sous-réseau distinct. Comme 192.168.1.0/24 est déjà utilisé sur eth0, il faut définir une autre plage pour le VPN, distincte aussi de 192.168.0.0/24 utilisée sur le LAN.

En fait je demandais la table de routage d’un poste client une fois connecté, mais celle du serveur a permis de détecter un problème.

voilà j’ai ceci

10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.248 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.1.11 0.0.0.0 UG 0 0 0 eth0

j’ai modifié la plage d’adrese du tun0 de 192.168.1.0 par 10.8.0.0 avec masque sous reseau 255.255.255.248 >> server 10.8.0.0 255.255.255.248

Ce masque ne laisse pas de place pour beaucoup de clients (8 adresses pour toute la plage, dont au moins trois réservées pour le serveur et le VPN). Les adresses privées ne coûtent pas cher et sont abondantes, pourquoi se restreindre ?

Et la table de routage sur un poste client ?

Voici ce que j’ai sur un poste xp sur le lan "route PRINT"
Itinéraires actifs :
Destination réseau Masque réseau Adr. passerelle Adr. interface Métrique
0.0.0.0 0.0.0.0 192.168.0.5 192.168.0.112 10
10.8.0.0 255.255.255.248 10.8.0.5 10.8.0.6 1
10.8.0.4 255.255.255.252 10.8.0.6 10.8.0.6 30
10.8.0.6 255.255.255.255 127.0.0.1 127.0.0.1 30
10.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 30
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.112 255.255.255.255 127.0.0.1 127.0.0.1 10
192.168.0.112 255.255.255.245 192.168.0.112 192.168.0.112 10
192.168.0.255 255.255.255.255 192.168.0.112 192.168.0.112 10
224.0.0.0 240.0.0.0 10.8.0.6 10.8.0.6 30
224.0.0.0 240.0.0.0 192.168.0.112 192.168.0.112 10
255.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 1
255.255.255.255 255.255.255.255 192.168.0.112 192.168.0.112 1
Passerelle par défaut : 192.168.0.5

Pti plus, sur un poste windows 7 j’ai le message suivant :
ERROR: --dev tun also requires --ifconfig
le ifconfig doit etre renseigné où? sur le serveur j’ai
:
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/serveur.crt
key /etc/openvpn/easy-rsa/keys/serveur.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.248
ifconfig 10.8.0.1 10.8.0.2
route 10.8.0.0 255.255.255.248
ifconfig-pool-persist ipp.txt
#push “route 192.168.1.0 255.255.255.0”
#push "route 192.168.0.0 255.255.255.0"
client-to-client
keepalive 10 120
cipher AES-128-CBC
comp-lzo
max-clients 10
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 5
;mute 20