Mise en place d’OPENVPN Full IPv6

Hé oui, pourquoi faire un VPN en IPv4 quand on a de l’IP v6 des 2 cotés ?

Alors 2 ou 3 éléments qu’il faut savoir !

  • OpenVPN est full IPv6 à partir de la version 2.3 (sinon il faut partcher)
  • OpenVPN a tjrs besoin de l’IPv4, même si’l ne s’en sert pas (du au code d’openvpn… il faut réécrire certaine partie)
  • Dans cette article, je ne décrirais pas la gestion de la PKI
  • C’est plutôt un OPENVPN IPv6 par l’exemple :p

 

I – Prérequis

 

Donc en guise de prérequis, nous avons :

  • 1 serveur avec de la connectivité IPv6
  • 1 client avec de la connectivité IPv6
  • 1 plage IPv6 à partager entre le serveur et le client
  • 1 PKI ok (certificat client et serveur gérés)
  • Et enfin, OPENVPN 2.3 installé

II – Configuration serveur

 

La c’est très simple :) (comme toujours d’ailleur ;))

Éditons un fichier qui s’appelera server-ipv6.cfg. Les variables à adapter sont en gras :

# Conf Serveur
local 2001:ac9:34bc:100::ffff
port 1196
dev tap
proto tcp6-server
mode server
keepalive 10 120
# Certificats
ca keys/ca.crt
cert keys/server-ipv6.crt
key keys/server-ipv6.key
dh keys/dh1024.pem
tls-auth keys/ta.key 0
# Pool IP
server 100.200.100.0 255.255.255.0
server-ipv6 2001:ac9:34bc:200::/64
ifconfig-pool-persist ipp-v6.txt
float
# Misc
cipher AES-256-CBC
max-clients 2
user nobody
group nogroup
comp-lzo
persist-key
persist-tun
status-version 2
# Log
status /var/log/openvpn/openvpn-status-ovh-ipv6.log
log-append /var/log/openvpn/openvpn-ovh-ipv6.log
verb 2
mute 20

 

Donc le client se connectera sur cette IP :

2001:ac9:34bc:100::ffff

 

Et récupérera une IPv6 dans le pool

2001:ac9:34bc:200::/64

 

Le serveur sera joignable par l’IPv6

2001:ac9:34bc:200::1

III – Configuration client

 

La, idem,  un fichier qui s’ appellera client-ipv6.cfg. Les variables à adapter sont en gras :

 

client
dev tap
proto tcp6-client
remote 2001:ac9:34bc:100::ffff 1196
nobind

tls-client
ca keys/ca.crt
cert keys/client-v6.crt
key keys/client-v6.key
tls-auth keys/ta.key 1

user nobody
group nogroup
script-security 2
comp-lzo
cipher AES-256-CBC
persist-tun
persist-key
keepalive 10 120
resolv-retry infinite
verb 3
mute 20
status /var/log/openvpn-status-ipv6.log
log-append /var/log/openvpn-ipv6.log

IV – Conclusion

Voila, rien de plus simple….

On lance le serveur :

/usr/sbin/openvpn --writepid /var/run/openvpn.server-v6.pid --daemon ovpn-client --cd /etc/openvpn --config /etc/openvpn/server-ipv6.cfg

 

Puis on lance le client :

/usr/sbin/openvpn --writepid /var/run/openvpn.client-v6.pid --daemon ovpn-client --cd /etc/openvpn --config /etc/openvpn/client-ipv6.conf

 

Un petit ping6 devrait marcher ! sinon c’est qu’il y a un petit souci quelque part :p

# ping6 -c4 2001:ac9:34bc:200::1
PING 2001:ac9:34bc:200::1(2001:ac9:34bc:200::1) 56 data bytes
64 bytes from 2001:ac9:34bc:200::1: icmp_seq=1 ttl=64 time=28.2 ms
64 bytes from 2001:ac9:34bc:200::1: icmp_seq=2 ttl=64 time=28.4 ms
64 bytes from 2001:ac9:34bc:200::1: icmp_seq=3 ttl=64 time=28.2 ms
64 bytes from 2001:ac9:34bc:200::1: icmp_seq=4 ttl=64 time=28.3 ms

--- 2001:ac9:34bc:200::1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 28.207/28.292/28.408/0.185 ms

Article lu 3683 fois

Laisser un commentaire