GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erhalten von 2 IP-Adressen auf einer Netzwerkkarte mit DHCP

Da eine DHCP-Antwort auf der MAC-Adresse der anfragenden Schnittstelle basiert, lautet die Antwort bei einer einzigen physikalischen Schnittstelle „Sie können nicht“. Der einzige Weg, dies zu tun, wäre mit einem Skript.

Vielleicht so etwas wie (mit einer auf der primären Schnittstelle definierten Subschnittstelle):

  1. Primäre Schnittstelle gibt DHCP aus und erhält IP-Adresse
  2. macchanger ändert die MAC-Adresse der Schnittstelle
  3. Sub-Schnittstelle gibt DHCP aus und erhält IP-Adresse
  4. Mac-Adresse mit Macchanger zurücksetzen

Beenden Sie den DHCP-Client, damit er später nicht automatisch ausgeführt wird. Berechnen Sie die Lease-Dauer der IP-Adresse, die Sie erhalten haben, und planen Sie, dass dieses Skript erneut ausgeführt wird, bevor die Lease abläuft.

Aktualisieren

Dazu muss iproute2 installiert sein. Der folgende Befehl fügt eine virtuelle Schnittstelle hinzu, die an eine vorhandene eth0-Schnittstelle gebunden ist:

ip link add link eth0 address 00:11:22:33:44:55 virtual0 type macvlan

Ersetzen Sie den Namen mac und "virtual0" der Schnittstelle durch einen beliebigen Namen. Einschalten:

ip link set virtual0 up

Konfigurieren Sie dann je nach Bedarf mit dhcpd oder dhclient oder ifconfig. Ich habe dies auf Debian Squeeze getestet - Ihre Distribution hat möglicherweise nicht alles Notwendige im Kernel aktiviert (insbesondere macvlan).


Wie @JesseChisholm vorgeschlagen hat, ist es viel einfacher, den DHCP-Server nach dem Richtigen zu fragen, anstatt komplexe Netzwerkeinstellungen vorzunehmen.

Für OpenWRT könnte ich einfach ausführen:

 # udhcpc -i eth0:1 -x 0x3d:0100BEEFC0FFEE

Was dazu führte, dass wir zwei IP-Adressen vom gleichen DHCP-Server hatten.

Die 0x36 ist Option 61, die die Client-ID-Option ist. Nach dem :gibt es eine Hex-Byte-Option. Dies kam von der Hilfeoption von udhcpc:

 # udhcp --help
 BusyBox v1.22.1 (2014-10-08 16:34:50 HKT) multi-call binary.

 Usage: udhcpc [-fbqRB] [-t N] [-T SEC] [-A SEC/-n]
 [-i IFACE] [-s PROG] [-p PIDFILE]
 [-oC] [-r IP] [-V VENDOR] [-F NAME] [-x OPT:VAL]... [-O OPT]...

 ...
 -x OPT:VAL     Include option OPT in sent packets (cumulative)
                Examples of string, numeric, and hex byte opts:
                -x hostname:bbox - option 12
                -x lease:3600 - option 51 (lease time)
                -x 0x3d:0100BEEFC0FFEE - option 61 (client id)

Linux
  1. Verwenden des SS-Tools für die Netzwerkfehlerbehebung

  2. Linux – Stresstest von SD-Karten mit Linux?

  3. Geben Sie zwei Argumente für eine Option mit Getopts an?

  4. Fügen Sie einem Cloud-Server eine Cloud-Netzwerkschnittstelle hinzu

  5. CentOS / RHEL 6 :Hinzufügen/Entfernen zusätzlicher IP-Adressen zu einer Netzwerkschnittstelle

Ein Leitfaden für Systemadministratoren zur Netzwerkverwaltung

Konfigurieren Sie das NIC-Bonding (Network Interface Card) in CentOS 7 / RHEL 7

So konfigurieren Sie das Netzwerk unter Linux mit Netplan und NMTUI

3 Möglichkeiten, eine Netzwerkschnittstelle in Linux zu konfigurieren

Verwenden von ifstat für Linux-Netzwerkstatistiken

Netzwerkkonfiguration