我怎样才能最简单地透明地桥接 wlan0 和 eth0 之间的流量?

我怎样才能最简单地透明地桥接 wlan0 和 eth0 之间的流量?

我希望在 Raspberry Pi 上执行此操作,但我不介意必须安装哪个操作系统,因此最简单、开箱即用的解决方案适用于 Pidora (Fedora 20 Remix)、Raspbian (Debian) 或Arch 就是我想要的那个。

我住在一所大学大楼里,通过受保护的无线网络提供互联网接入。该无线网络使用 WPA2-Enterprise PEAP 进行授权,并要求我提供用户名、密码和身份验证证书。大学提供了一个脚本来自动为此网络配置 Linux 机器,并且该脚本很高兴与 wpa_supplicant 或网络管理器一起使用 - 我已经尝试过这两种方式。

我有很多机器(Linux 和 Windows 混合),它们都通过我自己的私人无线路由器相互通信。此路由器有一个 WAN 端口,用于连接互联网,以便与其无线网络上的所有机器共享该连接。

我的目标是让我的 Raspberry Pi 连接到大学受保护的无线网络,然后为我的私人无线路由器上的 WAN 端口提供互联网连接。我决定使用 Raspberry Pi,因为它是我能够访问的能够连接到我的大学受保护无线网络的开销最低的设备。

我不需要能够在我的专用无线网络上看到我的 Raspberry Pi(如果可以的话那就太好了,但我真的追求最简单的配置)。我所需要的只是让我的 Raspberry Pi 处理对大学无线网络的身份验证,然后在 eth0 和 wlan0 之间透明地传递数据。对于使用以太网电缆插入 Raspberry Pi 的任何设备,Raspberry Pi 应该看起来像直接的互联网网关。

总而言之,我正在寻找,

(带有 WPA2 PEAP 的大学 Wi-Fi)->(RPi wlan0)---(RPi eth0)->(专用路由器上的 WAN)

我尝试过在 Debian 上使用bridge-utils,但这似乎总是会破坏我的 Raspberry Pi 的无线连接。

我还读过有关使用 iptables 和 ebtables 的内容,但到目前为止,我还不太明白我要在那里做什么,而且我在互联网上找到的一些配置似乎相互冲突。

我应该补充一点,大学无线网络在每次连接时都会动态地为我的 Raspberry Pi 分配 wlan0 上的 IP 地址。我的专用路由器负责为我的所有计算机处理动态 IP 地址分配。

如果有人能够概述一些简单清晰的说明来实现我想要的设置,我将非常感激。我当然愿意阅读并学习运行此程序所需的任何内容,但我有兴趣使解决方案尽可能简单且易于重现。我唯一想要配置的设备是 Raspberry Pi。

我注意到我想做的事情应该是可能的,因为通过 Windows 笔记本电脑上的以太网端口共享我的大学无线网络非常简单!

提前谢谢了!

答案1

这很简单。您不需要任何桥接。只需在 RPi 上伪装您的本地网络:

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

启用流量转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

RPi 不会像看不见的线上凸块一样工作,但需要在它和您的私人路由器之间进行网络设置 - 它将使用 RPi 的 eth0 的 IP 地址作为网关。

所以它看起来像这样:

(RPi wlan0) -- MASQUERADE -- (RPi eth0;192.168.99.254/24) → (WAN on Private Router,192.168.99.1/24)

干杯,

相关内容