¿Cómo "reiniciar" una interfaz de red particular en RHEL?

18

En RHEL, en lugar de usar el service network restartcomando, ¿cómo puedo reiniciar una interfaz de red en particular? Digamos "eth1", con un solo comando.

"Solo un comando" porque esa es la única interfaz en la que mi sshestá trabajando también. Entonces, si estoy a punto de usar: ifdowny luego ifup, nunca podré presionar el ifupcomando ya que mi sshha sido terminado una vez después del ifdown eth1comando.

Por lo tanto, debe haber un solo comando que me permita desactivar por completo y luego mostrar la interfaz que sirve mi sshconexión actual . Por lo tanto, no necesito preocuparme por la conexión totalmente perdida en mi servidor.

¿Alguna idea por favor?

夏 期 劇場
fuente

Respuestas:

27

Puedes usar:

ifdown eth1 && ifup eth1

Como un solo comando. El && solo ejecuta un comando, luego el otro si el primer comando tiene éxito . Si necesita usar sudo, asegúrese de usarlo antes de cada comando:

sudo ifdown eth1 && sudo ifup eth1

Mientras su interfaz esté configurada para tener la IP y la ruta necesarias para que coincida con la configuración actual, su conexión ssh no se cortará.

Si le preocupa usarlo en un servidor de producción al que no tiene otro método de acceso, es comprensible. Aunque el comando hace exactamente lo que desea, es muy fácil tener un error de configuración que solo se nota después de ejecutar este comando. Si no tiene un método de acceso alternativo (por ejemplo, una consola fuera de banda o SSHD ejecutándose en otra interfaz), es más seguro no hacerlo .

Utilizo esta técnica a menudo para realizar un 'reinicio' de la interfaz, pero generalmente tengo un método de respaldo disponible en caso de que lo haga.

blahnana
fuente
this plus OOB management FTW
dmourati
3
Podría sugerir ifdown eth1 && ifup eth1, de esta manera, ifup no se ejecuta a menos que ifdown haya tenido éxito, mientras que con ;ifup se ejecutará independientemente de cómo regresó ifdown.
zamnuts
@zamnuts Respuesta ahora editada para incluir esto :)
David Gardner
1

Puede 'reiniciar' una interfaz emitiendo los siguientes comandos:

# ifdown eth1
# ifup eth1

Después de eso, puede verificar que su nueva configuración esté activa

# ip a
jerQ
fuente
Lo siento, pero necesito ... "Solo un comando" porque esa es la única interfaz en la que también está trabajando mi ssh. Entonces, si estoy a punto de usar: ifdown y luego ifup, nunca podré presionar el comando ifup ya que mi ssh se ha terminado una vez después del comando ifdown eth1. Entonces, debería haber un solo comando que pueda derribar y luego abrir la interfaz que sirve mi conexión ssh actual. Así que no necesito preocuparme por la pérdida de conexión a mi servidor
夏 期 劇場
Podrías convertirlos en un script de shell y ejecutar eso, tu sesión ssh no debería terminar, aunque haya un corto apagón en la red. Otra opción es ejecutar ese script dentro de screen-session, donde se ejecutará hasta el final, incluso si su sesión ssh fallara.
jerQ
1
¿esto ayudará? ifdown eth1 ; ifup eth1?
夏 期 劇場
0

¿Está tratando de cambiar la dirección IP (o cualquier parámetro de interfaz para ese asunto) de una interfaz en una máquina remota? Si la respuesta es sí, puede intentar uno de los siguientes:

Un método genial es usar la utilidad de pantalla para crear una sesión simplemente escribiendo 'pantalla'. Una vez que reinicie el servicio de red y su conexión SSH se caiga, use screen -ls para verificar que la sesión aún esté activa (pero desconectada) y screen -r para reanudar la sesión desconectada. Esto funcionará en caso de que no haya ningún error en el archivo de configuración de la interfaz, es decir, el servicio de red se reinicia correctamente.

También puedes usar el siguiente truco:

$ cp -v current_conf_file current_conf_file.bak
$ echo "mv current_conf_file.bak current_conf_file && service network restart" | at now+10min

Y continúe con la edición del archivo de configuración de su interfaz y reinicie el servicio de red. En caso de error, solo tiene que esperar 10 minutos para que se vuelva a aplicar la configuración anterior y se reinicie el servicio de red.

IG83
fuente
-3

Todas las respuestas sobre ifup y ifdown no están de acuerdo con la pregunta. ifup & ifdown solo activa y desactiva la interfaz, no afecta el servicio de red. para el servicio de red de linux no significa interfaces de configuración de ip solamente.

por favor revise /etc/rc.d/network script para más detalles.

Steven Liang
fuente
1
No estoy seguro de qué punto estás haciendo. El OP no pregunta sobre reiniciar el servicio de red , sino solo reiniciar una interfaz individual . Además, el OP ha aceptado una respuesta que usa explícitamente los comandos contra los que recomienda. -1 de mi parte.
MadHatter apoya a Monica el