我最近更换了 ISP。我有一个新路由器。经过一番折腾后,我的路由器几乎按照我想要的方式运行了。但是,从那时起我的 Raspberry Pi 无法解析外部地址。所以,做像ping www.google.com
名字这样的事情并不能解决问题。我收到以下消息:
ping: www.google.com: Temporary failure in name resolution
中的接口/etc/network
有这样的:
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.0.42
gateway 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
resolv.conf 包含以下内容:
domain Home
search Home
nameserver 192.168.0.1
当我这样做时,dig google.com @192.168.0.1
我得到
; <<>> DiG 9.10.3-P4-Raspbian <<>> google.com @192.168.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42497
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 289 IN A 216.58.198.110
;; Query time: 17 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Tue Nov 20 10:36:14 GMT 2018
;; MSG SIZE rcvd: 44
答案1
看来您已将 Py 的 IP 地址设置为静态地址。这可能不是您想要的。
大多数现代网络都使用 DHCP。您的 ISP 提供的路由器/以太网交换机/调制解调器组合中将内置一个 DHCP 服务器。
您需要将界面模式设置为自动。
在我的 py 上,该文件/etc/network/interfaces
仅包含
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
并且/etc/network/interfaces.d/
是空目录。