Die interne IP-Adresse meines Routers hat sich geändert und seitdem verhält sich TrueNAS nicht mehr richtig. Keines der Jails kann mehr einen Hostnamen auflösen. Bei der Fehlerbehebung habe ich festgestellt, dass der Client keine externe IP-Adresse anpingen kann, ohne dass die Antwort vom Host kommt.
Zur Info:
- In diesem Beispiel ist die IP des Client-Jails 10.153.2.250
- Die IP des Hosts (FreeNAS) ist 10.153.2.9
- Das neue Gateway ist 10.0.55.1 (das alte war 10.55.0.1) und wurde sowohl in der Netzwerkkonfiguration des Hosts als auch in den Jails aktualisiert.
- Als sich die Gateway-IP änderte, geriet FreeNAS beim nächsten Start in eine Boot-Schleife ... anscheinend aufgrund eines DNS-Auflösungsfehlers. Soweit ich mich erinnere (es war 3 Uhr morgens und mein Kopf war benebelt), wurde das Problem schließlich behoben, indem ich den Nameserver und die Route aktualisierte.
- Eine SMB-Freigabe auf dem Host funktionierte zur gleichen Zeit nicht mehr (und ist noch immer nicht wiederhergestellt)
Domänennamen können nicht gepingt werden:
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
Wenn ich dem Jail-Client manuell sage, dass er nach einer Domäne suchen soll, erhalte ich eine IP-Adresse zurück:
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.
JEDOCH kommt die Antwort für jede IP-Adresse, die ich vom Jail-Client aus anpinge, von der IP des Jail-Hosts (FreeNAS). Wenn ich vom Host aus an dieselben IPs pinge, erhalte ich eine normale Antwort.
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
Ein weiteres Beispiel (beachten Sie die IP des Hosts, 10.153.2.9, in der Antwort):
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
Wenn ich jedoch eine andere interne IP (außer der des Routers) anpinge, erhalte ich die erwartete Antwort:
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:~
Hier ist das Ergebnis netstat -rn
aus dem Host heraus. Ich bin mit dieser Ausgabe nicht allzu vertraut, aber mir fällt nichts Ungewöhnliches auf (und es ähnelt stark der Version des Hosts):
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
Hier ist der Inhalt des Clients resolv.conf
(identisch mit dem des Hosts resolv.conf
und entspricht voraussichtlich den Einstellungen in der FreeNAS-Netzwerkkonfiguration):
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:~
Ich habe den ARP-Cache überprüft und die MAC-Adressen sind korrekt.
Also....warum sollte das Jail die IP des Hosts in einer Ping-Antwort zurückerhalten?