Tengo un sistema Debian que funciona como un enrutador inalámbrico con eth0
y wlan0
. Ahora agregué una red adicional manualmente en eth1
con ifconfig
:
alix:~# ifconfig eth1 192.168.0.2 netmask 255.255.255.0 alix:~# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 alix:~# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data. 64 bytes from 192.168.0.254: icmp_req=1 ttl=64 time=0.537 ms 64 bytes from 192.168.0.254: icmp_req=2 ttl=64 time=0.199 ms 64 bytes from 192.168.0.254: icmp_req=3 ttl=64 time=0.188 ms ^C --- 192.168.0.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 0.188/0.308/0.537/0.161 ms
Todo funciona bien como puede ver.
Ahora me gustaría que la configuración fuera permanente. Por lo tanto, agregué la siguiente sección a /etc/network/interfaces
:
alix:~# sed -n "/iface eth1/,/^$/p" /etc/network/interfaces iface eth1 inet static address 192.168.0.2 netmask 255.255.255.0
Pero cuando intento iniciar la red, obtengo el siguiente error:
alix:~# ifconfig eth1 down alix:~# ifup -v eth1 Configuring interface eth1=eth1 (inet) run-parts --verbose /etc/network/if-pre-up.d run-parts: executing /etc/network/if-pre-up.d/hostapd ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists Failed to bring up eth1.
Cuando ejecuto el comando ip
manualmente, obtengo el mismo error:
alix:~# ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists
¿Qué falla con el comando? ¿Y cómo puedo decirle a Debian que haga lo correcto?
Respuesta
Entendí que tenía que vaciar el dispositivo antes mencionándolo:
# ip addr flush dev eth1
Borrar información de configuración de interfaz configurada manualmente como esta es mencionado en el Guía del servidor Ubuntu .
Comentarios
Responder
Usando ip addr flush
funcionará, pero también borrará todas y cada una de las direcciones configuradas en esa interfaz, posiblemente incluida la que está usando, si ha iniciado sesión en una máquina remota. Esto puede bloquear su dispositivo.
RNETLINK answers: File exists
ocurre cuando «estás intentando add
una regla que entra en conflicto con una regla existente. Supongo que OP estaba encontrando esto porque ya habían configurado la dirección con ifconfig
. Por lo general, este error se puede resolver convirtiendo el comando add
en un change
o replace
comando.
Es mucho más seguro utilizar ip addr change
o ip addr replace
en su lugar.
Comentarios
- Esta no es una opción para alguien que usa solo
ifup
yifdown
, porque el comando está cableado en esos scripts. - @alerone usando " sudo ip addr change " arrojame esta salida. " No hay suficiente información: " dev " se requiere el argumento. " Necesito / necesitamos más información para usar tu idea. Sería bueno.
Respuesta
Tuve un problema similar que para cuando jugué la escena de 10,000 monedas era exactamente esto, y estaba tratando dd las cosas que faltan en / e / n / id / etho
Pero al estudiar la página de manual para las interfaces, noté que TODO el conjunto de ejemplos tenía solo 2 líneas de datos reales, la dirección ipv4 / 24 y una línea de puerta de enlace que especifica la dirección de mi enrutador. Así que reduje mi archivo eth0 a eso, reinicié y funcioné perfectamente.
RTNETLINK answers: No such process Failed to bring up eth1
PERO mi Eth1 está asignado correctamente ahora Y está ARRIBA / ARRIBA.RTNETLINK answers: No such process Failed to bring up eth1
RTNETLINK answers file
? Además, después de vaciar, mi tarjeta de red no toma una nueva IP automáticamente, ¿cómo pedirle a dhcp una nueva IP?