Konfigurieren Sie DHCPD mit zugewiesener IP-Adresse und Gateway in verschiedenen Subnetzen für KVM

Konfigurieren Sie DHCPD mit zugewiesener IP-Adresse und Gateway in verschiedenen Subnetzen für KVM

Ich habe ein Dedi mit einem IP-Bereich von 123.123.123.1/24, das Problem ist die Gateway-Adresse: 111.111.111.254 und es liegt in einem völlig anderen Subnetz. Ich habe bereits eine Bridge und KVM-Virtualisierung eingerichtet.

/etc/dhcpd.conf auf dem Hostknoten.

subnet 0.0.0.0 netmask 0.0.0.0 {
authoritative;
default-lease-time 21600000;
max-lease-time 432000000;
}
 ddns-update-style ad-hoc;

host kvm111.0 {
hardware ethernet 02:00:00:ce:fd:ab;
option routers 111.111.111.254;
option subnet-mask 255.255.255.0;
fixed-address 123.123.123.2;
option domain-name-servers 8.8.8.8,8.8.4.4;
}

Dann habe ich auf dieser HWID eine virtuelle KVM-Maschine (VM) mit Windows-Betriebssystem und aktiviertem DHCP eingerichtet. Es funktioniert gut. Die Windows-VM hat die IP 123.123.123.2 mit dem Gateway 111.111.111.254.

Aber wenn ich das Betriebssystem der VM auf Debian 6 ändere, funktioniert es nicht. Ich melde mich bei der VM an und stelle fest, dass das Gateway nicht zugewiesen ist. Wenn ich eingebeRoute hinzufügen Standard gw 111.111.111.254die Antwort ist:

SIOADDCART: no such process

Das liegt daran, dass sich das Gateway in einem anderen Subnetz befindet als die zugewiesene IP-Adresse. Daher musste ich Folgendes auf der VM tun:

Route hinzufügen 111.111.111.254/32 dev eth0

Route hinzufügen Standard gw 111.111.111.254

und dann klappt es. Da ich aber eine Automatisierung über den Host-Knoten möchte (und nicht manuell über VM), musste ich es über /etc/dhcpd.conf machen

Weiß jemand wie das gehtRoute hinzufügen 111.111.111.254/32 dev eth0über /etc/dhcpd.conf?

Antwort1

Die Antwort istKlassenlose statische Routen (RFC3442). Im ISC-DHCP-Server müssen Sie die Option manuell angeben.

Diese Internetseitebeschreibt kurz und bündig, wie es auf eine Weise funktioniert, die sowohl für Windows- als auch für Linux-Clients funktioniert.

Hier ist die Kurzfassung:

Fügen Sie oben zu dhcpd.conf Folgendes hinzu

option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;

Fügen Sie im entsprechenden Subnetzblock die folgenden beiden Optionszeilen hinzu

option rfc3442-classless-static-routes 32, 111, 111, 111, 254, 0, 0, 0, 0, 111, 111, 111, 254;
option ms-classless-static-routes 32, 111, 111, 111, 254, 0, 0, 0, 0, 111, 111, 111, 254;

Dadurch sollte eine statische Route für 111.111.111.254 on-link mit der per DHCP zugewiesenen Adresse erstellt werden und der Standardrouter 111.111.111.254 beibehalten werden. Der spezielle Routerwert 0.0.0.0 bedeutet on-link. Laut RFC müssen Clients keine klassenlosen statischen Routen implementieren, Windows tut dies jedoch über seine MS-Option, Linux-dhclient (getestet mit Debian7, Rhel6.4) tut dies und alle meine IPMI- und PXE-Clients tun dies ebenfalls. Sie sollten testen, ob es mit Ihren Clients funktioniert, aber ich bin ziemlich zuversichtlich, dass es funktionieren wird.dhclient kann mit einem Exit-Hook dazu gebracht werden, Option 121 zu interpretieren, sofern dies nicht bereits standardmäßig unterstützt wird.

Im schlimmsten Fall können Sie auf dem Hostknoten eine IP hinzufügen, die im LAN-Bereich liegt (in Ihrem Beispiel 123.123.123.254) und den Clients anweisen, diese als Standard-Gateway zu verwenden.

verwandte Informationen