In Aanbouw: Dit artikel is nog in aanbouw. Meer info... |
OpenVPN Documentatie
Thuis - Server - Text Gebaseerde Linux Client - Grafisch met GNOME Network Manager - Grafische Client Windows XP - Grafische Client Windows Vista - Grafische Client Windows 7
Let Op! Aan deze documentatie wordt nog gewerkt.
Discussieer over dit artikel:http://forum.ubuntu-nl.org/documentatie/how-to-openvn/ en help mee
Server
Installatie
Eerst installeert u OpenVPN en dnsmasq. Dnsmasq deelt ip-adressen aan client computers uit.
Ubuntu/Debian:
sudo apt-get install openvpn dnsmasq
Fedora/CentOS/RedHat:
sudo yum install openvpn dnsmasq
Configureren
Maken van een directory waarin een programma wordt gekopieerd die codes aan kan maken
sudo mkdir /etc/openvpn/easy-rsa && sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Aanpassen van gebruikerscertificaat
Je wijzigt het bestand /etc/openvpn/easy-rsa/vars en pas je helemaal onderaan KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG en KEY_EMAIL. aan je situatie aan. door het volgende commando
sudo nano /etc/openvpn/easy-rsa/vars
Creëren van CA(Certificate Authority) en dan een eerste servercertificaat
sudo -i cd /etc/openvpn/easy-rsa/ chmod g+w * source ./vars ./clean all ./build-dh ./pkitool --initca ./pkitool --server server cd keys openvpn --genkey --secret ta.key cp server.crt server.key ca.crt dh1024.pem ta.key ../../ exit
Configuratie aanmaken
Maak nu een configuratie aan van de openVPN Server in /etc/openvpn/server.conf
mode server tls-server # Het echte locale ip van de server/desktop local 0.0.0.0 #de aangegeven poort port 1194 # Protocol, udp of tcp proto udp dev tun persist-key persist-tun # De certificaten en codes ca ca.crt cert server.crt key server.key dh dh1024.pem # Het cijfer na de bestandsnaam dient voor het aangeven van de richting, de normale richting is van 0 naar 1 tls-auth ta.key 0 # Functie om de pakketten die over de verbinding worden verstuurd te comprimeren comp-lzo # DCHP van het virtuele netwerk (tweede ip is subnetmask) server 0.0.0.0 0.0.0.0 user nobody group nogroup keepalive 10 120 status openvpn-status.log verb 3
Openvpn als veilige gateway gebruiken
Aanpassingen op de OpenVPN server
Als u Openvpn als veilige gateway wilt gebruiken, voegt u de regel push "redirect-gateway def1" aan het configuratie bestand van de server toe. Nu geeft de OpenVPN server door aan de client dat alle informatie die normaal via de standaard gateway van de client gaat, nu via de VPN gerouteerd moet worden. De server moet dan wel eerst als router geconfigureerd worden, anders blokkeert deze die informatie meteen. Dat instellen van routering gaat met iptables en een kernel configuratie (als root uitvoeren):
iptables:
# Apply forwarding for vpn tunnel iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 0.0.0.0/24 -j ACCEPT iptables -A FORWARD -j REJECT iptables -t nat -A POSTROUTING -s 0.0.0.0/24 -o eth0 -j MASQUERADE
In plaats van 0.0.0.0 , typt u uw uitgekozen dchp netwerk in voor het VPN.
kernel configuratie:
Naast het configureren van iptables moet ook de kernel nog routing toestaan. Dat kan door in /etc/sysctl.conf een # weg te halen voor een regel:
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1
Verder moet er nog doorgegeven worden aan clients wat de dns server is die wordt gebruikt.
Om het ip-adres van deze dns server te vinden toest u in de server het volgende commando in op de OpenVPN server, u ziet dan vanzelf het ip-adres van de nameserver:
cat /etc/resolv.conf
Vervolgens voegt u de volgende regel toe aan de server OpenVPN configuratie:
push "dhcp-option DNS 0.0.0.0"
Waarbij u '0.0.0.0' vervangt door het boven gevonden ip adres.
Aanpassingen op de Linux OpenVPN client
Een Linux OpenVPN client gebruikt nu echter nog dezelfde dns nameserver als altijd, en omdat de client dns aanvragen nu gerouteerd worden via de server zou de client ook gebruik moeten maken van de dns nameserver die de OpenVPN server gebruikt. Zodra de VPN verbinding op de client geactiveerd wordt moet dus automatisch het adres van de nameserver gewijzigd worden. Dit kan met het pakket resolvconf. Installeer dit pakket:
sudo apt-get install resolvconf
Link nu de automatisch gegenereerde resolv.conf door naar /etc/resolv.conf:
cd /etc #maak een backup van resolv.conf sudo mv resolv.con resolv.conf.orig sudo ln -s /etc/resolvconf/run/resolv.conf /etc/resolv.conf
Installeer nu de OpenVPN client.
Voeg vervolgens de volgende regels toe aan de clients OpenVPN configuratie (/etc/openvpn/client.conf):
up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf
Herstarten openVPN
Na de configuratie moet u de server herstarten
sudo /etc/init.d/openvpn restart
Openvpn automatisch laten opstarten
Om openVPN automatisch te laten starten bij het opstarten, moet u het "#" voor AUTOSTART="all" verwijderen, in het bestand /etc/default/openvpn.
sudo nano /etc/default/openvpn
Aanmaken certificaat client
Nu moet u nog certificaten voor client 1 aanmaken, de certificaten bevinden zich in de map /etc/openvpn/easy-rsa/keys:
cd /etc/openvpn/easy-rsa/ source ./vars ./pkitool client1
Als u meerdere client certificaten wilt aanmaken kunt "client1" wijzigen in een door u gekozen naam.
Aanmaken van 2e identiteit
Heeft de client een geheel ander identiteit dan kunt u een tweede identiteit aanmaken door de inhoud van het eerst identiteit /etc/openvpn/easy-rsa/vars te kopiëren naar een een nieuw identiteit met de naam vars2, in dezelfde map (/etc/openvpn/easy-rsa). en alleen de regels KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG en KEY_EMAIL te wijzigen naar de nieuwe identiteit.
cd /etc/openvpn/easy-rsa/ cat vars >> vars2 sudo nano vars2
U bent nu klaar met het configureren van de server, nu moet u de client nog configureren