如何进行 Linux 网络绑定
- 网络绑定简介
- 在 Debian 10 Buster 上配置有线和无线网络绑定 (DHCP)
- 在 Debian 10 Buster(静态)上配置有线和无线网络绑定
- 测试绑定是否正常工作
- 排查重新启动网络服务时出现的 wpa_supplicant 错误
网络绑定简介
网络绑定是两个不同物理网络接口的绑定或组合,以在接口出现故障时增加带宽或备用连接。为了备份连接而添加网络接口称为“网络冗余”,简而言之,网络冗余是当网络接口发生故障时,第二个(可能是更多)超过 2 个接口)取代了防止连接故障的功能。另一方面,网络绑定可用于在不同网络接口之间分配流量,从而提高带宽能力,这称为“负载平衡”,并且有不同的类型可以提供网络冗余和负载平衡,或两者兼而有之。
网络绑定有不同类型,首先您可以结合以太网和 WiFi 卡来实现网络冗余或负载平衡(它不会提高 ISP 提供的速度),也有可用的设备来实现网络平衡来自手机的绑定 4g 连接,但您也可以将 Linux 计算机变成网络绑定设备。
网络绑定有 7 种类型:
mode=0(平衡循环)
mode=1(主动备份)⇒ 在本教程中进行了说明。
mode=2(平衡异或)
模式=3(广播)
模式=4(802.3ad)
mode=5(平衡TLB)
mode=6(平衡ALB)
本教程介绍了如何在 Debian 和 Ubuntu Linux 发行版上配置网络绑定,有线连接是默认连接,而无线连接是未连接有线连接时的备用连接。这是模式1(主动备份),只有当有线出现故障时,无线设备才会工作。两个网络设备将通过 bond0 接口绑定。
在 Debian 10 Buster (DHCP) 上配置有线和无线网络绑定
在开始之前,您需要安装 ifenslave 软件包以将从属网络设备连接到绑定设备或将其分离。跑步:
以防万一加载绑定模块
第二步是检查您的网络接口名称,运行:
在我的例子中,我想绑定以太网卡(标识为enp2s0)和无线卡(标识为wlp3s0) 。在遵循本教程时,请将两个名称替换为您的网卡名称。
现在,您必须确保您的网络接口存在于文件 /etc/network/interfaces 中。如果不是,请使用 nano 打开文件:
添加类似的行到我在评论“#Addimilarlines to get your网卡工作…”下方添加的行,替换我的网卡名称(enp2s0 和 wlp3s0)为您的:
#"enp2s0","wlp3s0","LinuxHint...",
#"14:CF:..." and "972..." for your proper information
auto enp2s0
iface enp2s0 inet manual
bond-master bond0
bond-primary enp2s0 wlp3s0
auto wlp3s0
iface wlp3s0 inet manual
bond-master bond0
bond-primary enp2s0 wlp3s0
wpa-ssid 'LinuxHint'
wpa-bssid '14:CF:E2:2A:EF:00'
wpa-psk '972537288765'
auto bond0
iface bond0 inet dhcp
bond-slaves none
bond-mode active-backup
bond-miimon 100
bond-downdelay 200
bond-updelay 200
按 CTRL+X 保存并退出
通过运行以下命令启动绑定设备:
通过运行以下命令重新启动网络服务:
绑定现在应该可以工作了,但这不是我的情况……出现了阻止我重新启动网络服务的错误,如果您也是这种情况,请检查重新启动网络服务时排除 wpa_supplicant 错误,如果您没有看到错误,请跳转到测试 Bonding 是否正常工作以确认一切正常。
在 Debian 10 Buster(静态)上配置有线和无线网络绑定
如果您已按照上述步骤操作并希望将配置更改为静态,请忽略以下步骤并跳转到 /etc/network/interfaces 文件版本进行更新(如果您从本部分开始本教程)要从 0 设置静态配置,然后按照所有后续步骤从安装 ifenslave 包开始,通过运行以下命令将从属网络设备连接到绑定设备或从绑定设备分离:
以防万一加载绑定模块
第二步是检查您的网络接口名称,运行:
在我的例子中,我想绑定以太网卡(标识为enp2s0)和无线卡(标识为wlp3s0) 。在遵循本教程时,请将两个名称替换为您的网卡名称。
现在您必须确保您的网络接口存在于文件 /etc/network/interfaces 中。如果不是,请使用 nano 打开文件:
静态配置的/etc/network/interfaces文件版本:
添加类似的行到我在评论“#Addimilarlines to get your网卡工作…”下方添加的行,替换我的网卡名称(enp2s0 和 wlp3s0),还可以根据您的网络类别替换 IP 地址(例如 10.0.0.X、192.168.1.X)。 X等)
#"14:CF:..." and "972..." for your proper information
auto enp2s0
iface enp2s0 inet manual
bond-master bond0
bond-primary enp2s0 wlp3s0
auto wlp3s0
iface wlp3s0 inet manual
bond-master bond0
bond-primary enp2s0 wlp3s0
wpa-ssid 'LinuxHint'
wpa-bssid '14:CF:E2:2A:EF:00'
wpa-psk '972537288765'
auto bond0
iface bond0 inet static
address 192.168.0.54
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
按 CTRL+X 保存并退出
通过运行以下命令启动绑定设备:
通过运行以下命令重新启动网络服务:
绑定现在应该可以工作,但这不是我的情况……出现了阻止我重新启动网络服务的错误,如果您也是这种情况,请检查重新启动网络服务时的错误故障排除,如果您没有看到错误,请继续阅读下一部分测试您的配置并忽略最后一个以进行故障排除。
测试绑定是否有效
要确认绑定工作正常,请运行:
要检查您的网络设置,您还可以运行
如果您的配置设置正确,您将看到类似的结果,如果您设置了静态 IP,您将看到它。在我的静态配置中,我设置 IP 192.168.0.54:
重新启动网络服务时排查 wpa_supplicant 错误
故障排除说明(如果重新启动网络服务时没有出现错误,请忽略此步骤)
重新启动网络服务时出现错误:
“无法初始化控制接口'/run/wpa_supplicant'。您可能有另一个wpa_supplicant进程已经在运行或者文件已被 wpa_supplicant 不干净终止所留下,在这种情况下,您需要手动再次启动 wpa_supplicant 之前删除此文件。“
要解决此问题,只需重命名文件 /run/wpa_supplicant/wlp3s0 (将 wlp3s0 替换为您的 wifi 卡名称)
如果您在尝试重新启动网络服务时遇到我上面提到的错误,某些接口已关闭,请重复该步骤以启动绑定设备(如果您没有收到错误并且服务已正确重新启动,请忽略此步骤):
然后再次重新启动网络服务
然后再次重新启动网络服务
现在应该可以正常工作,以确认它运行:
要检查您的网络设置,您还可以运行