<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Linux%3AConfiguration_d%27un_client_VPN_sur_un_pfSense</id>
		<title>Linux:Configuration d'un client VPN sur un pfSense - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Linux%3AConfiguration_d%27un_client_VPN_sur_un_pfSense"/>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_d%27un_client_VPN_sur_un_pfSense&amp;action=history"/>
		<updated>2026-05-04T13:03:18Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_d%27un_client_VPN_sur_un_pfSense&amp;diff=259&amp;oldid=prev</id>
		<title>Jp : Page créée avec « == But == Installer et configurer un client VPN avec [https://openvpn.net OpenVPN] sur un dispositif [https://www.pfsense.org pfSense].  == Étape préliminaire == Avant d... »</title>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_d%27un_client_VPN_sur_un_pfSense&amp;diff=259&amp;oldid=prev"/>
				<updated>2017-12-29T21:11:59Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == But == Installer et configurer un client VPN avec [https://openvpn.net OpenVPN] sur un dispositif [https://www.pfsense.org pfSense].  == Étape préliminaire == Avant d... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== But ==&lt;br /&gt;
Installer et configurer un client VPN avec [https://openvpn.net OpenVPN] sur un dispositif [https://www.pfsense.org pfSense].&lt;br /&gt;
&lt;br /&gt;
== Étape préliminaire ==&lt;br /&gt;
Avant de commencer:&lt;br /&gt;
* il est impératif de disposer d'un [[Linux:Configuration d'un serveur VPN sur un VPS hébergé|serveur VPN]];&lt;br /&gt;
* et assurez-vous que votre dispositif pfSense répond bien au PING.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Sur PfSense, OpenVPN est installé par défaut.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
* Commencer par [[Commandes:Génération de certificats SSL client|créer la clé et le certificat SSL de votre client]] en vous assurant d'avoir:&lt;br /&gt;
** un CN correspondant au nom ou à l'adresse IP du client vue par le serveur VPN (en principe il s'agit de l'adresse publique - dans notre exemple ce sera [[Linux:Configuration d'un serveur VPN sur un VPS hébergé#But|siteA.minetti.org]]);&lt;br /&gt;
** un '''keyUsage''' avec &amp;lt;u&amp;gt;uniquement&amp;lt;/u&amp;gt; digitalSignature et/ou keyAgreement;&lt;br /&gt;
** un '''extendedKeyUsage''' avec clientAuth (TLS Web Client Authentication);&lt;br /&gt;
** et un '''nsCertType''' avec client.&lt;br /&gt;
* Récupérer le certificat CA ayant servi à la certification du certificat client et l'enregistrer dans pfSense dans les '''CAs''' (menu '''System''' / '''Certificate Manager''') en cliquant sur le bouton '''Add''' et en renseignant les champs suivants:&lt;br /&gt;
** Descriptive name: ''le nom que vous voulez donner à votre CA (par exemple: cacert)'';&lt;br /&gt;
** Method: Import an existing Certificate Authority;&lt;br /&gt;
** Certificate data: ''tous le contenu de votre certificat'';&lt;br /&gt;
** Private key data: ''le contenu de votre clé comprenant BEGIN CERTIFICATE et END CERTIFICATE'';&lt;br /&gt;
* Mettre la clé et le certificat SSL précédemment créé dans pfSense dans les '''Certificates''' (menu '''System''' / '''Certificate Manager''') en cliquant sur le bouton '''Add/Sign''' et en renseignant les champs suivants:&lt;br /&gt;
** Method: Import an existing Certificate;&lt;br /&gt;
** Descriptive name: ''le nom que vous voulez donner à votre certificat (par exemple: siteA)'';&lt;br /&gt;
** Certificate data: ''le contenu de votre CA comprenant BEGIN CERTIFICATE et END CERTIFICATE'';&lt;br /&gt;
* Afficher la liste des clients OpenVPN (onglet '''Clients''' du menu '''VPN''' / '''OpenVPN''') et cliquer sur le bouton '''Add''';&lt;br /&gt;
* Renseigner les champs suivants:&lt;br /&gt;
** Server mode: Peer to Peer (SSL/TLS);&lt;br /&gt;
** Protocol: UDP on IPv4 only;&lt;br /&gt;
** Device mode: tun - Layer 3 Tunnel mode;&lt;br /&gt;
** Interface: WAN;&lt;br /&gt;
** Server host or address: ''l'adresse IP du serveur VPN (par exemple: vps.minetti.org)'';&lt;br /&gt;
** Server port: 1194;&lt;br /&gt;
** Description: ''la description du serveur VPN'';&lt;br /&gt;
** TLS Configuration: ''cocher la case à cocher'' Use a TLS Key;&lt;br /&gt;
** TLS Key: ''récupérer la clé du HMAC firewall, '''ta.key''', sur le serveur et mettre son contenu ici'';&lt;br /&gt;
** TLS Key Usage Mode: TLS Authentication;&lt;br /&gt;
** Peer Certificate Authority: ''votre CA (par exemple: cacert)'';&lt;br /&gt;
** Client Certificate: ''votre certificat (par exemple: siteA)'';&lt;br /&gt;
** Encryption Algorithm: BF-CBC (128 bit key by default, 64 bit block);&lt;br /&gt;
** Enable NCP: ''non coché'';&lt;br /&gt;
** Auth digest algorithm: SHA1 (160-bit);&lt;br /&gt;
** Hardware Crypto: No Hardware Crypto Acceleration;&lt;br /&gt;
** Compression: LZO Compression [compress lzo, equivalent to comp-lzo yes for compatibility];&lt;br /&gt;
** Topology: Subnet - One IP address per client in a common subnet;&lt;br /&gt;
** Custom options:&lt;br /&gt;
 remote-cert-tls server&lt;br /&gt;
&lt;br /&gt;
== Test ==&lt;br /&gt;
* Une fois le client VPN créé, vérifier que les logs ressemblent à ceci (onglet '''OpenVPN''' du menu '''Status''' / '''System Logs'''):&lt;br /&gt;
 Dec 29 13:38:57 	openvpn 	30851 	OpenVPN 2.4.4 amd64-portbld-freebsd11.1 [SSL (OpenSSL)] [LZO] [LZ4] [MH/RECVDA] [AEAD] built on Nov 16 2017&lt;br /&gt;
 Dec 29 13:38:57 	openvpn 	30851 	library versions: OpenSSL 1.0.2m-freebsd 2 Nov 2017, LZO 2.10&lt;br /&gt;
 Dec 29 13:38:57 	openvpn 	31054 	NOTE: the current --script-security setting may allow this configuration to call user-defined scripts&lt;br /&gt;
 Dec 29 13:38:57 	openvpn 	31054 	TCP/UDP: Preserving recently used remote address: [AF_INET]x.x.x.x:1194&lt;br /&gt;
 Dec 29 13:38:57 	openvpn 	31054 	UDPv4 link local (bound): [AF_INET]y.y.y.y:0&lt;br /&gt;
 Dec 29 13:38:57 	openvpn 	31054 	UDPv4 link remote: [AF_INET]x.x.x.x:1194&lt;br /&gt;
 Dec 29 13:38:57 	openvpn 	31054 	[vps.minetti.org] Peer Connection Initiated with [AF_INET]x.x.x.x:1194&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	WARNING: INSECURE cipher with block size less than 128 bit (64 bit). This allows attacks like SWEET32. Mitigate by using a --cipher with a larger block size (e.g. AES-256-CBC).&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	WARNING: INSECURE cipher with block size less than 128 bit (64 bit). This allows attacks like SWEET32. Mitigate by using a --cipher with a larger block size (e.g. AES-256-CBC).&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	WARNING: cipher with small block size in use, reducing reneg-bytes to 64MB to mitigate SWEET32 attacks.&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	TUN/TAP device ovpnc1 exists previously, keep at program end&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	TUN/TAP device /dev/tun1 opened&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	do_ifconfig, tt-&amp;gt;did_ifconfig_ipv6_setup=0&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	/sbin/ifconfig ovpnc1 10.8.0.10 10.8.0.1 mtu 1500 netmask 255.255.255.0 up&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	/usr/local/sbin/ovpn-linkup ovpnc1 1500 1542 10.8.0.10 255.255.255.0 init &lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this&lt;br /&gt;
 Dec 29 13:38:58 	openvpn 	31054 	Initialization Sequence Completed&lt;br /&gt;
* Du côté du '''serveur''', les logs doivent ressembler à ceci:&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 TLS: Initial packet from [AF_INET]y.y.y.y:3013, sid=1aa82210 f0ed027b&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''VERIFY OK'''&amp;lt;/span&amp;gt;: depth=1, C=FR, ST=Herault, L=Saint-Jean-de-Vedas, O=Minetti, CN=MINETTI CA, emailAddress=jp@minetti.org&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''VERIFY OK'''&amp;lt;/span&amp;gt;: depth=0, C=FR, ST=Herault, L=Saint-Jean-de-Vedas, O=Minetti, OU=siteA (client), CN=siteA.minetti.org, emailAddress=root@minetti.org&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 1024 bit RSA&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 y.y.y.y:3013 [siteA.minetti.org] Peer Connection Initiated with [AF_INET]y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 OPTIONS IMPORT: reading client specific options from: '''ccd/siteA.minetti.org'''&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: Learn: 10.8.0.10 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: primary virtual IP for siteA.minetti.org/y.y.y.y:3013: 10.8.0.10&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: internal route 192.168.3.0/24 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: Learn: 192.168.3.0/24 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: internal route 192.168.2.0/24 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: Learn: 192.168.2.0/24 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: internal route 192.168.1.0/24 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: Learn: 192.168.1.0/24 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: internal route 192.168.0.0/24 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:35 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: Learn: 192.168.0.0/24 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
 Tue Apr 12 17:23:38 2016 siteA.minetti.org/y.y.y.y:3013 PUSH: Received control message: 'PUSH_REQUEST'&lt;br /&gt;
 Tue Apr 12 17:23:38 2016 siteA.minetti.org/y.y.y.y:3013 send_push_reply(): safe_cap=940&lt;br /&gt;
 Tue Apr 12 17:23:38 2016 siteA.minetti.org/y.y.y.y:3013 SENT CONTROL [siteA.minetti.org]: 'PUSH_REPLY,route-gateway 10.8.0.1,topology subnet,ping 10,ping-restart 120,route 192.168.5.0 255.255.255.0 10.8.0.1,ifconfig 10.8.0.10 255.255.255.0' (status=1)&lt;br /&gt;
 Tue Apr 12 17:24:01 2016 siteA.minetti.org/y.y.y.y:3013 MULTI: Learn: 192.168.0.229 -&amp;gt; siteA.minetti.org/y.y.y.y:3013&lt;br /&gt;
* Vérifier le routage ('''Diagnostics''' / '''Routes'''):&lt;br /&gt;
 Destination	 Gateway	Flags	Use	Mtu	Netif	Expire&lt;br /&gt;
 default         88.127.168.254	UGS	499905	1500	igb1	&lt;br /&gt;
 10.8.0.0/24     10.8.0.1	UGS	0	1500	ovpnc1	&lt;br /&gt;
 10.8.0.1        link#8	        UH	20454	1500	ovpnc1	&lt;br /&gt;
 10.8.0.10       link#8	        UHS	3	16384	lo0	&lt;br /&gt;
 88.127.168.0/24 link#2	        U	19642	1500	igb1	&lt;br /&gt;
 88.127.168.146  link#2	        UHS	0	16384	lo0	&lt;br /&gt;
 127.0.0.1       link#4	        UH	301	16384	lo0	&lt;br /&gt;
 192.168.0.0/24  link#3	        U	908469	1500	igb2	&lt;br /&gt;
 192.168.0.254   link#3	        UHS	0	16384	lo0	&lt;br /&gt;
 192.168.1.0/24  10.8.0.1	UGS	26	1500	ovpnc1	&lt;br /&gt;
 192.168.5.0/24  10.8.0.1	UGS	1247	1500	ovpnc1	&lt;br /&gt;
 192.168.11.0/24 link#1	        U	0	1500	igb0	&lt;br /&gt;
 192.168.11.254  link#1	        UHS	0	16384	lo0&lt;br /&gt;
* Faire un ping vers le serveur VPN ('''Diagnostics''' / '''Ping'''):&lt;br /&gt;
 PING 10.8.0.1 (10.8.0.1): 56 data bytes&lt;br /&gt;
 64 bytes from 10.8.0.1: icmp_seq=0 ttl=64 time=104.899 ms&lt;br /&gt;
 64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=105.345 ms&lt;br /&gt;
 64 bytes from 10.8.0.1: icmp_seq=2 ttl=64 time=107.325 ms&lt;br /&gt;
 &lt;br /&gt;
 --- 10.8.0.1 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 packets received, 0.0% packet loss&lt;br /&gt;
 round-trip min/avg/max/stddev = 104.899/105.856/107.325/1.054 ms&lt;/div&gt;</summary>
		<author><name>Jp</name></author>	</entry>

	</feed>