¿Cómo puedo cambiar la puerta de enlace predeterminada?

19

Actualmente estoy ejecutando un FreeBSD 9.1 y la puerta de enlace predeterminada ya está configurada en rc.conf.

rc.conf:

defaultrouter = "10.0.0.1"

Pero ahora quiero cambiar la puerta de enlace predeterminada sin reiniciar el sistema, ¿es esto posible?

WWW
fuente

Respuestas:

21
route del default
route add default 1.2.3.4

¿Dónde 1.2.3.4está la nueva puerta de entrada? Incluso puede concatenarlos en la misma línea con un;

Editar: Esto es FreeBSD, no Linux. El comando es diferente. No edite esta respuesta si no ha leído la pregunta con suficiente atención como para determinar el sistema operativo que se está utilizando.

Chris S
fuente
44
Nota: haga esto en la consola, no sobre ssh. Si debe hacerlo a través de ssh (u otro método de red), emita ambos comandos a la vez, con ;o con&&
Dalibor Filus
44
O utilice el método seguro genérico: 1) Inicie sesión en un shell, apague / reinicie en 15 minutos a menos que se cancele 2) Haga cosas inseguras. 3) Cancelar apagado / reinicio.
Hennes
2
En Linux los comandos ip route del defaulty el ip route add default via 1.2.3.4trabajo. Por lo tanto, el comando también es relevante para los usuarios de Linux, ya que tiene bastante parecido.
Paul Stelian
16

Puede agregar una nueva ruta predeterminada y eliminar la anterior utilizando el comando ipo route. Los siguientes comandos reemplazarán la puerta de enlace con 192.0.2.1. Ambos pares de comandos hacen lo mismo. FreeBSD y otros sistemas operativos deben tener uno o ambos programas, posiblemente con formatos ligeramente diferentes. (FreeBSD tiene el routecomando y excluye la gwpalabra clave utilizada en otras implementaciones). Los comandos man ipy / o man routedeben proporcionarle documentación sobre su implementación específica.

route add default 192.0.2.1
route del default 10.0.0.1

ip route add default via 192.0.2.1
ip route del default via 10.0.0.1 

Existen múltiples implementaciones de estos comandos, por lo que lo anterior puede no coincidir con su implementación. Su implementación debe tener una manpágina con ejemplos de casos de uso comunes, como agregar y quitar puertas de enlace predeterminadas. Pruebe man routey man ipvea cómo funciona su implementación.

Cambie 192.0.2.1 a su puerta de enlace predeterminada deseada. La puerta de enlace predeterminada debe estar en una de las redes con las que tiene una conexión directa. Puede cambiar su dirección IP de manera similar. ipes una herramienta más nueva que hará casi todo lo que necesita hacer para ver y administrar direcciones IP y enrutamiento en redes IPv4 e IPv6. ifconfiges una herramienta más antigua para configurar direcciones IP en una red IPv4.

Para que el cambio sea permanente, actualice sus archivos de configuración de red en /etc. Los archivos varían según la distribución que esté utilizando.

Al menos uno de estos comandos debe estar disponible en cualquier O / S derivado de Unix. Las diferentes versiones pueden funcionar de manera ligeramente diferente. Consulte la manpágina para obtener detalles sobre su O / S.

BillThor
fuente
44
-1 Lo siento, pero estos son comandos de Linux y no funcionan en FreeBSD .
Chris S
2
@ChrisS actualizado para hacer referencia a los cambios para FreeBSD. routetiene implementaciones múltiples con cambios menores de sintaxis.
BillThor
1
vote por los comandos de "ruta ip".
Sérgio
9

Aquí hay una frase:

ip route replace default via 1.2.3.4

¿Dónde 1.2.3.4está la nueva puerta de enlace IP?

crédito

artfulrobot
fuente
2
-1 Lo siento, pero estos son comandos de Linux y no funcionan en FreeBSD .
Chris S
3

sí, simplemente cambie la ruta y reinicie su red.

/etc/rc.d/netif restart
johnshen64
fuente
2
Eso funciona, aunque se reinicia muchísimo ... y podría romper las aplicaciones que están vinculadas a las interfaces.
Chris S
1

Tu podrías intentar:

route add default gw 192.168.1.254 eth0
Chip Estrada
fuente
-1 Lo siento, pero estos son comandos de Linux y no funcionan en FreeBSD .
Chris S
Route addes parte de mi instalación de FreeBSD 8.4 sin embargo. Pero sí, muchas personas aquí que responden por el sistema operativo incorrecto.
Hennes
1
@ Hennes la route addparte funciona bien. GNU / Linux agregó la gwparte, que no funciona en ningún otro * nix. Sin los gwtrabajos en todos los BSD, Solaris, OSX, HPUX, AIX, etc.
Chris S
1

Es muy fácil, solo necesita escribir los siguientes comandos:

$ route del 0/0
$ route add 0/0 192.168.0.1

Deberá reemplazar el '192.168.0.1' con la IP de su elección.

Y para verificar los cambios puede usar 'netstat':

$ netstat -r

Este comando muestra la tabla de enrutamiento del sistema.

ifm
fuente
¿Qué es "0/0"?
WWW
1
@WWW '0/0' es la abreviatura del bloque de red '0.0.0.0/0', que es lo mismo que 'predeterminado', pero prefiero '0/0' (supongo que soy más de la vieja escuela )
ifm
0

Siempre use primero netstat -nrpara verificar en la puerta de enlace lo que tiene y los detalles que tiene ... ya ve 0.0.0.0. cuando es predeterminado y primero debes pensar que por qué estoy cambiando esta puerta de enlace que usar este comando:

route add default gw your ip eth0
usuario122562
fuente
-1 Lo siento, pero estos son comandos de Linux y no funcionan en FreeBSD .
Chris S