Installer et configurer le serveur OpenVPN FreeBSD 12
Pour commencer, vous devez mettre à jour votre référentiel de packages FreeBSD 12.
pkg update
Installez les packages OpenVPN et Easy-RSA
pkg installer openvpn easy-rsa
Créez un répertoire pour stocker les fichiers de configuration du serveur, l'autorité de certification, les clés du serveur et les fichiers de certificat.
mkdir -p /usr/local/etc/openvpn/easy-rsa
mkdir /usr/local/etc/openvpn/server
Copiez les exemples de fichiers de configuration OpenVPN et Easy-RSA dans les répertoires de configuration respectifs créés ci-dessus.
cp /usr/local/share/examples/openvpn/sample-config-files/server.conf /usr/local/etc/openvpn/server/
cp -r /usr/local/share/easy-rsa/* /usr/local/etc/openvpn/easy-rsa/
Générer l'autorité de certification locale, les clés et les fichiers de certificat avec EasyRSA
Les variables de certificat sont définies dans le /usr/local/etc/openvpn/easy-rsa/vars
dossier. Afin de faciliter la génération du certificat, modifiez ce fichier, décommentez et ajustez les valeurs du certificat comme suit :
vim /usr/local/etc/openvpn/easy-rsa/vars
set_var EASYRSA_REQ_COUNTRY "KE"set_var EASYRSA_REQ_PROVINCE "Nairobi"set_var EASYRSA_REQ_CITY "Nairobi"set_var EASYRSA_REQ_ORG "Kifarunix"set_var EASYRSA_REQ_EMAIL "[email protected]"set_var EASYRSA_REQ_OU "Infrastructure"set_var EASYRSA_KEY_SIZE 2048set_var EASYRSA_CA_EXPIRE 3650set_var EASYRSA_CERT_EXPIRE 3650
Easy-RSA est livré avec un script de génération de certificat appelé easyrsa.real
. Pour générer les fichiers de certificat, accédez à /usr/local/etc/openvpn/easy-rsa/
répertoire et procédez comme suit ;
Initialiser la PKI
cd /usr/local/etc/openvpn/easy-rsa
sh ./easyrsa.real init-pkiRemarque :utilisation de la configuration Easy-RSA à partir de :./varsinit-pki complete ; vous pouvez maintenant créer une autorité de certification ou des requêtes.Votre répertoire PKI nouvellement créé est :/usr/local/etc/openvpn/easy-rsa/pki
Créez le certificat CA en exécutant la commande ci-dessous. Définissez le CN et le mot de passe de cryptage lorsque vous y êtes invité.
sh ./easyrsa.real build-ca
Générez une clé et un fichier de certificat pour le serveur et le client.
sh ./easyrsa.real build-server-full server nopass
sh ./easyrsa.real build-client-full client nopass
Générez un fichier de clé Diffie-Hellman qui peut être utilisé lors de la négociation TLS avec les clients qui se connectent.
sh ./easyrsa.real gen-dh
Si vous devez invalider un certificat précédemment signé, générez un certificat de révocation.
sh ./easyrsa.real gen-crl
Générer une clé d'authentification pré-partagée TLS/SSL
openvpn --genkey --secret /usr/local/etc/openvpn/easy-rsa/pki/ta.key
Copiez toutes les clés et certificats du serveur depuis /usr/local/etc/openvpn/easy-rsa/pki/
au répertoire de configuration créé ci-dessus.
cp -r /usr/local/etc/openvpn/easy-rsa/pki/{ca.crt,dh.pem,ta.key,issued,private} /usr/local/etc /openvpn/serveur/
Configurer le serveur OpenVPN
Modifiez le fichier de configuration du serveur de sorte qu'il ressemble à ce qui suit sans commentaires :
vim /usr/local/etc/openvpn/server/server.conf
port 1194proto udpdev tunca /usr/local/etc/openvpn/server/ca.crtcert /usr/local/etc/openvpn/server/issued/server.crtkey /usr/local/etc/openvpn/server/private/ server.keydh /usr/local/etc/openvpn/server/dh.pemtopology subnetserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 208.67.222.222 "push "dhcp-option DNS 208.67.220.220"keepalive 10 120tls-auth ta.key 0 # Ce fichier est un chiffrement secret AES-256-CBCcomp-lzouser personsgroup nobodypersist-keypersist-tunstatus /var/log/openvpn/openvpn-status.loglog -append /var/log/openvpn/openvpn.logverb 3explicit-exit-notify 1auth client sha512remote-cert-tls
Créez le répertoire du journal ;
mkdir /var/log/openvpn/
Configurer le routage
Exécutez la commande ci-dessous pour configurer le routage NAT IPv4. Cela active le ipfw
pare-feu nécessaire pour natd
cat <> /etc/rc.conffirewall_enable="YES"firewall_type="open"gateway_enable="YES"natd_enable="YES"natd_interface="em1"natd_flags="-dynamic -m"EOF Redémarrez le serveur pour appliquer les modifications apportées ci-dessus.
rebootDémarrez et configurez le démarrage d'OpenVPN au démarrage.
sysrc openvpn_enable=YESsysrc openvpn_configfile="/usr/local/etc/openvpn/server/server.conf"service openvpn startVérifiez qu'OpenVPN est en cours d'exécution et écoute sur le port UDP 1194.
sockstat -4 -l | grep 1194personne openvpn 2824 6 udp46 *:1194 *:*Vérifiez que l'interface a été créée.
ifconfig...tun0 :flags=8051metric 0 mtu 1500 options=80000 inet6 fe80::a00:27ff:fe06:ec18 %tun0 prefixlen 64 tentative scopeid 0x4 inet 10.8.0.1 --> 10.8.0.2 netmask 0xffffff00 groupes :tun nd6 options=29 Ouvert par PID 2824 Configurer le client
Copiez le fichier de clé d'authentification CA, TLS/SSL et la clé client et le fichier de certificat sur le client.
/usr/local/etc/openvpn/server/ca.crt/usr/local/etc/openvpn/server/issued /client.crt/usr/local/etc/openvpn/server/private/client.key/usr/local/etc/openvpn/server/ta.keyCréez le fichier de configuration client
cat <client.ovpnclienttls-clientpulldev tunproto udpremote 192.168.43.12 1194resolv-retry infininobinddhcp-option DNS 208.67.222.222user nobodygroup nogrouppersist-keypersist-tunkey-direction 1tls-auth ta.key 1comp- lzoverb 3ca ca.crtcert client.crtkey client.keyauth SHA512remote-cert-tls serverEOF Pour vous connecter au serveur VPN à partir d'un système Linux, exécutez la commande ci-dessous :
sudo openvpn client.ovpnMagnifique!! C'est tout ce qu'il faut pour installer et configurer le serveur OpenVPN FreeBSD 12. Merci d'avoir lu.