How to OpenVPN server EdgeRouter
Heeft even geduurd, maar bij deze de stappen.
De stappen zijn te doen op een al geconfigureerde EdgeRouter, deze hoeft dus niet eerst gereset te worden.
Een werkende internet verbinding is wel een vereiste voor de configuratie.
Verbind met SSH naar de EdgeRouter en log in met je inlog gegevens
Om de certificaten te kunnen genereren moet je root zijn, dit doe je met het volgende commando.
Daarna ga naar de volgende directory met het commando
Tijd om het root certificaat te genereren welke nodig is voor de rest van de certificaten
Er worden wat gegevens gevraagd om het certificaat te kunnen genereren.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| CA filename druk enter // een nieuw CA certificaat moet worden gegenereerd
PEM passphrase SOMEPASSWORD
Verifying passphrase SOMEPASSWORD
Country LANDCODE
Province PROVINCIE
City STAD
Company NAAM ORGANISATIE
Organizational unit NAAM AFDELING
Common Name UNIEKE NAAM
email EMAILADRES
Challange password SOMEPASSWORD
Optional company name OPTIONEEL
Password cakey.pem SOMEPASSWORD |
De worden in hoofdletters moet je invullen in de velden een voorbeeld is voor mij bijvoorbeeld
Password1, Password1, NL, Utrecht, Amersfoort, Private use, Home, root@domein.nl, rootuser@domein.nl, Password2, leeg, Password3
Het is aangeraden om de wachtwoorden niet gelijk te houden, dit is opzich geen verplichting en kan makkelijker zijn om ze gelijk te houden.
Kopieer nu het CA certificaat naar een directory welke niet gewist word bij een firmware update, gebruik hiervoor de volgende commando's. De directory waar ze naar toe gaan is /config/auth/openvpn/keys/*
[code]
cp demoCA/cacert.pem /config/auth/openvpn/keys
cp demoCA/private/cakey.pem /config/auth/openvpn/keys
[/code/
Nu kunnen we het certificaat genereren voor de router zelf dit doe je met het volgende commando
Ook hier worden gegevens gevraagd
code:
1
2
3
4
5
6
7
8
9
10
11
| PEM Passphrase SOMEPASSWORD
Verifying passphrase SOMEPASSWORD
Country LANDCODE
Province PROVINCIE
City PLAATS
Company NAAM ORGANISATIE
Organizational unit NAAM AFDELING
Common name UNIEKE NAAM
email EMAILADRES
Challange password SOMEPASSWORD
Optional company name OPTIONEEL |
Bijvoorbeeld de volgende input: Password1, Password1, NL, Utrecht, Amersfoort, Private use, Home, router@domein.nl, rootuser@domein.nl, Password3, leeg
Daarna moeten we het certificaat signen, dit kan de router zelf. Gebruik hiervoor het volgende commando
De volgende input word gevraagd
code:
1
2
3
| Password cakey.pem SOMEPASSWORD
Sign certificate y
Commit y |
Het wachtwoord wat word gevraagd is het wachtwoord wat we als eerste hebben opgegeven tijdens het genereren van het certificaat, in dit voorbeeld dus Password1
Daarna kunnen we het certificaat verplaatsen zodat deze bewaard blijft tijdens een firmware upgrade. Tevens word dit bestand overschreven als je een nieuw certificaat genereert.
Gebruik hiervoor de volgende commando's (de naam word gelijk aangepast zodat we weten waarvoor het certificaat is, je kunt hiervoor je eigen benaming gebruiken)
code:
1
2
| mv newcert.pem /config/auth/openvpn/keys/router.domein.pem
mv newkey.pem /config/auth/openvpn/keys/router.domein.key |
Nu de Diffie-Hellman parameter, deze kost een behoorlijke tijd om te genereren. Zorg dat de verbinding met de EdgeRouter behouden blijft anders stop het genereren van dit bestand (duurde bij mij tussen de 3-3,5 uur)
code:
1
| openssl dhparam -out /config/auth/openvpn/keys/dhp.pem -2 2048 |
Nu een client certificaat, deze stap kan je herhalen voor het aantal clients welke kunnen connecten. Onthoud dat elk certificaat een unieke naam (Common name) moet hebben anders kan je deze niet signen.
Ook hier worden gegevens gevraagd
code:
1
2
3
4
5
6
7
8
9
10
11
| PEM Passphrase SOMEPASSWORD
Verifying passphrase SOMEPASSWORD
Country LANDCODE
Province PROVINCIE
City PLAATS
Company NAAM ORGANISATIE
Organizational unit NAAM AFDELING
Common name UNIEKE NAAM
email EMAILADRES
Challange password SOMEPASSWORD
Optional company name OPTIONEEL |
Bijvoorbeeld de volgende input: Password1, Password1, NL, Utrecht, Amersfoort, Private use, Home, client1@domein.nl, rootuser@domein.nl, Password3, leeg
Daarna moeten we het certificaat signen, dit kan de router zelf. Gebruik hiervoor het volgende commando
De volgende input word gevraagd
code:
1
2
3
| Password cakey.pem SOMEPASSWORD
Sign certificate y
Commit y |
Het wachtwoord wat word gevraagd is het wachtwoord wat we als eerste hebben opgegeven tijdens het genereren van het certificaat, in dit voorbeeld dus Password1
Daarna kunnen we het certificaat verplaatsen zodat deze bewaard blijft tijdens een firmware upgrade. Tevens word dit bestand overschreven als je een nieuw certificaat genereert.
Gebruik hiervoor de volgende commando's (de naam word gelijk aangepast zodat we weten waarvoor het certificaat is, je kunt hiervoor je eigen benaming gebruiken)
code:
1
2
| mv newcert.pem /config/auth/openvpn/keys/client1.domein.pem
mv newkey.pem /config/auth/openvpn/keys/client1.domein.key |
Nu een optionele optie welke de VPN poort beschermt. Er word een TLS sleutel gegenereerd welke voor de ver/ontsleuteling zorgt van de pakketen. Zonder deze sleutel kan je dus niet communiceren met de router. Deze is al actief voordat de verbinding word gemaakt en dus is alle verkeer al gelijk versleuteld.
code:
1
| openvpn --genkey --secret ta.key |
Nu moet je het router certificaat ontdoen van het password aangezien deze geen optie kent om het password op te geven. Voor andere certificaten kan je dit ook doen indien gewenst, herhaal de stap voor het desbetreffende certificaat en pas de namen aan.
code:
1
2
| cd /config/auth/openvpn/keys
openssl rsa -in router.domein.key -out router.domein_nopass.key |
Nu kan je de root rechten disablen aangezien deze niet nodig meer zijn en ook voorkomen om de configure mode in te gaan.
In de volgende post verder met de configuratie welke nodig is.
[
Voor 122% gewijzigd door
MdBruin op 30-05-2017 17:11
]