Cree una interfaz de red virtual utilizando el comando "ip link" iproute2 con una dirección MAC falsificada

Cree una interfaz de red virtual utilizando el comando "ip link" iproute2 con una dirección MAC falsificada

¿Cómo puedo crear una interfaz virtual similar al siguiente ifconfigcomando?

$ sudo ifconfig eth1 hw ether 00:01:02:aa:bb:cc  
SIOCSIFHWADDR: No such device  

Esto no funciona. Quiero configurar las direcciones MAC para probar la configuración de mi servidor DHCP.

¿Cómo haría eso con la iproute2suite usando el comando ip link?

$ sudo ip link add type veth  

Esto funciona, pero asigna una dirección MAC aleatoriamente. Esto sigue siendo útil, pero me gustaría probar mi dhcpdservidor con algunas direcciones MAC específicas para ver cómo maneja las clases que he configurado.

Mi configuración actual 1 :

$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 60:eb:69:1b:a0:88 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.93/24 brd 172.16.0.255 scope global eth0
    inet6 fe80::62eb:69ff:fe1b:a088/64 scope link 
       valid_lft forever preferred_lft forever
7: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
8: veth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 3a:50:38:2e:24:c4 brd ff:ff:ff:ff:ff:ff

[1]: Tenga en cuenta que esta configuración no resulta de la ejecución de los comandos anteriores. En particular ip link add type veth, habría dado lugar a la creación de un par veth1@veth2/ veth2@veth1numerado de esta manera porque veth0existe.

Respuesta1

Quiero configurar las direcciones MAC para probar la configuración de mi servidor DHCP

Hay (¿al menos?) dos formas de lograr esto en.

El más simple y directo,pero muy arriesgado, es modificar elde la interfaz física. Sin embargo para hacerlotienes que bajar la interfazpor lo que no es la forma más segura, y seguramente unaforma altamente riesgosa si se opera de forma remota! Si tiene acceso físico al host o similar, puede ser una opción.

La forma más segura es definir unenlace en su interfaz física con la dirección mac adecuada. Siempre puedes cambiar esta dirección mac usando un comando similar al que usarías para cambiar la dirección mac de tu interfaz física. Esto es conveniente para probar múltiples parejas IP/MAC sin tener que crear/eliminar muchas interfaces, por ejemplo.

Digo "más seguro" porque, dependiendo de las medidas de seguridad de su red, también corre el riesgo de perder la conexión con un enlace macvlan si, por ejemplo, su red prohíbe el uso de una dirección mac diferente en su enlace físico. En algunos casos, el dispositivo de red al que está conectado su host podría considerar que está moderando la seguridad y desconectar el enlace.

Para los siguientes comandos, necesita elutilidades en Linux.

¡LEA EL TEXTO ANTERIOR ANTES DE UTILIZAR LOS SIGUIENTES COMANDOS EN HOST REMOTOS!

Para agregar un enlace macvlan, puede usar:

ip link add link eth0 type macvlan

La interfaz se nombrará macvlanXdonde Xesté el primer número, ya que no existe ninguna interfaz con ese nombre.

Puede nombrar la interfaz (por vif0ejemplo) en el momento de la creación usando algo como

ip link add name vif0 link eth0 type macvlan

tener una interfaz llamada vif0.

Una vez que tenga la interfaz, puede cambiar su dirección mac ( 00:11:22:33:44:55por ejemplo) usando:

ip link set address 00:11:22:33:44:55 dev macvlan0

Este mismo comando se puede utilizar para cambiar la dirección mac de otras interfaces. Este es el que puedes usar para cambiar la dirección mac de tu enlace físico.

Por supuesto, puede agregar el enlace macvlan y configurar su dirección de una sola vez:

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

No olvide configurar la interfaz una vez configurada la dirección mac. Con interfaz llamada vif0:

ip link set dev vif0 up

Tenga en cuenta que algunas partes de esos comandos son opciones y se pueden colocar en diferentes órdenes, otras son parte de la sintaxis y deben colocarse en el lugar correcto. Además se puede omitir alguna parte siempre que no comprometa el significado 1 . En el comando anterior, por ejemplo, devse puede omitir.

El tipo predeterminado de macvlan creado es VEPA, que impide las comunicaciones directas entre la interfaz física y virtual. Debería ser adecuado para este caso de uso. Otros modos están disponibles, consulteel capítulo sobre macvlan en este RedHat "Introducción a las interfaces de Linux para redes virtuales".

Espero que ayude... ...a alguien más que pase por aquí.


1: no se puede omitir si tuvo la (muy) mala idea de nombrar una interfaz, devpor ejemplo.

Respuesta2

Has probado...

ip link add type veth addr 00:01:02:aa:bb:cc

o

ip link set dev veth0 addr 00:01:02:aa:bb:cc

Respuesta3

Crear una interfaz VLAN enlace ip agregar nombre ${nombre de interfaz VLAN} enlace ${nombre de interfaz principal} tipo id de vlan ${tag} Ejemplos: enlace ip agregar nombre eth0.110 enlace eth0 tipo id de vlan 110

http://baturin.org/docs/iproute2/#Create%20a%20VLAN%20interfaz

información relacionada