He usado Ubuntu desde Ubuntu 8.10; hoy estoy trabajando con Ubuntu 12.04 Server.
Tengo dificultades para mantener rutas estáticas en el arranque. Normalmente ponía los comandos de ruta
/sbin/route add -net <IP>/<MASK> <GW> dev <ethX>
en /etc/rc.local
o crearía un archivo (llamado routes
) dentro del directorio /etc/network/if-up/
, pero noto que en Ubuntu 12.04 no funciona.
Si escribo los comandos en el shell, funcionan, pero los mismos comandos no funcionan cuando están en el archivo especificado.
Ya intenté cambiar el nombre del archivo a otros nombres pensando que mi nombre de archivo ( routes
) podría ser erróneo en Ubuntu 12.04, pero eso tampoco funcionó.
Noto también que el comando /sbin/ifconfig
funciona, menos el /sbin/route
.
¿Qué cambió en la configuración de la red?
¿Cómo puedo definir rutas estáticas en Ubuntu 12.04?
fuente
your_command > stderr.txt 2>&1
) e inspeccionar su salida ...ip add
yip route
. Un comando para gobernar la red. :)man 5 interfaces
Respuestas:
Puedes poner rutas estáticas en
/etc/network/interfaces
:fuente
up ip route add 192.168.0.0/24 via 192.168.1.1
Muy a menudo descubrí que el lugar correcto para definir una ruta estática es en / etc / network / interfaces, está bien si va a reiniciar globalmente la red con /etc/init.d/networking restart, por ejemplo. Pero si va a usar ifdown y ifup para cerrar una interfaz individualmente, ifup terminará con el error:
Por eso intenta definir una ruta pero ya está definida. La interfaz estará activa de todos modos, pero ifup no se actualizará / ejecutará / network / ifstate, así que la próxima vez que nos desconecte no podrá hacerlo a menos que use el indicador --force.
Para hacer que ifup continúe configurando incluso si las rutas ya están definidas, puede usar este formato al definir rutas en / etc / network / interfaces
De esta forma, aparecerá la advertencia en la salida, pero la configuración de la interfaz se completará.
fuente
ifconfig
manualmente, en lugar de correrifdown
, quieren poder recuperarse usando las herramientas correctas. Por lo tanto, es útil si esas herramientas son resistentes a un estado inesperado mientras intentan arreglar el estado. La|| true
sugerencia es buena. Agregar una línea descendente también es útil.up ip route replace 172.16.0.0/24 via 192.168.10.1
"reemplazar" agregaría la ruta si aún no existe, pero si existe una ruta con el mismo selector, sería reemplazada por la actual, incluso si tienen el mismo destino.Puede probar esto (agregarlo a
/etc/network/interfaces
), esta es una forma casi completa de configurar rutas:fuente
Hay un paquete ifupdown-extra disponible en Ubuntu.
Proporciona scripts automáticos (instalados en
/etc/network/*/
), uno de los cuales se utiliza para agregar rutas estáticas.El archivo de configuración para esto es
/etc/network/routes
La parte superior de este archivo de configuración tiene una buena descripción:
Un ejemplo de ruta que uso es:
fuente
lo que funcionó para nosotros fue
Solía correr en una Mac:
pero en un ubuntu faltaba el "gw" entre las IP y la última parte de "máscara de red" (tampoco se requiere -n en ubuntu)
fuente
Yo prefiero usar
nmcli
.Por ejemplo:
Después de eso, aplique los cambios reiniciando el servicio NetworkManager:
fuente
Utilizando
nmcli
pude ejecutar una solución persistente (la solución @isapir no funcionó en mi dispositivo).Por ejemplo:
Después de eso, es posible aplicar los cambios configurando la conexión hacia abajo y hacia arriba nuevamente (no es necesario reiniciar completamente NetworkManager):
Para ver las conexiones actuales, ejecute:
fuente