Eu tenho um servidor com várias (quatro) interfaces de rede executando o Arch Linux quando encontrei algo estranho que não consigo explicar.
Eu tenho duas interfaces configuradas para os endereços IP 192.168.100.11/24
e 192.168.100.12/24
(usando dois perfis netctl).
Ambas as interfaces estão conectadas a um switch que também se conecta ao meu computador.
Quando eu ativo os perfis, ambas as interfaces parecem funcionar bem.
Mas quando estou pingando o endereço da interface principal ( 192.168.100.11
) e removendo seu cabo (enquanto a interface secundária está funcionando), continuo recebendo respostas de 192.168.100.11
, mesmo que nenhum cabo esteja conectado a a interface. Eu até posso com sucesso ssh 192.168.100.11
na máquina.
A saída de ip addr
mostra que a interface não tem portadora e está inativa, mas ainda tem seu endereço IP:
2: enp7s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:1e:67:a3:7f:b6 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.11/24 brd 192.168.100.255 scope global enp7s0f0
valid_lft forever preferred_lft forever
inet6 fd00::21e:67ff:fea3:7fb6/64 scope global mngtmpaddr dynamic
valid_lft 6836sec preferred_lft 3236sec
inet6 fe80::21e:67ff:fea3:7fb6/64 scope link
valid_lft forever preferred_lft forever
3: enp7s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:1e:67:a3:7f:b7 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.12/24 brd 192.168.100.255 scope global enp7s0f1
valid_lft forever preferred_lft forever
inet6 fd00::21e:67ff:fea3:7fb7/64 scope global mngtmpaddr dynamic
valid_lft 6836sec preferred_lft 3236sec
inet6 fe80::21e:67ff:fea3:7fb7/64 scope link
valid_lft forever preferred_lft forever
Quando faço netctl status main
para verificar o status em que o perfil ainda está ativo:
# netctl status main
● [email protected] - Main interface
Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: disabled)
Active: active (exited) since Thu 2015-01-08 11:29:07 UTC; 25min ago
Docs: man:netctl.profile(5)
Main PID: 55293 (code=exited, status=0/SUCCESS)
Jan 08 11:29:03 timingserver1 network[55293]: Starting network profile 'main'...
Jan 08 11:29:07 timingserver1 network[55293]: Started network profile 'main'
Como isso é possível?
É importante para mim entender a mecânica por trás disso.
O plano é que eu tenha dois servidores redundantes oferecendo um serviço no ip 192.168.100.11
. Um dos servidores terá a interface principal inoperante e ambos estão conectados ao mesmo switch. A segunda interface em ambos os servidores é usada para manutenção quando o servidor está em espera ou está degradado (obviamente, eles não terão o mesmo IP).
Portanto, no caso de um failover, configurarei a interface do servidor principal inativa (ou desconectarei o cabo) e ativarei a interface do servidor de backup. É claro que, se o servidor principal ainda responder a 192.168.100.11
mesmo que esteja inativo, isso seria ruim ...: - /
Meus arquivos de perfil netctl:
-
interface principal
Description='Main interface'
Interface=enp7s0f0
Connection=ethernet
IP=static
Address=('192.168.100.11/24')
Gateway='192.168.100.1'
DNS=('192.168.100.1' '8.8.8.8')
-
interface secundária
Description='Secondary interface'
Interface=enp7s0f1
Connection=ethernet
IP=static
Address=('192.168.100.12/24')
DNS=('192.168.100.2' '8.8.8.8')
Eu agradeceria muito se alguém pudesse me orientar sobre como arquivar minha solução desejada.
Talvez seja algo estúpido que eu tenha esquecido ou não saiba, mas no momento isso está me incomodando um pouco ...: - /