Preciso adicionar uma rota que não será excluída após a reinicialização. Eu li estas duas maneiras de fazer isso:
Adicionar
up route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
ao arquivo/etc/network/interfaces
ou
Crie o arquivo /etc/network/if-up.d/route com:
#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
e torná-lo executável:
chmod +x /etc/network/if-up.d/route
Então, eu estou confuso. Qual é a melhor maneira de fazer isso?
Respostas:
Você mencionou
/etc/network/interfaces
, então é um sistema Debian ...Crie uma tabela de roteamento nomeada. Como exemplo, usei o nome "mgmt" abaixo.
Acima, o kernel suporta muitas tabelas de roteamento e se refere a elas por números inteiros únicos, numerados de 0 a 255. Um nome, mgmt, também é definido para a tabela.
Abaixo,
/etc/iproute2/rt_tables
segue um padrão , mostrando que alguns números são reservados. A escolha nesta resposta de 200 é arbitrária; pode-se usar qualquer número que ainda não esteja em uso, 1-252.Abaixo, um arquivo de interfaces Debian 7/8 define
eth0
eeth1
.eth1
é a rede 172.eth0
poderia usar o DHCP também.172.16.100.10
é o endereço IP ao qual atribuireth1
.172.16.100.1
é o endereço IP do roteador.Reinicie ou reinicie a rede.
Atualização - Explicando sobre EL
Percebi em um comentário que você estava "imaginando o RHEL também". No Enterprise Linux ("EL" - RHEL / CentOS / et al), crie uma tabela de roteamento nomeada conforme mencionado acima.
O
/etc/sysconfig/network
arquivo EL :O
/etc/sysconfig/network-scripts/ifcfg-eth0
arquivo EL , usando uma configuração estática (sem o NetworkManager e não especificando "HWADDR" e "UUID" para o exemplo abaixo), segue.O
/etc/sysconfig/network-scripts/ifcfg-eth1
arquivo EL (sem o NetworkManager e sem especificar "HWADDR" e "UUID" para o exemplo abaixo) é apresentado a seguir.O
/etc/sysconfig/network-scripts/route-eth1
arquivo EL :O
/etc/sysconfig/network-scripts/rule-eth1
arquivo EL :fonte
Na distribuição baseada no Debian, você pode adicionar uma rota estática permanentemente da seguinte maneira:
Na distribuição baseada em RHEL:
fonte
sudo
não tem sentido nos dois comandos. Você já é root, então>>
funciona ou não, nesse caso, o>>
é aplicado como seu usuário original e apenas oecho
é executado como root. Além disso, isso falha tristemente se houver várias interfaces definidas em/etc/network/interfaces
.