在启动另一个网络设备之前等待网络设备启动?

sno*_*y91 5 networking debian raspberry-pi

我正在将运行 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 秒怎么办?),但它现在似乎确实在起作用。不过,我仍在寻找更好的解决方案!

hil*_*red 0

可能性:

  • 在 eth0 的静态设置中,不要设置默认网关。(我认为这才是真正的问题)
  • 在 dhcp 客户端配置中添加一个钩子,以便在成功配置后启动另一个接口。