在 Ubuntu 上路由流量以使 Raspberry PI 能够访问互联网

在 Ubuntu 上路由流量以使 Raspberry PI 能够访问互联网

我希望有人能为我指明正确的方向,以便设置我的 Linux(Ubuntu 12.04)盒以将流量从 eth0 路由到 wlan0。我将尝试解释我试图解决的问题:

我目前有两个独立的网络:

[RaspberryPi/eth0] 192.168.2.2 / 255.255.255.0
    ^
    |
    v
[Ubuntu/eth0] 192.168.2.1 / 255.255.255.0

和:

[Ubuntu/wlan0] 192.168.1.100 / 255.255.255.0
    ^
    |
    v
[ADSL router] 192.168.1.1 / 255.255.255.0

因此,目前如果我想访问 RaspberryPI,我可以从 Ubuntu 盒子通过 SSH 连接到 PI。如果我想使用互联网,我可以从 Ubuntu 盒子获得完全访问权限,但无法从 RaspberryPI 获得任何访问权限 - 这两个网络是分区的。

我想要做的是进行配置,以便 RaspberryPI 可以通过 Ubuntu 盒子访问互联网并连接到互联网。

我尝试创建一个桥接器,但收到消息“wlan0:不支持操作”(无线芯片组是 Ralink RT3062)。

我确信在这个配置下让 Raspberry PI 访问互联网应该很容易,但我有点迷茫——有人能给我指出正确的方向吗?

答案1

以 root 身份在你的 ubuntu 上执行此操作以打开 MASQ wlan0,然后 rasperry pi 的路由应该可以正常工作

echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
/sbin/iptables -A FORWARD -i wlan0 -o eth0 -m state
   --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

启动时启动转发和 MASQ

在/etc/sysctl.conf中:

net.ipv4.ip_forward = 1

创建 iptables 配置(应用上述 iptables 命令后)

iptables-save > /etc/iptables_masq.rules

然后,在 /etc/network/interfaces 的“iface eth0”部分下:

pre-up iptables-restore < /etc/iptables_masq.rules

相关内容