Dernière mise-à-jour : 2020/01/30 03:27
Weight: 2
Description: Candidates should be able to configure a VPN (Virtual Private Network) and create secure point-to-point or site-to-site connections.
Key Knowledge Areas:
Terms and Utilities:
OpenVPN permet à des pairs de s'authentifier entre eux à l'aide :
OpenVPN :
Dans ce chapitre, l'architecture réseau est la suivante :
serveur <-------------------------------------> client | | | | eth0 eth0 IP FIXE IP FIXE 192.168.1.14 192.168.1.13
Dans votre cas, veillez à modifier les adresses des interfaces eth0 dans les machines virtuelles serveur et client en IP fixes avec les machines virtuelles en mode pont.
Lancez une machine virtuelle RHEL/CentOS 6 vierge et vérifiez si le paquet openssl est bien installé :
[root@centos6 ~]# rpm -q openssl openssl-0.9.8b-10.el5_2.1
Installez ensuite le paquet openvpn :
[root@centos6 ~]# yum install openvpn
Naviguez au répertoire /etc/openvpn et créez la clef partagée :
[root@centos6 ~]# cd /etc/openvpn/ [root@centos6 openvpn]# openvpn --genkey --secret static.key [root@centos6 openvpn]# cat static.key # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- 2da4ed98178769e28816bd0546a9e241 3088f1e84cd2578eab500d1d1ca61b28 7ffffb0ccf4b21a5908cc9bd57d8a896 b6407dc91411a53d6eed2d2bcb5bea19 ca5e75f7f5d2d83c95a6d3c2f7230f32 29a9db61327c0d4b7851cb3686840c0b 8646bf5c79b5c176b71432f292ef2f79 07ddd052eb0897f4d602dcdac6850286 41db2fe05e0f79e4a4a5c84d7b2dbeab 25e023d2847a658783ad4d0ddc9d3579 d978bb69c5ad75341e146fe81c8a3d88 034e5f6ee402d92708d245f767ebeb73 74d6517e0ffdb326c56d163e5a282470 630f072b9418b58aad03d4e271dd9dc3 b9676a9eb6f5d9f327377c9208bfb533 41541b72b3eaf07aa992c2d50b98c2e1 -----END OpenVPN Static key V1-----
Créer deux clones server et client de votre VM.
Créez le fichier /etc/openvpn/client.conf :
remote 192.168.1.14 dev tun port 1194 proto udp comp-lzo ifconfig 10.0.0.2 10.0.0.1 secret /etc/openvpn/static.key
Trouvez la signification de chacune des directives dans ce fichier.
Arrêtez le service iptables :
[root@centos6 ~]# service iptables stop
Lancez openvpn en ligne de commande et en arrière plan en spécifiant une journalisation :
[root@centos6 ~]# openvpn --config /etc/openvpn/client.conf > /var/log/vpn 2>&1 &
Vérifiez ensuite que le socket d'openvpn soit ouvert :
[root@centos6 ~]# netstat -an | grep 1194 udp 0 0 0.0.0.0:1194 0.0.0.0:*
Constatez ensuite la table de routage :
[root@centos6 ~]# netstat -ar Table de routage IP du noyau Destination Passerelle Genmask Indic MSS Fenêtre irtt Iface 10.0.0.1 * 255.255.255.255 UH 0 0 0 tun0 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Notez la présence de la route via tun0.
Constatez ensuite le montage du tunnel en regardant le contenu du fichier de journalisation /var/log/vpn :
Thu May 7 15:36:18 2009 OpenVPN 2.0.9 i386-redhat-linux-gnu [SSL] [LZO] [EPOLL] built on Aug 28 2007 Thu May 7 15:36:18 2009 LZO compression initialized Thu May 7 15:36:18 2009 TUN/TAP device tun0 opened Thu May 7 15:36:18 2009 /sbin/ifconfig tun0 10.0.0.2 pointopoint 10.0.0.1 mtu 1500 Thu May 7 15:36:19 2009 UDPv4 link local (bound): [undef]:1194 Thu May 7 15:36:19 2009 UDPv4 link remote: 192.168.1.14:1194
Créez le fichier /etc/openvpn/server.conf :
dev tun ifconfig 10.0.0.1 10.0.0.2 secret /etc/openvpn/static.key port 1194 proto udp user nobody group nobody daemon comp-lzo keepalive 10 60 ping-timer-rem persist-tun persist-key log /var/log/vpn verb 1
Trouvez la signification de chacune des directives dans ce fichier.
Arrêtez le service iptables :
[root@centos6 ~]# service iptables stop
Lancez openvpn en ligne de commande et en arrière plan en spécifiant une journalisation :
[root@centos6 log]# openvpn --config /etc/openvpn/server.conf > /var/log/vpn 2>&1 & [1] 7751
Vérifiez ensuite que le socket d'openvpn soit ouvert :
[root@centos6 ~]# netstat -an | grep 1194 udp 0 0 0.0.0.0:1194 0.0.0.0:*
Constatez ensuite la table de routage :
[root@centos6 log]# netstat -nr Table de routage IP du noyau Destination Passerelle Genmask Indic MSS Fenêtre irtt Iface 10.0.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Constatez ensuite le montage du tunnel en regardant le contenu du fichier de journalisation /var/log/vpn :
[root@centos6 ~]# cat /var/log/vpn Thu May 7 15:45:04 2009 OpenVPN 2.0.9 i386-redhat-linux-gnu [SSL] [LZO] [EPOLL] built on Aug 28 2007 Thu May 7 15:45:04 2009 LZO compression initialized Thu May 7 15:45:04 2009 TUN/TAP device tun0 opened Thu May 7 15:45:04 2009 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500 Thu May 7 15:45:04 2009 GID set to nobody Thu May 7 15:45:04 2009 UID set to nobody Thu May 7 15:45:04 2009 UDPv4 link local (bound): [undef]:1194 Thu May 7 15:45:04 2009 UDPv4 link remote: [undef]
Sur le client, utilisez la commande ping pour envoyer des paquets dans le tunnel :
[root@centos6 ~]# ping -c3 10.0.0.1 PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=7.62 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.35 ms 64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.000 ms --- 10.0.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2047ms rtt min/avg/max/mdev = 0.000/2.994/7.629/3.323 ms
Consultez de nouveau le fichier de journalisation :
Thu May 7 15:36:18 2009 OpenVPN 2.0.9 i386-redhat-linux-gnu [SSL] [LZO] [EPOLL] built on Aug 28 2007 Thu May 7 15:36:18 2009 LZO compression initialized Thu May 7 15:36:18 2009 TUN/TAP device tun0 opened Thu May 7 15:36:18 2009 /sbin/ifconfig tun0 10.0.0.2 pointopoint 10.0.0.1 mtu 1500 Thu May 7 15:36:19 2009 UDPv4 link local (bound): [undef]:1194 Thu May 7 15:36:19 2009 UDPv4 link remote: 192.168.1.14:1194 Thu May 7 15:39:17 2009 Peer Connection Initiated with 192.168.1.14:1194 Thu May 7 15:39:18 2009 Initialization Sequence Completed
Vous constaterez la présence des deux lignes suivantes :
Thu May 7 15:39:17 2009 Peer Connection Initiated with 192.168.1.14:1194 Thu May 7 15:39:18 2009 Initialization Sequence Completed
Sur le serveur, utilisez la commande ping pour envoyer des paquets dans le tunnel :
[root@centos6 ~]# ping 10.0.0.2 PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data. 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=2.59 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=9.08 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=7.24 ms 64 bytes from 10.0.0.2: icmp_seq=4 ttl=64 time=7.03 ms 64 bytes from 10.0.0.2: icmp_seq=5 ttl=64 time=4.08 ms --- 10.0.0.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4034ms rtt min/avg/max/mdev = 2.597/6.008/9.084/2.340 ms
Consultez de nouveau le fichier de journalisation :
[root@centos6 ~]# cat /var/log/vpn Thu May 7 15:45:04 2009 OpenVPN 2.0.9 i386-redhat-linux-gnu [SSL] [LZO] [EPOLL] built on Aug 28 2007 Thu May 7 15:45:04 2009 LZO compression initialized Thu May 7 15:45:04 2009 TUN/TAP device tun0 opened Thu May 7 15:45:04 2009 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500 Thu May 7 15:45:04 2009 GID set to nobody Thu May 7 15:45:04 2009 UID set to nobody Thu May 7 15:45:04 2009 UDPv4 link local (bound): [undef]:1194 Thu May 7 15:45:04 2009 UDPv4 link remote: [undef] Thu May 7 15:47:17 2009 Peer Connection Initiated with 192.168.1.13:1194 Thu May 7 15:47:18 2009 Initialization Sequence Completed
Vous constaterez la présence des deux lignes suivantes :
Thu May 7 15:47:17 2009 Peer Connection Initiated with 192.168.1.13:1194 Thu May 7 15:47:18 2009 Initialization Sequence Completed
<html>
Copyright © 2004-2017 I2TCH LIMITED
</html>