Dit is een oude revisie van het document!
installeer de nodige software door:
yum install epel-release
en vervolgens:
yum install openvpn
Maak de signing request als volgt aan op de VPN server zelf:
yum install openssl
mkdir -p /etc/openvpn/certs/keys
chmod 400 /etc/openvpn/certs/keys
cd /etc/openvpn/certs
Maak een config file aan voor de server csr: vi vpnserver.cnf
en zet hier in:
# vpnserver.cnf # This configuration file is used by the 'req' command when the server certificate is created. [ req ] default_bits = 2048 default_md = sha2 encrypt_key = no prompt = no string_mask = utf8only distinguished_name = server_distinguished_name req_extensions = req_cert_extensions # attributes = req_attributes [ server_distinguished_name ] countryName = NL stateOrProvinceName = zuid Holland localityName = Den Haag organizationName = Boerema CI&ND organizationalUnitName = IT Dept. commonName = vpnserver.auriel.nl emailAddress = hostmaster@auriel.nl [ req_cert_extensions ] nsCertType = server subjectAltName = email:hostmaster@auriel.nl
en maak de CSR aan door:
openssl req -new -config vpnserver.cnf -keyout vpnserver.key -out vpnserver.csr
chmod 400 server.key
transporteer deze naar de CA server en sign deze.
Maak ook voor de client een certificaat-key pair aan (deze zullen we op alle clients gebruiken):
vi vpnclient.cnf
en zet hier in:
# vpnclient.cnf # This configuration file is used by the 'req' command when the server certificate is created. [ req ] default_bits = 2048 default_md = sha2 encrypt_key = no prompt = no string_mask = utf8only distinguished_name = client_distinguished_name req_extensions = req_cert_extensions # attributes = req_attributes [ client_distinguished_name ] countryName = NL stateOrProvinceName = zuid Holland localityName = Den Haag organizationName = Boerema CI&ND organizationalUnitName = IT Dept. commonName = vpnclient.auriel.nl emailAddress = hostmaster@auriel.nl [ req_cert_extensions ] nsCertType = client subjectAltName = email:hostmaster@auriel.nl
en maak de CSR aan door:
openssl req -new -config vpnclient.cnf -keyout vpnclient.key -out vpnclient.csr
chmod 400 vpnclient.key
transporteer deze naar de CA server en sign deze.
openssl dhparam -out dh2048.pem 2048
zowel de clients als de server moeten deze file hebben.
openvpn --genkey --secret ta.key
chmod 400 ta.key
zowel de clients als de server moeten deze file hebben.
Kopieer het voorbeeld configuratiefile naar de juiste locatie:
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
En pas deze aan: vi /etc/openvpn/server.conf
en zorg dat de volgende parameters als volgt staan:
port 1194 proto udp dev tun ca /etc/openvpn/certs/ca.crt cert /etc/openvpn/certs/vpnserver.auriel.nl.crt key /etc/openvpn/certs/vpnserver.auriel.nl.key dh /etc/openvpn/certs/dh2048.pem server 10.8.1.0 255.255.255.0 ifconfig-pool-persist ipp.txt duplicate-cn keepalive 10 120 cipher AES-256-CBC tls-auth /etc/openvpn/certs/ta.key 0 user nobody group nobody persist-key persist-tun status openvpn-status.log verb 3 explicit-exit-notify 1
We routeren niet, we staan alleen een VPN verbinding toe. Open de firewall voor de poort die we net hebben geconfigureerd, 1194:
firewall-cmd --permanent --add-port=1194/tcp
firewall-cmd --reload
en start de applicatie nu en in de toekomst:
systemctl enable openvpn@server.service
systemctl start openvpn@server.service
Maak een configuratie file: vi /etc/openvpn/client/client.ovpn
en zet hier in:
vpnclient.auriel.nl dev tun proto udp pull remote vpnserver.auriel.nl 1194 ca ca.crt cert OpenVPNclient.crt key OpenVPNclient.key dh dh2048-metis.pem cipher AES-256-CBC tls-auth ta.key 1
and in client config
tls-auth ta.key 1