GNU/Linux >> Tutoriales Linux >  >> Linux

Obtener 2 direcciones IP en una tarjeta de red, usando DHCP

Como una respuesta de DHCP se basa en la dirección MAC de la interfaz solicitante, con una única interfaz física, la respuesta es "no se puede". La única forma de hacerlo sería con un script.

Tal vez algo como (con una subinterfaz definida en la primaria):

  1. La interfaz principal emite DHCP y obtiene la dirección IP
  2. macchanger cambia la dirección MAC de la interfaz
  3. La subinterfaz emite DHCP y obtiene la dirección IP
  4. Revertir la dirección mac con macchanger

Mata al cliente dhcp para que no se ejecute automáticamente más tarde. Calcule el tiempo de arrendamiento de la dirección IP que le dieron y programe este script para que se ejecute nuevamente antes de que expire el arrendamiento.

Actualizar

Para esto necesitará iproute2 instalado. El siguiente comando agrega una interfaz virtual vinculada a una interfaz eth0 existente:

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

Reemplaza el nombre mac y "virtual0" de la interfaz por lo que quieras. Enciéndelo:

ip link set virtual0 up

Luego configure usando dhcpd o dhclient o ifconfig según sea necesario. He probado esto en Debian squeeze:es posible que su distribución no tenga habilitado todo lo necesario en el kernel (particularmente macvlan).


Como sugirió @JesseChisholm, es mucho más fácil preguntar lo correcto al servidor DHCP en lugar de realizar configuraciones de red complejas.

Para OpenWRT podría simplemente ejecutar:

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

Lo que resultó en tener dos direcciones IP del mismo servidor dhcp.

El 0x36 es la opción 61, que es la opción de identificación del cliente. Después de:hay una opción de byte hexadecimal. Esto vino de la opción de ayuda de 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. Cómo asignar varias direcciones IP a una única interfaz de red en CentOS 8

  2. Agregue una interfaz de red en la nube a un servidor en la nube

  3. Ifconfig:7 ejemplos para configurar la interfaz de red

  4. CentOS / RHEL 6:Cómo agregar/eliminar direcciones IP adicionales a una interfaz de red

  5. ¿Obtener direcciones de interfaz de red local usando solo proc?

Una guía del administrador de sistemas para la administración de redes

Configurar la vinculación de NIC (tarjeta de interfaz de red) en CentOS 7 / RHEL 7

Cómo configurar la red en Linux usando Netplan y NMTUI

3 formas de configurar una interfaz de red en Linux

Uso de ifstat para estadísticas de red de Linux

configuración de la red