FreeNAS はホスト名を解決できず、外部 IP の ping は代わりにホストの IP を返します。

FreeNAS はホスト名を解決できず、外部 IP の ping は代わりにホストの IP を返します。

ルーターの内部 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 を取得するのでしょうか?

関連情報