Eu tenho a seguinte rede (todas as máquinas são Debian GNU/Linux 10 Buster):
+----+ +--------+ +--------+ +----+
|.1.x| <--> .1.1 |ROUTER-A| .101.1 <--> .101.2 |ROUTER-B| .2.1 <--> |.2.x|
+----+ enp0s8 +--------+ enp0s9 enp0s9 +--------+ enp0s8 +----+
Estou tentando tornar as máquinas da .1.x
rede capazes de se comunicar com as máquinas da .2.x
rede.
De acordo com este link ou este , podemos adicionar up
comandos dentro de nossos arquivos de interface. Então eu tentei.
/etc/network/
interfaces
interfaces.d/
enp0s3-nat
enp0s8-intnet-1
enp0s9-intnet-101
loopback
Dentro enp0s9-intnet-101
:
allow-hotplug enp0s9
iface enp0s9 inet static
address 192.168.101.1
netmask 255.255.255.0
gateway 192.168.101.1
network 192.168.101.0
up ip route add 192.168.2.0/24 via 192.168.101.2
Mas não funciona. Por curiosidade, tentei up echo "hello world" > /tmp/hello-test
, e também não funciona.
Se eu substituir meu static
método por manual
um:
allow-hotplug enp0s9
iface enp0s9 inet manual
up ip address add 192.168.101.1/24 dev enp0s9
up ip route add 192.168.2.0/24 via 192.168.101.2
Ele funciona na reinicialização, mas se eu "descer e subir" minha interface com ip link set enp0s9 down
then ip link set enp0s9 up
, a rota não estará mais disponível.
Então minhas perguntas:
- É possível ou não usar
up
comandos em umstatic
método? - Por que, com meu
manual
método, a rota não é criada comip link set enp0s9 up
?
Então, de acordo com este bilhete :
O mesmo se aplica às interfaces IPv4. Então fui em frente e removi uma a uma as linhas entre
iface enp0s9 inet static
eup ip route add ...
até que funcionasse; e o culpado foigateway 192.168.101.1
. O seguinte funciona como esperado:Eu também removi a
netmask
opção (obsoleta) enetwork
aquela (nem mesmo mencionada nas páginas de manual). Em vez disso, usei aaddress
opção com adotted quad/netmask
sintaxe.Meu palpite é que
gateway
não pode ser o mesmo endereço IP queaddress
.Quanto ao motivo pelo qual "a rota não é criada com
ip link set enp0s9 up
", ela é criada corretamente ao usarifup enp0s9
, que é um comando de nível superior que faz muito mais do queip link set ... up
(veja este post para obter informações adicionais).