Asignar IP y puerta de enlace desde el archivo de script

0

Tengo Ubuntu 10 en una máquina virtual gestionada con Vagrant. Debo configurarlo en la IP de inicio y en la puerta de enlace, por lo que después de la información que encontré en el sitio de github vagrant, agregué un archivo de script a mi archivo vagrant.

El archivo sh parece

sudo /sbin/ifconfig eth1 142.17.1.10 netmask 255.255.252.0 up
sudo /sbin/route add default gw 142.17.1.1 eth1

La IP que quiero que tenga la VM es 142.17.1.10 netmask 255.255.252.0 La IP de la puerta de enlace debe ser 142.17.1.1

Lamentablemente, esto no funciona: la IP está configurada correctamente, pero tengo algunos problemas con la puerta de enlace, ya que no estoy en condiciones de acceder a la VM desde Internet.

Las rutas de VM parecen

  Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.2.0        *               255.255.255.0   U     0      0        0 eth0
142.17.0.0      *               255.255.252.0   U     0      0        0 eth1
default         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
default         142.17.1.1      0.0.0.0         UG    0      0        0 eth1

y ip

eth1      Link encap:Ethernet  HWaddr 08:00:27:74:ad:30
          inet addr:142.17.1.10  Bcast:142.17.3.255  Mask:255.255.252.0
          inet6 addr: fe80::a00:27ff:fe74:ad30/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3224 errors:0 dropped:0 overruns:0 frame:0
          TX packets:133 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:266372 (266.3 KB)  TX bytes:8646 (8.6 KB)

¿Qué me estoy perdiendo?

Gracias por tu ayuda

Sig
fuente

Respuestas:

1

Agregue la siguiente línea al script para eliminar la puerta de enlace predeterminada existente

sudo /sbin/route del default gw 10.0.2.2

y opcionalmente después

sudo /sbin/route add default gw 10.0.2.2 metric 100

Si desea utilizar la puerta de enlace predeterminada original como una puerta de enlace de respaldo (tiene una métrica más alta, por lo que se preferirá la nueva puerta de enlace).

No sé acerca de Vagrant, pero una forma alternativa de hacerlo podría ser modificar / etc / network / interfaces y agregar la configuración para eth1 en el archivo de la siguiente manera:

auto eth1
iface eth1 inet static
address 142.17.1.10
netmask 255.255.255.0
gateway 142.17.1.1

y elimine la línea de la puerta de enlace de eth0, lo que permitirá que esto comience automáticamente en el arranque de la forma "ubuntu".

Observo que todo esto supone que tiene 2 tarjetas de red virtuales y que la información debe ir en la segunda.

davidgo
fuente
Sí. Gracias por señalarlo.
davidgo
Sí, mi respuesta pierde el punto. Arregla tu primera línea para convertirte en un borrado y eliminaré el mío. Por cierto, no deberíamos recibir respuestas que usen el comando "ruta", ya que su utilidad es limitada en el tiempo dado su estado obsoleto.
Paul
Gracias por tu ayuda. He actualizado mi script como sugeriste sudo /sbin/ifconfig eth1 142.17.1.10 netmask 255.255.252.0 up sudo /sbin/route add default gw 142.17.1.1 eth1 sudo /sbin/route del default gw 10.0.2.2 pero ahora las rutas parecen 10.0.2.0 * 255.255.255.0 U 0 0 0 eth0 142.17.0.0 * 255.255.252.0 U 0 0 0 eth1 y no estoy seguro de por qué tengo 142.17.0.0 en lugar de 142.17.1.1
Sig
Tiene 142.17.0.0 en lugar de 142.17.1.0 porque su máscara de red es 255.255.252.0, lo que significa que la computadora piensa que todo entre 142.17.0.0 y 142.17.3.254 está en la misma subred. Supongo que habría recibido un error cuando ejecutó el script de script, ¿qué fue? (Parece que el sistema no configuró la nueva puerta de enlace predeterminada).
davidgo