如何设置wlan0的网关?

如何设置wlan0的网关?

我正在使用私人热点将 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

现在互联网连接正常了!

相关内容