美文网首页Linux中国::开源热点 Linux中国::技术专栏linux
绑定 WiFi 和以太网,以使网络间移动更轻松

绑定 WiFi 和以太网,以使网络间移动更轻松

作者: Linux技术 | 来源:发表于2019-07-26 22:32 被阅读7次

有时一个网络接口是不够的。网络绑定允许将多条网络连接与单个逻辑接口一起工作。你可能因为需要给单条连接更多的带宽而这么做,或者你可能希望在有线和无线网络之间来回切换而不会丢失网络连接。

我是后面一种情况。在家工作的好处之一是,当天气晴朗时,在阳光明媚的阳台而不是在室内工作是很愉快的。但每当我这样做时,我都会失去网络连接。IRC、SSH、VPN,一切都断开了,客户端重连至少需要一会。本文介绍了如何在 Fedora 30 笔记本上设置网络绑定,以便从笔记本扩展坞的有线连接无缝切换到 WiFi。

在 Linux 中,接口绑定由内核模块 bonding 处理。默认情况下,Fedora 没有启用此功能,但它包含在 kernel-core 软件包中。这意味着启用接口绑定只需一个命令:

sudo modprobe bonding

请注意,这只会在你重启之前生效。要永久启用接口绑定,请在 /etc/modules-load.d 目录中创建一个名为 bonding.conf 的文件,该文件仅包含单词 bonding。

现在你已启用绑定,现在可以创建绑定接口了。首先,你必须获取要绑定的接口的名称。要列出可用的接口,请运行:

sudo nmcli device status

你将看到如下输出:

DEVICE          TYPE      STATE         CONNECTION 

enp12s0u1       ethernet  connected     Wired connection 1 

tun0            tun       connected     tun0 

virbr0          bridge    connected     virbr0 

wlp2s0          wifi      disconnected  -- 

p2p-dev-wlp2s0  wifi-p2p  disconnected  -- 

enp0s31f6       ethernet  unavailable   -- 

lo              loopback  unmanaged     -- 

virbr0-nic      tun       unmanaged     --

在本例中,有两个(有线)以太网接口可用。 enp12s0u1 在笔记本电脑扩展坞上,你可以通过 STATE 列知道它已连接。另一个是 enp0s31f6,是笔记本电脑中的内置端口。还有一个名为 wlp2s0 的 WiFi 连接。 enp12s0u1 和 wlp2s0 是我们在这里感兴趣的两个接口。(请注意,阅读本文无需了解网络设备的命名方式,但如果你感兴趣,可以查看 systemd.net-naming-scheme 手册页。)

第一步是创建绑定接口:

sudo nmcli connection add type bond ifname bond0 con-name bond0

在此示例中,绑定接口名为 bond0。con-name bond0 将连接名称设置为 bond0。直接这样做会有一个名为 bond-bond0 的连接。你还可以将连接名设置得更加人性化,例如 “Docking station bond” 或 “Ben”。

下一步是将接口添加到绑定接口:

sudo nmcli connection add type ethernet ifname enp12s0u1 master bond0 con-name bond-ethernet 

sudo nmcli connection add type wifi ifname wlp2s0 master bond0 ssid Cotton con-name bond-wifi

如上所示,连接名称被设置为更具描述性。请务必使用系统上相应的接口名称替换 enp12s0u1 和 wlp2s0。对于 WiFi 接口,请使用你自己的网络名称 (SSID)替换我的 “Cotton”。如果你的 WiFi 连接有密码(这当然会有!),你也需要将其添加到配置中。以下假设你使用 WPA2-PSK 身份验证

sudo nmcli connection modify bond-wifi wifi-sec.key-mgmt wpa-psk 

sudo nmcli connection edit bond-wif

第二条命令将进入交互式编辑器,你可以在其中输入密码,而无需将其记录在 shell 历史记录中。输入以下内容,将 password 替换为你的实际密码。

set wifi-sec.psk password 

save 

quit

现在,你可以启动你的绑定接口以及你创建的辅助接口。

sudo nmcli connection up bond0 

sudo nmcli connection up bond-ethernet 

sudo nmcli connection up bond-wifi

你现在应该能够在不丢失网络连接的情况下断开有线或无线连接。

警告:使用其他 WiFi 网络时

在指定的 WiFi 网络间移动时,此配置很有效,但是当远离此网络时,那么绑定中使用的 SSID 就不可用了。从理论上讲,可以为每个使用的 WiFi 连接添加一个接口,但这似乎并不合理。相反,你可以禁用绑定接口:

sudo nmcli connection down bond0

回到定义的 WiFi 网络时,只需按上述方式启动绑定接口即可。

微调你的绑定

默认情况下,绑定接口使用“ 轮询(round-robin)”模式。这会在接口上平均分配负载。但是,如果你有有线和无线连接,你可能希望更喜欢有线连接。 active-backup 模式能实现此功能。你可以在创建接口时指定模式和主接口,或者之后使用此命令(绑定接口应该关闭):

sudo nmcli connection modify bond0 +bond.options "mode=active-backup,primary=enp12s0u1"

内核文档提供了有关绑定选项的更多信息。

via: https://fedoramagazine.org/bond-wifi-and-ethernet-for-easier-networking-mobility/

作者:Ben Cotton 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关文章

  • 绑定 WiFi 和以太网,以使网络间移动更轻松

    有时一个网络接口是不够的。网络绑定允许将多条网络连接与单个逻辑接口一起工作。你可能因为需要给单条连接更多的带宽而这...

  • Android 6.0 修改以太网的ip 掩码 网关 DNS及D

    概述:android修改以太网的网络参数配置和wifi是不同的,这里讲述以太网的修改方法,如果想修改wifi的网络...

  • 真机测试

    1.打开电脑wifi,分享网络,手机连WiFi. 2.cmd中输入ipconfig ,查看以太网里面的 IPv4地...

  • RK3399 Android7.1.2上实现以太网共享WiFi网

    在RK3399 Android7.1.2 BOX配置上实现有线网络(以太网)共享WiFi(STA)网络功能,即有线...

  • 树莓派共享以太网口上网

    1. 环境 所处的环境有可以连接因特网的wifi网络,树莓派可以通过wifi上网。 2. 诉求 将树莓派的以太网口...

  • Contiki边界路由

    导语 边界路由器位于网络的边沿,可以通过使用其内建的网络接口与外界交流,这些网络接口如wifi,以太网,串口等。 ...

  • 2021-05-17 网络工程和应用复习题

    1000Base-Lx以太网络标准可以使用单模光缆。 SPF算法在网络上用于计算路由。 IEEE802.11a 通...

  • iSlider 移动端click事件失效

    使用 或者 可以绑定事件,遂绑定了 事件,在pc端是可以使用的,在移动端是不可以使用的,这是为了在一定的可以更好地...

  • 16 性能优化

    电量优化 JobScheduler不同的网络采用不同的策略,延迟加载等充电、wifi、移动网络 网络优化 DNS解...

  • Android 性能优化之网络优化

    前言 随着移动网络的不断升级,客户端的网络传输由3G进化到Wifi、4G,且Wifi场景越来越多。虽然网络环境在变...

网友评论

    本文标题:绑定 WiFi 和以太网,以使网络间移动更轻松

    本文链接:https://www.haomeiwen.com/subject/rspjrctx.html