Posts Unifi Security Gateway (USG) met KPN L2TP VPN
Post
Cancel

Unifi Security Gateway (USG) met KPN L2TP VPN

Inleiding

Deze handleiding neem ik je mee hoe je met een L2TP VPN van buitenaf verbinding kan maken met de USG op je KPN FttH aansluiting. Deze handleiding is alleen van toepassing indien je ook IPTV hebt geconfigureerd via deze handleiding waarin we de USG rechtstreeks aansluiten op de FTTH verbinding van KPN.

Wat is een L2TP VPN?

Met een VPN (Virtual Private Network) maak je een verbinding vanaf, bijvoorbeeld, je telefoon of laptop via het internet met je USG. Nadat je inloggegevens zijn gecontroleerd is je telefoon of laptop onderdeel van het VPN netwerk op de USG. Vanuit dit VPN netwerk kan je telefoon of laptop apparaten bereiken op je andere interne netwerk(en) of het internet bereiken via de USG waardoor het lijkt alsof je vanaf je thuis netwerk het internet op gaat.

Voorbereiding

Voordat we daadwerkelijk gaan beginnen is het belangrijk om een aantal zaken voor te bereiden.

Hardware

De volgende hardware hebben we nodig om deze handleiding te kunnen voltooien.

TypeMerkOmschrijving
USG RouterUbiquitiDit is de Ubiquiti Unifi security gateway (USG) die internet en IPTV verzorgt.
Unifi controllerUbiquiti / andersMet de controller stel je de USG in, deze kan op een stuk hardware (cloudkey) draaien maar ook op je computer, server, NAS rechstreeks of bijvoorbeeld via docker.
VPN ClientTelefoon/LaptopEen apparaat wat L2TP VPN ondersteuning heeft (Andriod, IOS, Mac (OSX) of Windows) en de mogelijkheid om dit te testen buiten je eigen internet verbinding om, bijvoorbeeld via 4G of WiFi van de buren.

Let op: deze handleiding is bedoeld voor een Ubiquity Unifi Security Gateway 3. Indien je een USG 4 Pro hebt dien je in de setvpn.sh de interfaces aan te passen op de manier waarop je je USG 4 Pro hebt aangesloten. Bij de USG 3 is eth0 WAN en eth1 LAN.

Software

In deze handleiding ga ik er vanuit dat we Windows 10 gebruiken waarbij we onderstaande software gaan gebruiken. Graag deze bestanden downloaden zodat ze klaar staan als we gaan beginnen.

SoftwareOmschrijving
putty.exe (64‑bit)Met dit programma kunnen we via SSH inloggen op de USG en eventueel de controller om commando’s uit te voeren.
WinSCP PortableWinSCP gebruiken we om via Secure Copy Protocol bestanden van onze computer naar de USG en eventueel de controller te krijgen.
usg-kpn-ftth-vpn zipDe inhoud van mijn github repo met VPN ondersteuning in zip formaat zodat we alle bestanden in het juiste (UNIX) formaat hebben. Deze gaan we later naar de juiste locaties (Controller) verplaatsen.

Gegevens

Onderstaande informatie gaan we gebruiken in deze handleiding.

InformatieOmschrijving
Extern IPv4 adresDit is het IPv4 adres van je KPN aansluiting, dit kan je achterhalen om via je KPN verbinding naar bijvoorbeeld test-ipv6.com te gaan. get_ip_address
URL ControllerDit is het web adres waarop de unifi controller bereikbaar is, deze is bereikbaar op een IP adres en draait vaak op poort 8443 (HTTPS).
Controller loginDe gebruikersnaam en wachtwoord om in te kunnen loggen op de controller.
SSH login gegevens USGDe gebruikersnaam en wachtwoord om via SSH in te kunnen loggen op de USG (zie kopje hieronder).

SSH toegang unifi apparaten

Om toegang te krijgen tot de USG via SSH moet dit geconfigureerd zijn. In de webinterface van de controller ga je naar settings en dan naar Controller Configuration en scroll je naar beneden naar Element SSH Authentication. Hier vink je Element SSH authentication aan en kies je een gebruikersnaam en wachtwoord. Daarna klik je op Apply Changes. Vanaf nu kan je met deze gebruikersnaam en wachtwoord via SSH inloggen op de USG.

unifi_controller_ssh

Uitgangssituatie

Voordat we beginnen moeten we eerst weten waar we starten. In deze handleiding starten we met het volgende:

  1. De USG zit met de WAN aansluiting direct aangesloten aan de NTU van KPN met een ethernet (UTP) kabel.
  2. De LAN aansluiting van de USG zit met een ethernet (UTP) kabel verbonden met een switch.
    Dat kan een unifi switch zijn maar mag ook een ander merk zijn, wel moet IGMP en VLAN ondersteund worden.
  3. Op de switch (direct of via een andere switch), zit de unifi controller verbonden.
    Dit kan een unifi cloud key zijn maar ook een computer, server of een NAS.
  4. Ook zit de IPTV setupbox van KPN via een ethernet kabel verbonden aan een switch met IGMP en VLAN ondersteuning.
  5. Deze handleiding (link) is uitgevoerd en TV en internet werkt op dit moment.
  6. [Optioneel] De IPTV kastjes zitten in hun eigen VLAN door middel van deze handleiding link.

Als we de bestanden hebben gedownload pakken we de twee zip bestanden (winscp en usg-kpn-ftth vpn.zip) uit zodat we een map met WinSCP, een map met de configuratie bestanden en als laatst putty.exe hebben.

files_downloaded

Oude interface inschakelen

Er is, helaas, een fout in de software van de Unifi controller geslopen waardoor je de VPN verbinding alleen succesvol kan instellen als je de oude interface gebruikt. Ga via Settings naar System Settings en schakel New Settings uit. Klik nu op Apply Changes.

old_interface

Radius server inschakelen

We gaan de radius server inschakelen, welke verantwoordelijk is voor het controleren van de inloggegevens. Ga naar Settings, klik op Services, Radius en daarna op Server. Schakel de Enable RADIUS Server naar ON, vul een Secret in (kies hier een wachtwoord wat intern in de USG zal worden gebruikt om te communiceren met de Radius server) en klik op Apply Changes.

enable_radius

Klik nu op de Users tab en klik op + Create New User.

radius_users

Vul bij Name een gebruikersnaam en bij Password een wachtwoord in. Deze gegevens zal je ook moeten invullen in de VPN client om verbinding te maken met de USG. Laat VLAN leeg, kies bij Tunnel Type voor 3 - Layer Two Tunneling Protocol (L2TP) en bij Tunnel Medium Type voor 1 - IPv4 (IP version 4). Klik nu op Save.

radius_create_user

VPN Netwerk aanmaken

Nadat we de Radius server hebben ingeschakeld en een gebruiker hebben aangemaakt gaan we nu een VPN Netwerk toevoegen waar VPN gebruikers onderdeel van worden zodra ze via VPN verbinding maken met de USG.

Ga via Settings naar Networks en klik op + Create New Network.

networks_without_vpn

Maak een nieuw VPN netwerk met de volgende gegevens:

OmschrijvingKeuze
NameKies een naam voor het VPN netwerk, bijvoorbeeld VPN.
PurposeRemote User VPN
VPN TypeL2TP Server
Pre-Shared KeyKies een wachtwoord, dit wachtwoord moet je straks ook invullen in je VPN client.
Gateway IP/SubnetVul hier 100.64.64.64/24 in, deze ip reeks is speciaal1 en wordt niet intern gebruikt en zorgt dat je geen IP conflict krijgt.
Name ServerAuto
WINS ServerUitgevinkt
Site-to-Site VPNUitgevinkt
RADIUS ProfileDefault
MS-CHAP v2Uitgevinkt

Klik nu op Save.

create_vpn_network

In de lijst met netwerken moet het nieuw aangemaakte VPN netwerk er nu bij staan.

networks_with_vpn

WAN Netwerk controleren

Het is belangrijk om te zorgen dat het WAN netwerk niet is geconfigureerd en dat Use VLAN ID is uitgevinkt. Het WAN netwerk wordt namelijk via de config.gateway.json geconfigureerd en ook setvpn.sh gaat er vanuit dat het WAN netwerk als volgt is ingesteld. Je kan deze instellingen bereiken door via Settings naar Networks te gaan en dan te kiezen voor Edit bij het WAN netwerk.

networks_wan

Setvpn.sh plaatsen

Start WinSCP en klik in WinSCP op de knop New Session en vul de gegevens in van de USG. De eventuele waarschuwing van unkown server beantwoordt je met Yes. Een popup met een welkomstboodschap verschijnt en hier mag je op Continue klikken.

winscp_usg

Nadat de verbinding tot stand is gekomen navigeren we in het rechter venster naar de locatie /config/scripts/post-config.d. In het linker scherm selecteren we setvpn.sh en klikken we weer op de knop Upload. Klik hierna op Ok en daarna is het bestand op de USG geplaatst.

winscp_usg_upload

Nu moeten we het bestand uitvoerbaar maken. Dat doen we door de het bestand te selecteren en daarna met de rechtermuisknop er op te klikken en voor Properties te kiezen.

winscp_usg_select

In de eigenschappen mag je een vinkje zetten bij elke X (bij Octal komt nu 0755 te staan) en daarna op Ok klikken.

winscp_usg_chmod

Nu mag je WinSCP sluiten en in de controller naar Devices gaan. Ga met de muis op de regel van de USG staan, rechts verschijnt de herstart optie en dan klik je op Restart.

unifi_controller_usg_restart

Na de herstart worden de VPN instellingen geactiveerd en kunnen we nu de VPN gaan testen.

VPN Testen

In dit voorbeeld pak ik een iPhone maar dezelfde logica kan worden gebruikt op een Android telefoon of laptop.

Ga op de iPhone naar Settings en daarna naar VPN. Kies voor Add VPN Configuration....

ios_settings_vpn

Vul de volgende gegevens in:

OmschrijvingKeuze
TypeL2TP
DescriptionKies een naam voor het VPN verbinding, bijvoorbeeld Thuis.
ServerHet externe IPv4 adres van je KPN internet verbinding.
AccountDe gebruikersnaam die je in de Radius configuratie hebt aangemaakt.
RSA SecurIDUitgeschakeld
PasswordHet wachtwoord die je hebt gebruikt bij het aanmaken van de gebruiker in de Radius configuratie.
SecretVul hier de Pre-Shared Key in die je bij het aanmaken van het VPN netwerk hebt gekozen.
Send All TrafficJa. Aangezien het L2TP protocol geen voorziening heeft om aan te geven welke netwerken via de VPN moeten lopen moet al het verkeer via de VPN lopen wil je toegang krijgen tot apparaten in je eigen netwerk(en).
ProxyOff

Kies daarna op Done.

ios_vpn_create

In het overzicht is de VPN verbinding er nu bijgekomen. Selecteer deze verbinding en zorg dat je verbonden bent via een ander netwerk dan je eigen KPN internet verbinding (bijvoorbeeld via 4G of WiFi van je buren).

ios_vpn_created

Zet nu de VPN verbinding aan door de knop om te zetten in de Status regel. Als alles goed gaat zal je nu zien dat je verbonden bent.

ios_vpn_connected

Je kan nu naar je webbrowser gaan en in google vragen naar what is my ip. Als resultaat zie je het IPv4 adres waar Google ziet waar je vandaan komt. Dit is, als je al het verkeer doorstuurt naar de USG, het IPv4 adres van je KPN Internet verbinding.

ios_vpn_external_ip

Ook kan je nu verbinding maken met apparaten in je eigen netwerk, hieronder een voorbeeld van de login pagina van de unifi controller op mijn interne netwerk.

ios_vpn_interal_server

Indien je me wilt bedanken (hoeft niet, mag wel) dan kan dat via Buymeacoffee.

  1. 100.64.0.0/10 Reserved IP Space, CGN: Wikipedia 

This post is licensed under CC BY 4.0 by the author.

Trending Tags