如何让两个网络接口 wifi 和以太网(作为备份)一起工作

如何让两个网络接口 wifi 和以太网(作为备份)一起工作

我有一个树莓派 2,带有 wifi 接口和以太网接口。 wifi 是我的主要连接方式,并且可以插入以太网作为备份方法。我想为每个接口分配不同的静态地址。

我想要的是能够:

  1. 仅使用第一个地址上连接的 USB wifi 启动
  2. 仅使用第二个地址上连接的以太网启动
  3. 使用 wifi 和以太网启动并能够使用这两个地址
  4. 仅使用 wifi 启动;然后热插拔以太网并能够使用这两个地址。
  5. 当 wifi 和以太网都连接时,当其中一个因某种原因断开时能够保持另一个连接。

我没能做到这一点。如果有人可以帮助我,我将非常感激。

这是我的 /etc/network/interfaces 文件:

auto lo
iface lo inet loopback

auto wlan0
#allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
wpa-ssid my-network
wpa-bssid XX:XX:XX:XX:XX:XX
wpa-psk  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1

答案1

我会使用设备绑定,这意味着您正在创建一个新的虚拟设备,为其分配网络设置(例如 IP 地址、掩码等),然后将以太网和 WiFi 接口从属到该接口。

就像是:

 $ sudo modprobe bonding
 $ sudo ifconfig bond0 192.168.0.1 netmask 255.255.0.0
 $ sudo ifenslave bond0 eth0 wlan0

这样做的优点是可以涵盖从 1 到 5 的所有场景,但有一个例外:您只有 1 个 IP 地址。如果这会成为问题,那么您始终可以创建一个“别名”(例如 bond0:0)并为其指定一个不同的 IP 地址。这样,即使只有 1 个接口处于活动状态,两个 IP 地址也始终可达。

更多详细信息可以在网上找到。例如:http://www.codekoala.com/posts/bonding-eth0-and-wlan0-arch-linux/

答案2

联系正是我所需要的,所以我适应了这个答案。我可以备份两个接口并将以太网接口指定为主接口。事实上,我不希望每个接口都有不同的地址。我以为我必须用不同的地址来做,但只有一个地址和自动备份的解决方案正是我想要的。 (我还测试了 3 个不同的地址,它有效。)

这是我的新/etc/network/interfaces文件:

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
# Bonding
bond-slaves none
bond-primary eth0
bond-mode active-backup
bond-miimon 100
bond-downdelay 200
bond-updelay 200

auto wlan0 
#allow-hotplug wlan0
iface wlan0 inet manual
# Bonding
bond-master bond0
bond-primary eth0
bond-mode active-backup
wpa-ssid xxxxxxxxxxxxxxx
wpa-bssid XX:XX:XX:XX:XX:XX
wpa-psk  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

auto eth0
iface eth0 inet manual
# Bonding
bond-master bond0
bond-primary eth0
bond-mode active-backup

答案3

我已经完成了与您同时使用 2 个 wifi 接口和有线以太网所描述的类似的事情。

  • 有线以太网连接到测试网络。
  • hostapd第一个 wifi 适配器被配置为用于初始配置的AP 。
  • 第二个 wifi 适配器连接到本地 wifi 网络,以便访问整个建筑物。

路由已关闭,因为此设置仅用于访问测试网络。唯一的“技巧”是使用wicd-curses配置系统连接到本地 wifi 网络,并在连接有线网络时保持 wifi 接口开启。毫无疑问,这解决了ifplugd@goldilocks 提到的问题。 wicd 联机帮助页上的选项prefer_wired是关键。

我已经成功地将其与 2 个不同的 RPi2B 一起使用。

相关内容