GNU/Linux >> Linux Esercitazione >  >> Linux

Ottenere 2 indirizzi IP su una scheda di rete, utilizzando DHCP

Poiché una risposta DHCP si basa sull'indirizzo MAC dell'interfaccia richiedente, con un'unica interfaccia fisica, la risposta è "non puoi". L'unico modo per farlo sarebbe con uno script.

Forse qualcosa di simile (con una sottointerfaccia definita sulla primaria):

  1. L'interfaccia primaria emette DHCP e ottiene l'indirizzo IP
  2. macchanger cambia l'indirizzo MAC dell'interfaccia
  3. L'interfaccia secondaria emette DHCP e ottiene l'indirizzo IP
  4. Ripristina l'indirizzo mac con macchanger

Uccidi il client dhcp, in modo che non venga eseguito automaticamente in seguito. Calcola il tempo di lease dell'indirizzo IP che ti è stato fornito e pianifica l'esecuzione di questo script prima della scadenza del lease.

Aggiorna

Per questo avrai bisogno di iproute2 installato. Il comando seguente aggiunge un'interfaccia virtuale associata a un'interfaccia eth0 esistente:

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

Sostituisci il mac e il nome "virtual0" dell'interfaccia con quello che preferisci. Attivalo:

ip link set virtual0 up

Quindi configurare utilizzando dhcpd o dhclient o ifconfig secondo necessità. L'ho testato su Debian squeeze:la tua distribuzione potrebbe non avere tutto il necessario abilitato nel kernel (macvlan in particolare).


Come suggerito da @JesseChisholm, è molto più semplice chiedere la cosa giusta al server DHCP invece di effettuare configurazioni di rete complesse.

Per OpenWRT potrei semplicemente eseguire:

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

Il che ha portato ad avere due indirizzi IP dallo stesso server DHCP.

Lo 0x36 è l'opzione 61 che è l'opzione ID client. Dopo :c'è un'opzione byte esadecimale. Questo proveniva dall'opzione help di 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. Come assegnare più indirizzi IP a una singola interfaccia di rete su CentOS 8

  2. Utilizzo dello strumento SS per la risoluzione dei problemi di rete

  3. Fornire due argomenti a un'opzione utilizzando Getopts?

  4. Aggiungi un'interfaccia di rete cloud a un server cloud

  5. Ifconfig:7 esempi per configurare l'interfaccia di rete

Una guida per l'amministratore di sistema alla gestione della rete

Configura il collegamento NIC (scheda di interfaccia di rete) in CentOS 7 / RHEL 7

Come configurare la rete in Linux utilizzando Netplan e NMTUI

3 modi per configurare un'interfaccia di rete in Linux

Utilizzo di ifstat per le statistiche di rete Linux

Configurazione di rete