Eu preciso executar o comando
route add -p 123.45.67.8 mask 255.255.255.0 208.00.000.000
em um servidor Linux. qual é o equivalente unix?
Responder1
Eles são muito parecidos.
Para adicionar uma rota para uma rede – neste exemplo, 192.168.20.0 mascara 255.255.255.0
sudo route add -net 192.168.20.0/24 gw 10.0.0.1
ou
sudo route add -net 192.168.20.0 netmask 255.255.255.0 gw 10.0.0.1
Para adicionar uma rota para um host
sudo route add -host 192.168.20.20 gw 10.0.0.1
Se você executar route add
sem opções, será exibida uma lista de opções que você pode usar. por exemplo, métricas, interface e alguns outros.
Além disso, a página de manual ajudará.
Responder2
Sem uma explicação do que esse comando do Windows faz, é difícil responder, mas parece que você deveria ler a página de manual do ip-route
.
Responder3
Uma maneira de tornar a rota persistente é adicioná-la sempre que a máquina for iniciada. Isso tem o mesmo resultado que -p
o sinalizador no Windows.
Isso pode ser feito usando Cron
:
@reboot /sbin/route add -net 123.45.67.8 netmask 255.255.255.0 gw 208.0.0.0
dev eth0
pode ser usado no final do comando se houver necessidade de especificar a porta a ser usada.
Isso funciona pelo menos no Ubuntu 14.04 e provavelmente na maioria das implementações modernas do Cron.
Responder4
Para adicionar a rota toda vez que a interface é ativada e removê-la toda vez que ela fica inativa, um comando adequado pode ser adicionado à sub-rotina da interface em /etc/network/interfaces
(para Debian). Aqui está um dos meus (isso faz com que as transmissões locais vão para a rede local e não para o ISP no meu gateway 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
Isso pode ser facilmente adaptado ao seu sistema operacional e às suas necessidades.