Installieren und konfigurieren Sie OpenVPN Server FreeBSD 12
Zu Beginn müssen Sie Ihr FreeBSD 12-Paket-Repository aktualisieren.
pkg update
Installieren Sie OpenVPN- und Easy-RSA-Pakete
pkg installiere openvpn easy-rsa
Erstellen Sie ein Verzeichnis zum Speichern der Serverkonfigurationsdateien, der Zertifizierungsstelle, der Serverschlüssel und der Zertifikatsdateien.
mkdir -p /usr/local/etc/openvpn/easy-rsa
mkdir /usr/local/etc/openvpn/server
Kopieren Sie die Beispielkonfigurationsdateien für OpenVPN und Easy-RSA in die entsprechenden oben erstellten Konfigurationsverzeichnisse.
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/
Generieren Sie die lokale Zertifizierungsstelle, Schlüssel und Zertifikatsdateien mit EasyRSA
Die Zertifikatsvariablen werden in /usr/local/etc/openvpn/easy-rsa/vars
gesetzt Datei. Um die Generierung des Zertifikats zu vereinfachen, bearbeiten Sie diese Datei, kommentieren Sie sie aus und passen Sie die Zertifikatswerte wie folgt an:
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 wird mit einem Zertifikatgenerierungsskript namens easyrsa.real
ausgeliefert . Um die Zertifikatsdateien zu generieren, navigieren Sie zu /usr/local/etc/openvpn/easy-rsa/
Verzeichnis und gehen Sie wie folgt vor;
Initialisieren Sie die PKI
cd /usr/local/etc/openvpn/easy-rsa
sh ./easyrsa.real init-pkiHinweis:Verwenden der Easy-RSA-Konfiguration von:./varsinit-pki complete; Sie können jetzt eine Zertifizierungsstelle oder Anfragen erstellen. Ihr neu erstelltes PKI-Verzeichnis lautet:/usr/local/etc/openvpn/easy-rsa/pki
Erstellen Sie das CA-Zertifikat, indem Sie den folgenden Befehl ausführen. Legen Sie den CN und das Verschlüsselungspasswort fest, wenn Sie dazu aufgefordert werden.
sh ./easyrsa.real build-ca
Generieren Sie eine Schlüssel- und Zertifikatsdatei für Server und Client.
sh ./easyrsa.real build-server-full server nopass
sh ./easyrsa.real build-client-full client nopass
Generieren Sie eine Diffie-Hellman-Schlüsseldatei, die während des TLS-Handshakes mit verbindenden Clients verwendet werden kann.
sh ./easyrsa.real gen-dh
Falls Sie ein zuvor signiertes Zertifikat ungültig machen müssen, generieren Sie ein Widerrufszertifikat.
sh ./easyrsa.real gen-crl
Generieren Sie einen vorinstallierten TLS/SSL-Authentifizierungsschlüssel
openvpn --genkey --secret /usr/local/etc/openvpn/easy-rsa/pki/ta.key
Kopieren Sie alle Serverschlüssel und Zertifikate aus /usr/local/etc/openvpn/easy-rsa/pki/
in das oben erstellte Konfigurationsverzeichnis.
cp -r /usr/local/etc/openvpn/easy-rsa/pki/{ca.crt,dh.pem,ta.key,issued,private} /usr/local/etc /openvpn/server/
OpenVPN-Server konfigurieren
Bearbeiten Sie die Serverkonfigurationsdatei so, dass sie ohne Kommentare wie folgt aussieht:
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 # Diese Datei ist geheime Chiffre AES-256-CBCcomp-lzouser niemandgruppe niemandpersist-keypersist-tunstatus /var/log/openvpn/openvpn-status.loglog -append /var/log/openvpn/openvpn.logverb 3explicit-exit-notify 1auth sha512remote-cert-tls client
Erstellen Sie das Protokollverzeichnis;
mkdir /var/log/openvpn/
Routing konfigurieren
Führen Sie den folgenden Befehl aus, um das IPv4-NAT-Routing zu konfigurieren. Dies aktiviert das ipfw
Firewall, die für natd
benötigt wird
cat <> /etc/rc.conffirewall_enable="YES"firewall_type="open"gateway_enable="YES"natd_enable="YES"natd_interface="em1"natd_flags="-dynamic -m"EOF Starten Sie den Server neu, um die oben vorgenommenen Änderungen zu übernehmen.
rebootStarten und konfigurieren Sie OpenVPN start on boot.
sysrc openvpn_enable=YESsysrc openvpn_configfile="/usr/local/etc/openvpn/server/server.conf"Dienst openvpn startenStellen Sie sicher, dass OpenVPN ausgeführt wird und auf UDP-Port 1194 lauscht.
sockstat -4 -l | grep 1194nobody openvpn 2824 6 udp46 *:1194 *:*Überprüfen Sie, ob die Schnittstelle erstellt wurde.
ifconfig...tun0:flags=8051metric 0 mtu 1500 options=80000 inet6 fe80::a00:27ff:fe06:ec18 %tun0 prefixlen 64 vorläufige Bereichs-ID 0x4 inet 10.8.0.1 --> 10.8.0.2 Netzmaske 0xffffff00 Gruppen:tun nd6 options=29 Geöffnet von PID 2824 Client konfigurieren
Kopieren Sie die CA-, TLS/SSL-Authentifizierungsschlüsseldatei und die Clientschlüssel- und Zertifikatsdatei auf den 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.keyErstellen Sie die Client-Konfigurationsdatei
cat <client.ovpnclienttls-clientpulldev tunproto udpremote 192.168.43.12 1194resolv-retry infinitenobinddhcp-option DNS 208.67.222.222user nonegroup nogrouppersist-keypersist-tunkey-direction 1tls-auth ta.key 1comp- lzoverb 3ca ca.crtcert client.crtkey client.keyauth SHA512remote-cert-tls serverEOF Um von einem Linux-System aus eine Verbindung zum VPN-Server herzustellen, führen Sie den folgenden Befehl aus:
sudo openvpn client.ovpnHerrlich!! Das ist alles, was Sie brauchen, um den OpenVPN-Server FreeBSD 12 zu installieren und zu konfigurieren. Vielen Dank fürs Lesen.