Lees hier hoe je een Private Network configureert op CentOS 7.
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
Je logt in op VPS met het SSH-protocol. Hiermee krijg je toegang 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 voer je de volgende opdracht uit:
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 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 qlen 1000 link/ether 00:1d:d8:b7:44:5e brd ff:ff:ff:ff:ff:ff inet 145.131.3.228/24 brd 145.131.3.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::21d:d8ff:feb7:445e/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1d:d8:b7:44:60 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 je 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 je Mijn Argeweb-omgeving welke de juiste is. Je gebruikt hiervoor het MAC-adres.
Stap 3: Configureer de netwerkadapter
Voer de volgende opdracht uit om een script voor de netwerkadapter aan te maken en deze meteen in de tekstbewerker VI te openen:
vi /etc/sysconfig/network-scripts/ifcfg-eth1
In dit bestand voeg je het onderstaande toe. Houdt er wel rekening mee 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) 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.
DEVICE='eth1' STARTMODE='auto' BOOTPROTO='static' IPADDR='10.0.0.1' NETMASK='255.255.255.0'PEERDNS='no'
Herstart vervolgens het netwerk op je VPS door de volgende opdracht op te geven:
systemctl restart network.service
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 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 qlen 1000 link/ether 00:1d:d8:b7:44:5e brd ff:ff:ff:ff:ff:ff inet 145.131.3.228/24 brd 145.131.3.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::21d:d8ff:feb7:445e/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1d:d8:b7:44:60 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:4460/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, configureer je de iptables-firewall hiervoor. 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
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 doe je met de volgende opdracht:
iptables-save > /etc/sysconfig/iptables