necesito ejecutar el comando
route add -p 123.45.67.8 mask 255.255.255.0 208.00.000.000
en un servidor Linux. ¿Cuál es el equivalente de Unix?
Respuesta1
Ellos son muy similares.
Para agregar una ruta para una red; en este ejemplo, 192.168.20.0 máscara 255.255.255.0
sudo route add -net 192.168.20.0/24 gw 10.0.0.1
o
sudo route add -net 192.168.20.0 netmask 255.255.255.0 gw 10.0.0.1
Para agregar una ruta para un host
sudo route add -host 192.168.20.20 gw 10.0.0.1
Si ejecuta route add
sin opciones, le dará la lista de opciones que puede usar. por ejemplo, métricas, interfaz y algunos otros.
También la página de manual ayudará.
Respuesta2
Sin una explicación de lo que hace ese comando de Windows, es difícil responder, pero parece que deberías leer la página del manual ip-route
.
Respuesta3
Una forma de hacer que la ruta sea persistente es agregarla cada vez que se inicia la máquina. Esto tiene el mismo resultado que -p
la bandera en Windows.
Esto se puede hacer usando Cron
:
@reboot /sbin/route add -net 123.45.67.8 netmask 255.255.255.0 gw 208.0.0.0
dev eth0
se puede utilizar al final del comando si es necesario especificar el puerto que se utilizará.
Esto funciona al menos en Ubuntu 14.04 y probablemente en la mayoría de las implementaciones modernas de Cron.
Respuesta4
Para agregar la ruta cada vez que se abre la interfaz y eliminarla cada vez que se cierra, se puede agregar un comando adecuado a la estrofa de la interfaz en /etc/network/interfaces
(para Debian). Aquí hay uno mío (esto hace que las transmisiones locales vayan a la red local en lugar de al ISP en mi puerta de enlace NAT):
iface eth1 inet static
address 192.168.0.2
netmask 255.255.255.0
pre-up iptables-restore </etc/iptables.rules
up route add 255.255.255.255 eth1
down route del 255.255.255.255
Esto se puede adaptar fácilmente a su sistema operativo y sus necesidades.