dhcpd mit mehreren VLANs und Subnetzen, duplizierter MAC

dhcpd mit mehreren VLANs und Subnetzen, duplizierter MAC

Ich habe DHCP mit mehreren Subnetzen laufen. Ich habe doppelte MAC-Adressen, aber in verschiedenen Subnetzen, die als unterschiedliche VLANs konfiguriert sind. Kann diese MAC DHCP-Probleme verursachen?

Woher weiß DHCP, dass die Lease-Anfrage aus verschiedenen VLANs kommt? Vergibt es die richtigen Adressen?

Antwort1

Die Antwort auf Ihre Frage lautet: Ja, das funktioniert sehr gut.

Beim Start liest der isc dhcpd-Server zunächst Subnetzblöcke aus seiner Konfigurationsdatei. Anschließend ermittelt der Daemon anhand passender Subnetze, welche Schnittstellen zu verwenden sind. Sobald der Server gestartet ist, werden Client-DHCP-Anfragen beantwortet. Diese werden basierend auf der Schnittstelle behandelt, an die die Anfrage gestellt wird. Die MAC-Adresse der Serverschnittstelle ist dabei irrelevant.

Angenommen, Sie haben zwei VLANs zur Verfügung. Die VLANs beziehen ihre MAC-Adresse normalerweise von ihrer übergeordneten Schnittstelle, daher ist es durchaus möglich, dass Sie doppelte MAC-Adressen haben:

[test@testrouter ~]$ ip addr show enp3s0.2

2: enp3s0.2@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue    state UP group default qlen 1000
link/ether 02:00:00:00:00:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.1/24 brd 192.168.2.255 scope global enp3s0.20 valid_lft forever preferred_lft forever

[test@testrouter ~]$ ip addr show enp3s0.3

3: enp3s0.3@enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 02:00:00:00:00:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.1/24 brd 192.168.3.255 scope global enp3s0.20 valid_lft forever preferred_lft forever

Nun erstellen wir zwei Subnetze in der Datei dhcpd.conf wie folgt:

subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.101 192.168.2.151;
 option subnet-mask 255.255.255.0;
  option routers 192.168.2.1;
}

 subnet 192.168.3.0 netmask 255.255.255.0 {
  range 192.168.3.101 192.168.3.151;
  option subnet-mask 255.255.255.0;
  option routers 192.168.3.1;
}

Beim Start des DHCP-Servers erscheinen folgende Meldungen in der Protokolldatei:

[test@testrouter ~]$ journalctl -u dhcpd | grep LPF

dhcpd[1263]: Listening on LPF/enp3s0.2/02:00:00:00:00:20/192.168.2.0/24
 dhcpd[1263]: Sending on   LPF/enp3s0.2/02:00:00:00:00:20/192.168.2.0/24
 dhcpd[1263]: Listening on LPF/enp3s0.3/02:00:00:00:00:20/192.168.3.0/24
 dhcpd[1263]: Sending on   LPF/enp3s0.3/02:00:00:00:00:20/192.168.3.0/24

Wie man sieht, stimmt die richtige Schnittstelle überein. Das Subnetz 192.168.3.0/24 wird über die enp3s0.3Schnittstelle bedient, obwohl die MAC-Adresse beider Schnittstellen gleich ist.

Zu guter Letzt: Es ist möglich, die MAC-Adresse einer VLAN-Schnittstelle zu ändern. Verwenden Sie dazu den ipfolgenden Befehl:

ip link set dev enp3s0.3 address 02:00:00:00:00:20

Antwort2

Bei einer korrekten VLAN-Implementierung hat jedes VLAN ein eindeutiges Subnetz.

Wie Sie sagen, weiß Ihr DHCP-Server, dass die MAC-Adresse verschiedenen Subnetzen zugeordnet ist. In diesem Sinne weiß DHCP indirekt, dass sie verschiedenen VLANs zugeordnet sind.

verwandte Informationen