802.1Q VLAN Tagging configureren op CentOS 8

Estimated reading time: 3 min

Introductie

Een VLAN maakt het mogelijk om grote netwerken in kleinere netwerken te splitsen. De 802.1Q is een standaard die alle fabrikanten implementeren in hun netwerkapparatuur. Sommige switches maken het mogelijk om meerdere VLANs toe te voegen aan één netwerkpoort. Door deze feature is het mogelijk om meerdere VLANs aan een server toe te voegen. Doordat de ethernet frame tagged is kan de switch het pakket aan de juiste netwerk leveren.

In deze tutorial maken we twee VLANs aan. We beginnen eerst met VLAN 3047 die gekoppeld is aan het voorbeeld IP-adres 185.62.58.190. Vervolgens gaan we verder met VLAN 453 die gekoppeld is aan het voorbeeld IP-adres 78.41.207.51.

Prerequisites

  • De netwerk switch waarmee je server is verbonden moet ingesteld worden.
  • De switch moet VLAN tagging ondersteunen.
  • Je moet ingelogd zijn op jouw server met CentOS 8 als sudo of root-gebruiker. Bekijk dit artikel voor instructies als je niet zeker weet hoe je moet inloggen. 

Stap 1: Schakel NetworkManager uit

Aangezien wij het netwerk zelf gaan configureren gaan we eerst NetworkManager uitschakelen. Vaak is het zo, dat NetworkManager niet standaard wordt geinstalleerd op de srrver. Mocht dit wel zo zijn dan kun je NetworkManager verwijderen doorm het onderstaande commando uit te voeren. 

sudo yum -y remove NetworkManager NetworkManager-libnm NetworkManager-team NetworkManager-tui NetworkManager-wifi

Stap 2: Laad de kernel module

Controleer of de kernel module 8021q wel of niet is geladen. 

sudo lsmod | grep 8021q

Als je geen output krijgt dan betekent dat dat de module niet is geladed. Voer het volgende commando uit om de kernel module te laden. 

sudo modprobe 8021q

Bevestig of de module is geladen door dit commando uit te voeren sudo lsmod | grep 8021q. Je zou de onderstaande output moeten zien. 

[[email protected] ~]$ sudo lsmod | grep 8021q
8021q                  36864  0
garp                   16384  1 8021q
mrp                    20480  1 8021q

Om ervoor te zorgen dat de 8021q kernel module wordt geladen tijdens het booten moeten wij ervoor zorgen dat deze wordt toegevoegd aan het configuratiebestand ‘modules’. 

sudo su -c 'echo "8021q" >> /etc/modules'

Step 3: Vind de actieve netwerkinterface

Voer het onderstaande commando uit om de active netwerkinterface te vinden. 

clear && echo $(ip -o -4 route get 8.8.8.8 | sed -nr 's/.*dev ([^\ ]+).*/\1/p')

De active interface waarmee je server  is verbonden wordt uitgevoerd. In ons voorbeeld is dat eth0. In deze tutorial gebruiken we eth0 als de primaire netwerkinterface. 

Stap 4: Configureer de netwerkinterface

Pas het netwerkconfiguratiebestand aan van eth0.

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

Vervang het configuratiebestand met de volgende 4 regels.

BOOTPROTO="none"
DEVICE="eth0"
ONBOOT="yes"
TYPE="Ethernet"

Maak een nieuwe configuratiebestand aan voor de VLAN, in ons geval is dat VLAN 3047.

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0.3047

Voeg de volgende regels toe.

DEVICE="eth0.3047"
BOOTPROTO="none"
ONBOOT="yes"
IPADDR="185.62.58.190"
PREFIX="24"
NETWORK="185.62.58.1"
VLAN="yes"
DNS1="89.207.128.252"
DNS2="89.207.130.252"

Let op: Zorg ervoor dat je het IP-adres gebruikt die is toegewezen aan je server. Mocht je niet weten waar je dit kunt vinden, dan kun je contact met ons opnemen. 

Maak de tweede VLAN aan, bijvoorbeeld 453.

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0.453

Voeg de volgende regels toe. 

DEVICE="eth0.453"
BOOTPROTO="none"
ONBOOT="yes"
IPADDR="78.41.207.51"
PREFIX="24"
NETWORK="78.41.207.1"
VLAN="yes"
DNS1="89.207.128.252"
DNS2="89.207.130.252"

Stap 5: Creëer netwerkregels

Maak een netwerkregel bestand aan voor VLAN 3047.

sudo nano /etc/sysconfig/network-scripts/rule-eth0.3047

Add the following line.

from 185.62.58.0/24 tab 1 priority 500

Voeg de volgende regel toe.

sudo nano /etc/sysconfig/network-scripts/rule-eth0.453

Voeg de volgende regel toe.

from 78.41.207.0/24 tab 2 priority 501

Stap 6: Creëer netwerk routes

Maak een netwerk route bestand aan voor VLAN 3047.

sudo nano /etc/sysconfig/network-scripts/route-eth0.3047

Voeg de volgende regel toe.

default via 185.62.58.1 dev eth0.3047 table 1

Maak een netwerk route bestand aan voor VLAN 453.

sudo nano /etc/sysconfig/network-scripts/route-eth0.453

Voeg de volgende regel toe.

default via 78.41.207.1 dev eth0.453 table 2

Stap 7: Configureer sysctl

Maak het volgende bestand aan om “packet forwarding” te activeren.

sudo nano /etc/sysctl.d/90-override.conf

Voeg de volgende regel toe.

net.ipv4.ip_forward=1

Activeer reverse path en arp filtering.

net.ipv4.conf.all.arp_filter=0
net.ipv4.conf.all.rp_filter=2

Voer de wijzigingen door met het onderstaande commando. 

sudo sysctl -p /etc/sysctl.d/90-override.conf

Stap 8: Herstart de server

Herstart de server door het onderstaande commando uit te voeren. 

sudo reboot

Stap 9: Controleer de VLAN interface status

Voer het onderstaande commando uit om de VLAN connectiviteit status te bekijken. 

cat /proc/net/vlan/config

Als de VLAN niet actief is dat zou je deze output moeten zien.

VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD

Als het actief is dan zie je deze output. 

VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.3047 | 3047 | eth0
eth0.453 | 453 | eth0

Stap 11: Test IP addressen

Ping vanuit je werkstation om te controleren of de IPs werken.

ping 185.62.58.190

en

ping 78.41.207.45

Als de IP-adressen werken, dan krijg je een succesvolle output. 

Stap 11: Test het IP-adres op de server

Controleer of de pakketten de server via de juiste VLAN verlaten. Door een ping commando uit te voeren vanuit eth0.3047 is het mogelijk om de controleren of server communiceert over de juiste VLAN interface.

ping -I eth0.3047  8.8.8.8

Output

PING 8.8.8.8  (8.8.8.8) from 185.62.58.190 eth0.3047: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=122 time=2.03 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=122 time=2.13 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=122 time=2.21 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=122 time=2.06 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3080ms
rtt min/avg/max/mdev = 2.038/2.113/2.217/0.089 ms

In de bovenstaande output, zien we dat het pakket de interface met IP-adres 185.62.58.190 heeft verlaten.

Voer nu een ping uit vanaf eth0.453.

ping -I eth0.453  8.8.8.8

Output.

PING 8.8.8.8  (8.8.8.8) from 78.41.207.45 eth0.453: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=123 time=2.26 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=123 time=2.37 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=123 time=2.44 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=123 time=2.41 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2756ms
rtt min/avg/max/mdev = 2.266/2.360/2.444/0.073 ms

In de bovenstaande output, zien we dat het pakket de interface met IP-adres 78.41.207.45 heeft verlaten.

Conclusie

Gefeliciteerd, je hebt een server geconfigureerd met twee VLANS en twee gateways. VLAN tagging is niet gelimiteerd tot twee VLANs, meerdere VLANs worden ondersteund. Elke VLAN dient afzonderlijk toegevoegd worden aan de netwerkconfiguratie met de juiste VLAN configuratie.

Was this article helpful?
Dislike 0
Views: 32

Lees Interacties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

snel-knowledgebase-image