我正在使用私人热点将 Raspberry Py 连接到互联网。我已经在文件中设置了密码和 ssid /etc/network/interfaces
。通过此配置,我可以连接到 wifi,但无法连接到互联网。
pi@tenzo /etc $ ping google.com
PING google.com (173.194.40.2) 56(84) bytes of data.
From tenzo.local (192.168.1.115) icmp_seq=1 Destination Host Unreachable
我问了一圈,他们说是网关问题。traceroute
从连接到同一网络的笔记本电脑运行我得到:
userk@dopamine:~$ traceroute google.com
traceroute to google.com (216.58.212.110), 30 hops max, 60 byte packets
1 192.168.43.1 (192.168.43.1) 2.423 ms 5.088 ms 5.084 ms
2 * * *
3 10.4.129.165 (10.4.129.165) 120.018 ms 120.027 ms 120.020 ms
4 10.4.129.196 (10.4.129.196) 129.488 ms 129.490 ms 129.471 ms
5 10.4.129.196 (10.4.129.196) 138.994 ms 141.969 ms 144.439 ms
你有什么建议吗?
编辑1
我已经添加了interfaces
网关、地址和网络掩码。看编辑2
现在,当我 ping google.com 时,我得到了与以前相同的错误......
这是的输出route -n
pi@tenzo ~ $ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 192.168.43.1 0.0.0.0 UG 303 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.43.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
编辑2 这是我的接口文件:
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.115
netmask 255.255.255.0
gateway 192.168.1.1
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.43.235
netmask 255.255.255.0
gateway 192.168.43.1
wpa-ssid "UserKOnTheNet"
wpa-psk "xxxxx"
这是的输出跟踪路由
pi@tenzo ~ $ traceroute google.com
traceroute to google.com (173.194.40.7), 30 hops max, 60 byte packets
1 tenzo.local (192.168.1.115) 2995.172 ms !H 2995.058 ms !H 2995.016 ms !H
答案1
需要在您的interfaces
文件中配置网关;例如,类似的东西
iface wlan0 inet static
address 192.168.x.y
gateway 192.168.x.z
netmask 255.255.255.0
可以使用(其中 x 是您的网络号,y 是您的主机地址,z 是您的网关地址)。显然您还需要保留您的加密设置。
如果您在该接口上使用 dhcp,则说明您的 dhcp 服务器出现问题。
编辑:您还应确保没有其他网络接口有gateway
设置,或者如果有,则该接口上的网关设置正确。“网关”或“默认网关”是提供 Internet 连接的机器。gateway
如果该网络连接上不存在这样的主机,则网络接口没有线路是一种有效的配置。
eth0
在您的情况下,假设链接的网络上没有互联网路由器,您应该确保该iface eth0
节如下所示:
iface eth0 inet static
address 192.168.1.115
netmask 255.255.255.0
即,您已经拥有的,但没有线路gateway 192.168.1.1
。 (行开头的缩进是可选的,但确实使文件更易于阅读)。
答案2
通过比较命令的输出,traceroute google.com
我注意到通过同一 wifi 网络连接到互联网的工作笔记本电脑的第一跳具有正确的网关地址 192.168.43.1,而 Raspberry Pi 的第一跳1 tenzo.local (192.168.1.115)
是 eth0 接口的静态地址。
我使用 @Wouter Verhelst 的建议解决了问题,并禁用 eth0 接口
sudo ifconfig eth0 down
现在互联网连接正常了!