DHCP-Server an USB-Adapter binden

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
FAjka
Beiträge: 30
Registriert: 13.07.2015 17:00:57

DHCP-Server an USB-Adapter binden

Beitrag von FAjka » 10.11.2015 17:33:29

Moin,

ich möchte den isc-dhcp-server an einen USB-Adapter binden.

Das ginge natürlich, indem ich das Interface identifiziere (eth1) und in der /etc/dhcp/dhcpd.conf eine entsprechende Bindung konfiguriere:

Code: Alles auswählen

subnet 10.66.66.0 netmask 255.255.255.0 {
  interface eth1;
  range 10.66.66.67 10.66.66.69;
  next-server 10.66.66.66;
  filename „pxelinux.0“;
}
Allerdings stören mich da zwei Sachen ganz gewaltig:
1. Der DHCP-Daemon läuft - wenn ich den Rechner ohne USB-Adapter starte, "erst einmal auf Fehler". Wenn ich mich dann entscheide, den DHCP-Server zu benutzen, muss ich nach Anschluss des Adapters den Daemon manuell starten.
2. Ich kann nicht sicherstellen, dass mein USB-Adapter immer eth1 bekommt.

Warum der ganze Quatsch?

Ich bekomme gelegentlich den Auftrag, Appliances mit einem frischen Betriebssystem zu versehen. Der Prozess sieht so aus, dass:
1. Ich für diesen Zweck einen zusätzlichen USB-Netzwerkadapter vorhalte
2. Die Appliance über diesen Adapter anschließe
3. Die Appliance via DHCP eine IP usw. holt und via PXE-Boot ein Installationsprogramm nachlädt (und startet)

Auf meinem alten Notebook hatte ich für so etwas immer eine PCMCIA-Karte gelöst, die statisch auf eth1 konfiguriert war und dauerhaft im Gerät verblieben ist. Das Neue hat keinen PCMCIA-Slot mehr, so dass die Schnittstelle für den o.G. Prozess gelegentlich auch mal verschwindet. Weil: Ich möchte ja nicht permanent "das Geklöter" mit dem Adapter an dem Gerät hängen haben...

Allerwichtigstes Kriterium ist übrigens, dass der DHCP-Server nie-nie-niemals(!!!) auf eth0 antwortet :-)

Wie würdet Ihr denn da - so rein strategisch - vorgehen?

Gruß,
J.

DeletedUserReAsG

Re: DHCP-Server an USB-Adapter binden

Beitrag von DeletedUserReAsG » 10.11.2015 17:58:28

1) ließe sich mit einer udev-Regel lösen, die den dhcpd beim Einstecken des Sticks startet
2) ließe sich mit den neuen, eindeutigen, persistenten Interfacebezeichnungen lösen – oder eben auch wieder per udev-Regel.

Benutzeravatar
FAjka
Beiträge: 30
Registriert: 13.07.2015 17:00:57

Re: DHCP-Server an USB-Adapter binden

Beitrag von FAjka » 10.11.2015 21:07:37

Danke für das Stichwort "udev-Regel".

Mit "eindeutiger, persistenter Bezeichnung" meinst Du, ich soll in der /etc/network/interfaces das eth1 statisch mit der MAC-Adresse von dem Adapter konfigurieren und "alle anderen Adapter" bekommen dann automagisch Bezeichnungen ab eth2 aufwärts?

Irgendwie kenne ich das noch alles aus Zeiten vor dem Network-Manager. Hat sich wohl 'n bisschen was getan in letzter Zeit. Irgendwie erschließt sich mir noch nicht so ganz, was das Teil eigentlich macht^^

Benutzeravatar
MSfree
Beiträge: 11750
Registriert: 25.09.2007 19:59:30

Re: DHCP-Server an USB-Adapter binden

Beitrag von MSfree » 10.11.2015 21:13:36

FAjka hat geschrieben:Danke für das Stichwort "udev-Regel".

Mit "eindeutiger, persistenter Bezeichnung" meinst Du, ich soll in der /etc/network/interfaces das eth1 statisch mit der MAC-Adresse von dem Adapter konfigurieren und "alle anderen Adapter" bekommen dann automagisch Bezeichnungen ab eth2 aufwärts?

Irgendwie kenne ich das noch alles aus Zeiten vor dem Network-Manager. Hat sich wohl 'n bisschen was getan in letzter Zeit. Irgendwie erschließt sich mir noch nicht so ganz, was das Teil eigentlich macht^^
Nein, schau mal in die Datei /etc/udev/rules.d/70-persistent-net.rules. Dort wird dauerhaft festgelegt, welche Schnittstellenbezeichnung welcher MAC-Adresse zugeordnet ist. Dort kannst du die MAC-Adresse deines USB-Adapters eintragen und ihm z.B. den Namen eth5 geben.

Wenn du dann noch unter /etc/networks deine neue eth5 einträgst, ist die Zuordnung endgültig.

Benutzeravatar
FAjka
Beiträge: 30
Registriert: 13.07.2015 17:00:57

Re: DHCP-Server an USB-Adapter binden

Beitrag von FAjka » 11.11.2015 12:33:59

Ich wusste, dass ich über den NetworkManager stolpern werde. Immer diesen neumodischen Krams *grummel*

Ich möchte erreichen, dass der Adapter als eth66 auftaucht und auch dann seine statische IP-Adresse kennt, wenn kein Netzwerkkabel angeschlossen ist.

In der /etc/udev/rules.d/70-persistent-net.rules habe ich die MAC-Adresse an eth66 gebunden. Das funktioniert fein.

Meine /etc/network/interfaces.d/eth66.cfg sieht so aus:
auto eth66
allow-hotplug eth66
iface eth66 inet static
address 10.66.66.66
netmask 255.255.255.0
Um zu erreichen, dass eth66 automatisch mit Einstecken des Adapters auftaucht und mit dem Abziehen des Adapters verschwindet, habe ich die /etc/NetworkManager/NetworkManager.conf angepasst:
[main]
plugins=ifupdown,keyfile

[ifupdown]
manged=true
Aktueller Stand ist, dass das Interface jetzt tatsächlich wie gewünscht erscheint / verschwindet. Allerdings:
- habe ich dort keine IP-Adresse
- erhalte ich auf der Schnittstelle (beim Einstecken des Kabels) via DHCP eine IP-Adresse

Benutzeravatar
MSfree
Beiträge: 11750
Registriert: 25.09.2007 19:59:30

Re: DHCP-Server an USB-Adapter binden

Beitrag von MSfree » 11.11.2015 13:54:02

Netzwerkschnittstellen, die in /etc/network/interfaces deklariert sind, werden vom NetworkManager nicht angefaßt. Man kann also Netzwerke entweder in /etc/network/interfaces oder im NetworkManager verwalten, aber nicht beides.

Im Moment scheint dem udev noch eine Anweisung zu fehlen, daß es der USB-Netzwerkschnittstelle auch hochfährt. Ohne Gewähr:

Du könntest mal versuchen, die Zeile, in der eth66 deklariert ist, um folgendes zu verlängern:

Code: Alles auswählen

ACTION=="add", RUN+="/sbin/ifup eth66"
Eventuell mußt du ein eigene Regeldatei unter /etc/udev/rules.d erstellen, die die entsprechende Aktion (ifup eth66) ausführt, wenn du den USB-Stick einstöpselst.

Antworten