Installatie OpenVPN

Uit computer infrastructuur
Versie door Arrcy (overleg | bijdragen) op 30 aug 2020 om 12:33
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen
downloaden van ubuntu template

Als eerste begin je met het downloaden van de meest recente ubuntu LTS (Long Term Support) container. Dit kan worden gedaan in Proxmox onder "schijven-content-templates". Als dit is gedownload kun je beginnen met het aanmaken van een container. Hier bij moet "unprivilaged" container worden uitgezet, anders werkt het tun/tap interface niet. Dit interface is nodig om VPN connecties tot stand te brengen. Ook bij het maken van de container opent er een wizzard die vrij gemakkelijk doorlopen kan worden. Na het maken van de container hoeft er eigelijk niet veel meer te gebeuren, want in dit voorbeeld wordt gebruik gemaakt van een installatie script. Als eerste begin je met de sources.list te updaten en te upgraden met het onderstaande command.

Voeg zo nodig extra sources toe aan /etc/apt/sources.list indien er extra installaties moeten worden uitgevoerd.

De volgende commands moeten worden uitgevoerd om de container te updaten:

apt-get update && apt-get upgrade

Hierna kun je met het volgende command "wget" installeren:

apt-get install wget

Vervolgens gebruik je "wget" om het script te downloaden:

wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh

Om het script uitvoerbaar te maken moet het volgende worden uitgevoerd:

chmod +x openvpn-install.sh

Met ./ kun je het bash script laten starten:

./openvpn-install.sh

Nu wordt er al weer een installatie wizzard geopend. Hierbij kan zo nodig een ander protocol worden gekozen, maar ik raad ten zeerste het gebruik van udp aan omdat deze sneller is. Een andere port kan wel makkelijk worden gebruikt, maar dan moet dit op alle overige plekken worden gespecificeerd. Nadat de installatie wizzard is voltooid kan eerst worden gechecked of alles goed is ingesteld.

Dit kan als volgt worden gedaan:

nano /etc/openvpn/server/server.conf

Hierin kunnen aanpassingen worden gedaan aan de server. Vergeet niet, dat wanneer dit wordt gedaan, ook de client config aan moeten worden gepast. Dit kan als volgt worden gedaan:

nano /etc/openvpn/server/client-common.txt

Als voorbeeld ziet mijn config er als volgt uit:

local 192.168.1.124
port 9201
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 192.168.1.108"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

Een tip voor iemand die zijn VPN altijd wil laten werken: maak gebruik van port 443. Dit omzeilt 99% van alle blokkades in bedrijfsnetwerken. Dit komt doordat 443 ook wordt gebruikt voor https en een bedrijf moeilijk websites kan blokkeren. In de configuratie kun je later ook de DNS server van windows zetten, zodat clienten buiten het netwerk zich ook kunnen aansluiten bij dit domein. Nu moet in de firewall van pFsense een port worden geopend. Voordat dit kan worden gedaan moet eerst het lokale ip adres van de container bekend zijn. De makkelijkste manier is als volgt:

apt-get install ifconfig
output van ifconfig
voorbeeld van portforward

Voer hierna ifconfig uit en noteer het ip adres van interface eth0 of ander gebruikt interface. In mijn geval krijg ik het volgende (zie hiernaast).

Na dit gedaan te hebben kunnen we via NAT in pfSense portforwarden naar (in mijn geval) 192.168.1.122 Als dit alles gedaan is kun je een open vpn profiel aanmaken.

Dit kan als volgt worden gedaan: voer opniew het onderstaande command uit en kies voor de optie "create profiel":

./openvpn-install.sh

Na een naam te hebben gegeven aan het profiel kun je via filezilla het profiel downloaden. Als eerste installeer je file zilla en check je of root login in ssh is toegestaan. Dit kan als volgt worden gecontroleerd:

nano /etc/ssh/sshd_config
filezilla

Pas PermitRootLogin <syntax> naar PermitRootLogin yes

Check vervolgens of PasswordAuthentication yesstaat anders zal file zilla niet werken. Als dit alles is gedaan kan met de container worden verbonden en het profiel worden gedwonload. Hierna kan het profiel worden gebruikt op de computer of telefoon om een VPN verbinding tot stand te brengen.

Installatie pi-hole