Lees hier hoe je een Private Network configureert op Ubuntu 16.04.
Inhoudsopgave
- Stap 1: Log in op je VPS met SSH
- Stap 2: Controleer de beschikbare netwerkadapters
- Stap 3: Configureer de netwerkadapter
- Stap 4: Configureer de firewall
- Stap 5: Sla de nieuwe iptables-regels op
Stap 1: Log in op je VPS met SSH
Log in op je VPS met het SSH-protocol. Hiermee krijg je toegang tot de CLI (command-line interface), waar we al het werk doen.
Stap 2: Controleer de beschikbare netwerkadapters
Om een overzicht te krijgen van alle beschikbare netwerkadapters voer je het volgende commando uit:
ip addr
Dit genereert een output 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 gebruiken om het lokale netwerk mee tot stand te brengen. Als hier meerdere netwerkadapters beschikbaar zijn (eth2, eth3, etc.), controleer dan in je Mijn Argeweb-omgeving welke de juiste is. Je gebruikt hiervoor het MAC-adres.
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. Houdt er wel rekening mee dat het niet mogelijk is om hetzelfde IP-adress (IPADDR) in te stellen op meerdere apparaten binnen hetzelfde netwerk. Op de eerste VPS (hieronder) stel je dan ook het IP-adres 10.0.0.1 in, terwijl de tweede VPS bijvoorbeeld het IP-adres 10.0.0.2 krijgt.
#eth1 auto eth1 iface eth1 inet staticaddress 10.0.0.1 netmask 255.255.255.0
Herstart vervolgens het netwerk op je 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, test je dit met de volgende opdracht:
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