Direcciones IP estáticas y DHCP simultáneamente en una interfaz

16

Podemos usar múltiples direcciones IP para una única interfaz en Linux (eg. eth0:0, eth0:1). ¿Pero podemos usar DHCP e IP estática al mismo tiempo? eth0:1debe tener una dirección IP estática y eth0:0debe configurarse mediante DHCP.

¿Cómo podemos lograr ambos?

shantanu
fuente
¿Es esta pregunta sobre la configuración de NetworkManager?
madneon

Respuestas:

13

Si, esto se puede hacer. Sin embargo, generalmente usaría eth0 y eth0: 0 para esto en lugar de eth0: 0 y eth0: 1. Puede configurar su archivo / etc / network / interfaces de esta manera:

auto lo eth0 eth0:0
iface lo inet loopback

iface eth0 inet dhcp

iface eth0:0 inet static
    address ...
    netmask ...

Probablemente no desee establecer una puerta de enlace en la interfaz eth0: 0 porque eso podría entrar en conflicto con la configuración de la puerta de enlace que obtiene de DHCP. Si ingresa la configuración manual en / etc / network / interfaces, querrá asegurarse de que el administrador de red no esté tratando de administrar su configuración. Esto está cubierto aquí .

jkt123
fuente
9

Después de una búsqueda intensiva de una respuesta al mismo problema, encontré una solución que permite que Network Manager continúe administrando sus conexiones. Primero, cree una conexión DHCP normalmente en Network Manager usando Editar conexiones> Agregar. Esto creará un archivo ubicado en / etc / NetworkManager / system-connections /. Abra este archivo en su editor de texto con permisos de Superusuario. Ejemplo: sudo nano / etc / NetworkManager / system-connections / DHCPEthernet

El código se verá así:

[802-3-ethernet]
duplex=full
mac-address=00:0E:C6:88:31:43

[connection]
id=DHCPEthernet
uuid=26af83f1-c48c-4454-9038-bbb4bec3e3a3
type=802-3-ethernet
timestamp=1405008541

[ipv6]
method=auto

[ipv4]
method=auto

Agregue una línea debajo de la sección ipv4 para la dirección IP estática que desea agregar. Estoy usando 192.168.10.1 sin puerta de enlace para este ejemplo

address1=192.168.10.1/24,0.0.0.0

Guarde el archivo y use Network Manager para desconectarse y luego volver a conectarse a la red. Hacer ping confirmará que ambas direcciones IP funcionan correctamente. La salida de ip addr confirma el éxito.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 14:10:9f:d7:22:0b brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.71/24 brd 172.20.1.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::1610:9fff:fed7:220b/64 scope link 
       valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0e:c6:88:31:43 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.60/24 brd 172.20.1.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::20e:c6ff:fe88:3143/64 scope link 
       valid_lft forever preferred_lft forever
Andrew Vian
fuente
address1la configuración que se encuentra aquí es en realidad la ipv4.addressesconfiguración de NetworkManager si está utilizando la API o nmcli. En este caso, también debe mantenerse ipv4.methodconfigurado en "auto".
Dave
Después de crear la conexión normalmente, todavía no tengo archivos en mi directorio / etc / NetworkManager / system-connections /. ¿Están siendo retenidos en otro lugar? Tal vez una cosa SELinux?
Steve Jorgensen
2

Revisé un poco y descubrí que hoy en día es posible crear esta configuración usando la nmcliherramienta. De hecho, permite un control completo de NetworkManager. Las páginas del manual para nmcli son muy completas y bastante comprensibles. Ver man nmcliy man nm-settings.

Para configurar la configuración en esta pregunta, la forma más fácil es editar su perfil de conexión actual. Encuentre el nombre del perfil en su herramienta GUI NetworkManager y edítelo usando el editor CLI (aquí está el nombre Ethernet connection):

$ sudo nmcli c editar 'Conexión Ethernet'

=== | editor de conexión interactiva nmcli | ===

Edición de la conexión existente '802-3-ethernet': 'Conexión Ethernet 1'

Escriba 'ayuda' o '?' para comandos disponibles.
Escriba 'describe [.]' Para obtener una descripción detallada de la propiedad.

Puede editar la siguiente configuración: conexión, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6
nmcli> goto ipv4
Puede editar las siguientes propiedades: método, dns, dns-search, dns-options, dns-priority, direcciones, gateway, rutas, route-metric, ignore-auto-routes, ignore-auto-dns, dhcp-hostname, dhcp -send-hostname, never-default, may-fail, dad-timeout, dhcp-timeout, dhcp-client-id, dhcp-fqdn
nmcli ipv4> set ipv4.addresses {your_address_here} / {your_network_prefix_here} 
¿También desea configurar 'ipv4.method' en 'manual'? [sí]: no 
nmcli ipv4> guardar
La conexión 'Conexión Ethernet' (87fa8e41-7fe3-435a-a2f2-29a9c8084d2d) se actualizó correctamente.
nmcli ipv4> salir

Las porciones en negrita son sus entradas, reemplace las cosas entre llaves con su configuración. Respondiendo noa la pregunta sobre ipv4.methodpreserva la configuración de DHCP. Después de eso, debe deshabilitar y volver a habilitar la configuración, lo que se puede hacer usando herramientas GUI o nmcli.

Si lo desea, también es posible crear una nueva conexión desde la línea de comando:

sudo nmcli -p connection add type ethernet ifname {your_interface_name} con-name MyConnection -- ipv4.addresses {your_address}/{your_prefix_length} ipv4.method auto

Nuevamente, reemplace las cosas entre llaves con su configuración.

Finalmente, si aún desea editar los archivos de configuración, recuerde volver a cargar el archivo después de editarlo:

sudo nmcli connection reload

Tenga en cuenta que las configuraciones creadas de esta manera pueden confundir las herramientas GUI. En el mejor de los casos, no le mostrarán las direcciones estáticas.

Ville Koivunen
fuente
0

Debian Buster / 10 NetworkManager nm-connection-editorahora puede hacer esto desde la interfaz gráfica de usuario.

Edite la conexión, abra la pestaña "Configuración de IPv4" y luego:

  1. Establezca Método en "Automático (DHCP)".
  2. Agregue "Direcciones estáticas adicionales" a continuación.

Esto escribirá la siguiente configuración en /etc/NetworkManager/system-connections/connection.nmconnection:

[ipv4]
address1=10.0.0.1/24
method=auto
usuario1338062
fuente