一位朋友设置了我的 Raspberry Pi,以便它创建自己的无线网络,我可以通过 SSH 无线连接到它。 /etc/network/interfaces 文件如下所示:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
up iptables-restore < /etc/iptables.ipv4.nat
这很棒。 Pi 拥有自己的 wifi 网络,我可以从笔记本电脑加入网络并通过.ssh [email protected]
但现在我需要 Pi 来访问互联网。我用以太网线将其连接到路由器,但它实际上不起作用。我可以ping 8.8.8.8
并得到回应。但ping google.com
失败了。所以DNS有问题。
我试过
- 添加
nameserver 8.8.8.8
在 /etc/network/interfaces 的末尾 - 添加
allow-hotplug eth0
之前iface eth0 inet dhcp
两者都没有帮助。
我查看了路由器配置,但不太知道要寻找什么。请参阅下面的屏幕截图。我注意到的一件事是 Pi 的 wlan0 ip 是静态的,并且设置为192.168.1.1
与路由器声称的相同地址(?)。但后来我想:嘿,这是一个 wifi 问题,应该与我当前的 LAN 问题无关。正确的?有任何想法吗?
这是的内容/etc/iptables.ipv4.nat
:
# Generated by iptables-save v1.4.14 on Mon Aug 11 15:58:35 2014
*nat
:PREROUTING ACCEPT [32:5915]
:INPUT ACCEPT [30:4763]
:OUTPUT ACCEPT [3:226]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Aug 11 15:58:35 2014
# Generated by iptables-save v1.4.14 on Mon Aug 11 15:58:35 2014
*filter
:INPUT ACCEPT [214:21125]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [111:13809]
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
COMMIT
# Completed on Mon Aug 11 15:58:35 2014
答案1
不正确。 IP地址冲突是这里的关键。为您的 WiFi 网络提供另一个子网或(可能更好)与以太网桥接 WiFi AP 接口。
iptables 也可能会阻止某些流量。请提供/etc/iptables.ipv4.nat内容。
[如果您按照建议进行桥接,请忽略本段]您的 R.Pi 上也可能缺少 DNS 代理软件。 dnsmasq 是一个不错的选择,因为它为小型路由器提供了 DNS 和 DHCP 服务以及合理的默认值。