O endereço IP interno do meu roteador mudou e, desde então, o TrueNAS tem se comportado mal. Nenhuma das prisões pode mais resolver um nome de host. Ao solucionar isso, descobri que o cliente não pode executar ping em nenhum endereço IP externo sem que a resposta seja do host.
Para informações:
- Neste exemplo, o IP da jail do cliente é 10.153.2.250
- O IP do host (FreeNAS) é 10.153.2.9
- O novo gateway é 10.0.55.1 (o antigo era 10.55.0.1), e foi atualizado tanto na configuração de rede do host quanto nas jails.
- Quando o IP do gateway mudou, o FreeNAS entrou em um loop de inicialização na próxima inicialização... aparentemente devido a uma falha na resolução de DNS. Pelo que me lembro (eram 3 da manhã e minha mente estava nebulosa), a atualização do servidor de nomes e da rota finalmente corrigiu o problema.
- Um compartilhamento SMB no host parou de funcionar ao mesmo tempo (e ainda não voltou)
Não é possível executar ping em nomes de domínio:
round-trip min/avg/max/stddev = 15.553/15.790/16.027/0.237 ms
root@jail:~ # ping google.com
ping: cannot resolve google.com: Host name lookup failure
Se eu disser manualmente ao cliente jail para procurar um domínio, recebo um endereço IP de volta:
root@jail:~ # host google.com
google.com has address 172.217.15.110
google.com has IPv6 address 2607:f8b0:4009:801::200e
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 8 smtp.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
NO ENTANTO, para qualquer endereço IP que eu faça ping de dentro do cliente jail, a resposta será do IP do host da jail (FreeNAS). Fazer ping nos mesmos IPs do host obtém uma resposta normal.
root@jail:~ # ping 172.217.15.110
PING 172.217.15.110 (172.217.15.110): 56 data bytes
64 bytes from 10.153.2.9: icmp_seq=0 ttl=116 time=30.454 ms
64 bytes from 10.153.2.9: icmp_seq=1 ttl=116 time=30.235 ms
64 bytes from 10.153.2.9: icmp_seq=2 ttl=116 time=30.534 ms
^C
--- 172.217.15.110 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 30.235/30.408/30.534/0.126 ms
Outro exemplo (observe o IP do host, 10.153.2.9, na resposta):
root@jail:~ # ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 10.153.2.9: icmp_seq=0 ttl=57 time=16.027 ms
64 bytes from 10.153.2.9: icmp_seq=1 ttl=57 time=15.553 ms
^C
--- 1.1.1.1 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
Mas, se eu executar ping em outro IP interno (diferente do roteador), recebo a resposta esperada:
root@jail:~ # ping 10.153.2.205
PING 10.153.2.205 (10.153.2.205): 56 data bytes
64 bytes from 10.153.2.205: icmp_seq=0 ttl=64 time=0.295 ms
64 bytes from 10.153.2.205: icmp_seq=1 ttl=64 time=0.237 ms
64 bytes from 10.153.2.205: icmp_seq=2 ttl=64 time=0.193 ms
^C
--- 10.153.2.205 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.193/0.242/0.295/0.042 ms
root@jail:~
Aqui está o resultado de netstat -rn
dentro do host. Não estou muito familiarizado com esta saída, mas nada me parece errado (e se parece muito com a versão do host):
root@jail:~ # netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 10.0.55.1 UGS epair0b
10.0.0.0/8 link#3 U epair0b
10.153.2.250 link#3 UHS lo0
127.0.0.1 link#1 UH lo0
Internet6:
Destination Gateway Flags NetifExpire
::/96 ::1 UGRS lo0
::1 link#1 UH lo0
::ffff:0.0.0.0/96 ::1 UGRS lo0
fe80::/10 ::1 UGRS lo0
fe80::%lo0/64 link#1 U lo0
fe80::1%lo0 link#1 UHS lo0
ff02::/16 ::1 UGRS lo0
Aqui está o conteúdo do cliente resolv.conf
(idêntico ao do host resolv.conf
e corresponde previsivelmente às configurações da rede FreeNAS):
root@jail:~ # cat /etc/resolv.conf
# Generated by resolvconf
search local
nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 10.0.55.1
root@jail:~
Verifiquei o cache arp e os endereços MAC estão corretos.
ENTÃO....por que a prisão recuperaria o IP do host em uma resposta de ping?