FreeNAS 无法解析主机名,ping 任何外部 IP 都会返回主机的 IP

FreeNAS 无法解析主机名,ping 任何外部 IP 都会返回主机的 IP

我的路由器的内部 IP 地址发生了变化,从那时起,TrueNAS 就一直表现不佳。所有 jail 都无法解析主机名。在排除故障时,我发现客户端无法 ping 任何外部 IP 地址,除非主机做出响应。

详情请见:

  • 在此示例中,客户端监狱的 IP 为 10.153.2.250
  • 主机(FreeNAS)的 IP 是 10.153.2.9
  • 新的网关是 10.0.55.1(旧网关是 10.55.0.1),并且已在主机的网络配置和监狱的网络配置中更新。
  • 当网关 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

如果我手动告诉监狱客户端查找域名,我会得到一个 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.

但是,对于我从监狱客户端 ping 的任何 IP 地址,响应都来自监狱主机 (FreeNAS) 的 IP。从主机 ping 相同的 IP 会得到正常响应。

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

但是,如果我 ping 另一个内部 IP(路由器的 IP 除外),我会得到预期的响应:

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地址是正确的。

那么....为什么监狱会在 ping 响应中获取主机的 IP?

相关内容