ルーターの内部 IP アドレスが変更され、それ以来 TrueNAS が誤動作しています。どの jail もホスト名を解決できなくなりました。この問題のトラブルシューティングで、クライアントはホストからの応答がなければ外部 IP アドレスに ping できないことがわかりました。
詳細情報:
- この例では、クライアント jail の IP は 10.153.2.250 です。
- ホスト(FreeNAS)のIPは10.153.2.9です
- 新しいゲートウェイは 10.0.55.1 (古いゲートウェイは 10.55.0.1) であり、これはホストのネットワーク構成と jail の両方で更新されています。
- ゲートウェイ IP が変更されると、FreeNAS は次回の起動時にブート ループに入りました... どうやら DNS 解決の失敗が原因でした。思い出すと (午前 3 時で頭がぼんやりしていました)、ネーム サーバーとルートを更新することで最終的に修正されました。
- 同時にホスト上の SMB 共有が機能しなくなりました (まだ復旧していません)
ドメイン名をpingできません:
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
手動で jail クライアントにドメインを検索するように指示すると、IP アドレスが返されます。
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.
ただし、jail クライアント内から ping した IP アドレスに対しては、jail のホスト (FreeNAS) の IP からの応答が返されます。ホストから同じ IP に ping すると、通常の応答が返されます。
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
別の例 (応答内のホストの IP 10.153.2.9 に注意してください):
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
しかし、別の内部 IP (ルーターの IP 以外) に ping を実行すると、期待どおりの応答が返されます。
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:~
ホスト内からの結果は次のとおりですnetstat -rn
。この出力にはあまり詳しくありませんが、特に問題と思われる点はありません (ホストのバージョンとよく似ています)。
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
クライアントの の内容は次のとおりですresolv.conf
(ホストの と同一でありresolv.conf
、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:~
ARP キャッシュをチェックしましたが、MAC アドレスは正しいです。
それで....なぜ jail は ping 応答でホストの IP を取得するのでしょうか?