Vandaag staan we van 9:00 – 15:45 voor je klaar
Vandaag zijn we gesloten

Een Private Network configureren op Ubuntu 16.04

Laatste update: 22 Jul 2020

Stap 1: Log in op uw VPS met SSH

U dient op uw VPS in te loggen met het SSH-protocol. Hiermee wordt toegang verkregen tot de CLI (command-line interface), waar we al het werk zullen doen.

Stap 2: Controleer de beschikbare netwerkadapters

Om een overzicht te krijgen van alle beschikbare netwerkadapters dient het volgende commando uitgevoerd te worden:

ip addr

Dit zal een output genereren dat er als volgt uitziet:

root@vps:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1d:d8:b7:49:3a brd ff:ff:ff:ff:ff:ff
inet 145.131.8.19/24 brd 145.131.8.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::21d:d8ff:feb7:493a/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:1d:d8:b7:49:3c brd ff:ff:ff:ff:ff:ff

Hieruit valt op te maken dat er drie adapters beschikbaar zijn, namelijk localhost, eth0 en eth1. Localhost is de machine zelf, eth0 is de primaire netwerkadapter waaraan uw WAN-IP is gekoppeld. Tot slot is eth1 de adapter die we zullen gebruiken om het lokale netwerk mee tot stand te brengen. Als hier meerdere netwerkadapters beschikbaar zijn (eth2, eth3, etc.), controleer dan in uw Mijn Argeweb-omgeving welke de juiste is. U kunt hiervoor het MAC-adres gebruiken.

Stap 3: Configureer de netwerkadapter

Op Ubuntu 16.04 is het noodzakelijk om de netwerkadapter toe te voegen aan de interface-configuratie. Om het relevante bestand aan te passen met de een tekstbewerker (vi) dient de volgende opdracht te worden opgegeven:

vi /etc/network/interfaces

In dit bestand dient het onderstaande toegevoegd te worden. U dient er wel rekening mee te houden dat het niet mogelijk is om hetzelfde IP-adress (IPADDR) in te stellen op meerdere apparaten binnen hetzelfde netwerk. Op de eerste VPS (hieronder) dient u dan ook het IP-adres 10.0.0.1 in te stellen, terwijl de tweede VPS bijvoorbeeld het IP-adres 10.0.0.2 kan krijgen.

#eth1
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.0

Herstart vervolgens het netwerk op uw VPS door de volgende opdracht op te geven:

sudo /etc/init.d/networking restart

Check vervolgens opnieuw de beschikbare netwerkadapters met het commando ip addr om te zien of de eth1-netwerkadapter goed is ingesteld. Dit zou nu het volgende moeten laten zien:

root@vps:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1d:d8:b7:49:3a brd ff:ff:ff:ff:ff:ff
inet 145.131.8.19/24 brd 145.131.8.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::21d:d8ff:feb7:493a/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1d:d8:b7:49:3c brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/24 brd 10.0.0.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::21d:d8ff:feb7:493d/64 scope link
valid_lft forever preferred_lft forever

Als het resultaat er goed uitziet zou het nu mogelijk moeten zijn om succesvol een ping uit te voeren naar deze VPS vanaf een andere VPS die geconfigureerd is om deel te nemen aan het virtuele privénetwerk. Op de tweede VPS, welke bijvoorbeeld IP-adres 10.0.0.2 heeft gekregen, kunt u dit met de volgende opdracht testen:

ping 10.0.0.1

Stap 4: Configureer de firewall

Om een daadwerkelijke dataoverdracht tussen twee VPS’en binnen hetzelfde lokale netwerk mogelijk te maken, dient de iptables-firewall hiervoor geconfigureerd te worden. Hiervoor is het alleen nodig om het lokale IP-adres van de andere VPS toe te laten. Zo zal bijvoorbeeld op de eerste VPS (10.0.0.1) de onderstaande opdracht moeten worden gegeven om de tweede VPS (10.0.0.2) toe te kunnen laten:

iptables -I INPUT -s 10.0.0.2/32 -p tcp -m tcp -j ACCEPT

Het is ook mogelijk om een andere VPS slechts toegang tot specifieke porten te geven. Hieronder hebben we een volledig overzicht geplaatst van de verschillende manieren waarop dit gedaan kan worden. In het onderstaande overzicht wordt de firewall op de eerste VPS met IP-adres 10.0.0.1 ingesteld. Als dit juist andersom moet, pas dan het IP-adres in de onderstaande voorbeelden aan naar het correcte adres.

Om een specifieke port open te zetten:

iptables -I INPUT -s 10.0.0.2/32 -p tcp -m tcp --dport 3000 -j ACCEPT

Om meerdere specifieke porten open te zetten:

iptables -I INPUT -s 10.0.0.2/32 -p tcp -m multiport --dports 3000,4000,5000 -j ACCEPT

Om een portrange open te zetten:

iptables -I INPUT -s 10.0.0.2/32 -p tcp -m multiport --dports 3000:3010 -j ACCEPT

Stap 5: Sla de nieuwe iptables-regels op

Op Ubuntu 16.04 zullen de bovenstaande iptables-opdrachten niet standaard bewaard blijven en gaan bijvoorbeeld met een herstart van de server verloren. De meest eenvoudige manier om dit te voorkomen is door gebruik te maken van iptables-persistent. Deze kan worden geïnstalleerd met de volgende opdracht:

sudo apt-get install iptables-persistent

De bovenstaande regels blijven alleen actief in de huidige sessie. Zodra de firewall of VPS worden herstart zullen de regels niet langer actief zijn. Zorg er daarom voor dat de nieuwe configuratie wordt opgeslagen nadat de bovenstaande opdrachten zijn gegeven. Zo blijven deze ook na een herstart actief. Dit kan worden gedaan met de volgende opdracht:

iptables-save > /etc/iptables/rules.v4

Een .nl domein registreren? Eerste jaar slechts 3,99
Check mijn domein