我希望在 Raspberry Pi 上执行此操作,但我不介意必须安装哪个操作系统,因此是 Pidora (Fedora 20 Remix)、Raspbian (Debian) 或Arch是我想要的。
我住在大学大楼里,通过受保护的无线网络提供互联网访问。此无线网络已使用 WPA2-Enterprise PEAP 进行授权,并要求我提供用户名、密码和身份验证证书。大学提供了一个脚本来为这个网络自动配置一台 Linux 机器,该脚本很高兴与 wpa_supplicant 或 network-manager 一起工作 - 我已经尝试了这两种方法。
我有很多机器(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 的文章,但到目前为止,我还不太明白我要在那里做什么,而且我在互联网上找到的一些配置似乎相互冲突。
我应该补充一点,每次连接时,大学无线网络都会在 wlan0 上为我的 Raspberry Pi 动态分配一个 IP 地址。我的私人路由器处理我所有机器的动态 …
我正在将运行 Raspbian 的 Raspberry Pi 设置为我大学无线网络(需要 WPA2-Enterprise 身份验证)和我的私人无线路由器(通过其 WAN 端口)之间的桥梁。
我在这里得到了一些惊人的帮助: 我怎样才能最简单地透明地桥接 wlan0 和 eth0 之间的流量?
在大多数情况下,我的设置现在按预期工作。唯一的问题是,如果我在 Raspberry Pi 上将 eth0 设置为 auto 或 allow-hotplug(正如我想要的那样,这样一切都会在启动时毫无头绪地出现),似乎所有互联网流量都通过 eth0 路由. 这是不正确的;我的互联网连接在 wlan0 上,eth0 将该连接共享到我的私人路由器。
我可以通过不让 eth0 自动出现来克服这个问题。如果我在 /etc/network/interfaces 之外为 eth0 保留 auto 或 allow-hotplug,允许 Raspberry Pi 启动,然后手动运行“ifup eth0”,我会得到预期的行为。
有没有办法确保 wlan0 在启动时启动 eth0 之前已完全启动(即使 eth0 是启动速度更快的接口)?或者,如果失败了,我如何才能仅通过 wlan0 强制互联网流量(注意这来自 eth0)?
编辑:就目前而言,作为一种变通方法,我正在运行一个脚本来在启动时启动 eth0,延迟 30 秒以允许 wlan0 首先出现。这个解决方案既不优雅也不可靠(如果 wlan0 身份验证需要超过 30 秒怎么办?),但它现在似乎确实在起作用。不过,我仍在寻找更好的解决方案!