Archiv verlassen und diese Seite im Standarddesign anzeigen : DHCP: Ein Subnet, zwei NICs, zwei Adressbereiche...
Hallo!
Ich habe bei mir einen DHCP-Server laufen. Der Rechner hat zwei Netzwerkkarten (eth0: LAN, wlan0: WLAN) und soll auf beiden aus unterschiedlichen Adresspools (aber aus dem gleichen Subnet) Adressen verteilen.
Ich habe mir das ganze so gedacht:
Ich starte zwei DHCP-Server-Instanzen, die eine lauscht an eth0 und vergibt dort die Adressen, die andere tut das gleiche für wlan0. Allerdings mosert die zweite Instanz, dass bereits eine andere läuft und verweigert den Start. :(
Nun meine Frage: Gibt es eine elegantere Lösung dafür als zwei DHCP-Server laufen zu lassen? Oder wie erzwinge ich, dass die zweite Instanz auch startet?
Vielen Dank für alle Hinweise :)
Grüße,
Elvizz
Terran Marine
11.03.05, 19:19
Ich habe mir das ganze so gedacht:
Ich starte zwei DHCP-Server-Instanzen, die eine lauscht an eth0 und vergibt dort die Adressen, die andere tut das gleiche für wlan0. Allerdings mosert die zweite Instanz, dass bereits eine andere läuft und verweigert den Start. :(
Normalerweise sollte sich der Daemon doch nicht beschweren, sind ja verschiedene Netzwerkkarten betroffen.
Sicher das du die Server jeweils nur an die eine NIC bindest?
Gruß
Terran
Ich bin mir nicht ganz sicher aber wenn du zwei Adressbereiche angibst bei einem Server vergibt er den Clients die jeweiligen Adressen passend zum Subnetz der Netzwerkkarte, oder?
Normalerweise sollte sich der Daemon doch nicht beschweren, sind ja verschiedene Netzwerkkarten betroffen.
Sicher das du die Server jeweils nur an die eine NIC bindest?
Der Server läuft mit folgenden Parametern:
/usr/sbin/dhcpd3 -q eth0 -cf /etc/dhcp3/dhcpd_eth0.conf
Sollte also wohl stimmen...
Ich bin mir nicht ganz sicher aber wenn du zwei Adressbereiche angibst bei einem Server vergibt er den Clients die jeweiligen Adressen passend zum Subnetz der Netzwerkkarte, oder?
Wenn das so wäre, wäre das natürlich super :) Ich habe das noch gar nicht ausprobiert, da ich nirgendwo etwas in der Richtung gelesen hatte und mir auch nicht vorstellen konnte, dass es so einfach sein könnte.
Ich werde das (wahrscheinlich erst morgen) mal ausprobieren und hier berichten.
Danke für eure Hinweise :)
Grüße,
Elvizz
Ja eben, klingt doch logisch. Ein DHCP Server ist doch immer lokal am Subnetz angeschlossen, nicht über einen Router. Somit wäre es doch totaler Unsinn den Clients falsche Adressen zu geben mit denen sie nichts anfangen können.
Also laut der Manpage (leider nicht lokal sondern ersucht - keine Ahnung ob die aktuell ist...) kann man den "dhcpd" auch auf mehreren Interfaces lauschen lassen. Auszug:
dhcpd [ if0 [ ...ifN ] ]
2x starten wird wohl nicht gehen - das verhindert (sehr effektiv) die .pid-Datei. Ansonsten sollte der - wie erwähnt - anhand des Subnetzes aus dem die Anfrage kommt auch bestimmen können aus welchem Pool denn nun die IP zu nehmen ist (alles andere wäre auch wirklich Unsinn).
ciao
Michael
Also laut der Manpage (leider nicht lokal sondern ersucht - keine Ahnung ob die aktuell ist...) kann man den "dhcpd" auch auf mehreren Interfaces lauschen lassen. Auszug:
Ja, stimmt. Das war auch die ursprüngliche Konfiguration. Allerdings bin ich eben - fälschlicherweise, wie es scheint - davon ausgegangen, dass der dann die falschen IPs (bzw. eben nicht so, wie ich es will) verteilt.
2x starten wird wohl nicht gehen - das verhindert (sehr effektiv) die .pid-Datei. Ansonsten sollte der - wie erwähnt - anhand des Subnetzes aus dem die Anfrage kommt auch bestimmen können aus welchem Pool denn nun die IP zu nehmen ist (alles andere wäre auch wirklich Unsinn).
Das mit den .pid-Dateien habe ich in der Datei /etc/init.d/dhcp3-server auch umgebogen, so dass für jede laufende Instanz eine Konfigurations- und eine .pid-Datei vorhanden ist. Der Server scheint das noch auf eine andere Weise festzustellen.
DHCPDPID1=/var/run/dhcpd_eth0.pid
DHCPDPID2=/var/run/dhcpd_wlan0.pid
start-stop-daemon --start --quiet --pidfile $DHCPDPID1 \
--exec /usr/sbin/dhcpd3 -- -q eth0 -cf /etc/dhcp3/dhcpd_eth0.conf
start-stop-daemon --start --quiet --pidfile $DHCPDPID2 \
--exec /usr/sbin/dhcpd3 -- -q wlan0 -cf /etc/dhcp3/dhcpd_wlan0.conf
Wie gesagt, morgen werde ich dann ein wenig Licht ins Dunkel bringen und es endlich auch mal ausprobieren können.
Grüße,
Elvizz
Du mußt entweder einen DHCP Server für alle Subnetze laufen laßen oder wenn zwei DHCP Server laufen dem Einen mitteilen das er quasi als Herr arbeitet und dem Anderen mitteilen das er der Diener ist.
Angaben dazu gibt in den HOWTOs.
Den DHCP Server zweimal auf dem gleichen Rechner starten ist Blödsinn.
So, also jetzt habe ich es endlich testen können: Es hat mit einem DHCP-Server, der an beide NICs gebunden ist und jeweils passende Subnet-Einträge hat, geklappt :)
Der Vollständigkeit halber poste ich hier mal die relevanten Informationen, damit ander auch was davon haben:
/etc/dhcp3/dhcpd.conf
#...
#der Teil für eth0
subnet 192.168.1.0 netmask 255.255.255.128 {
range 192.168.1.64 192.168.1.120;
#ein paar static Hosts folgen hier...
}
#und der Teil für wlan0
subnet 192.168.1.128 netmask 255.255.255.128 {
range 192.168.1.140 192.168.1.190;
#auch hier ein static Host...
}
Die Interfaces haben entsprechende Netzmasken:
eth0 inet addr:192.168.1.2 Bcast:192.168.1.127 Mask:255.255.255.128
wlan0 inet addr:192.168.1.130 Bcast:192.168.1.255 Mask:255.255.255.128
So, ich hoffe, dass nicht nur ich daraus gelernt habe...
Grüße,
Elvizz
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.