绑定 WiFi 和以太网,以使网络间移动更轻松
创始人
2024-03-02 03:13:08
0

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

我是后面一种情况。在家工作的好处之一是,当天气晴朗时,在阳光明媚的阳台而不是在室内工作是很愉快的。但每当我这样做时,我都会失去网络连接。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 连接。 enp12s0u1wlp2s0 是我们在这里感兴趣的两个接口。(请注意,阅读本文无需了解网络设备的命名方式,但如果你感兴趣,可以查看 systemd.net-naming-scheme 手册页。)

第一步是创建绑定接口:

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

在此示例中,绑定接口名为 bond0con-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

如上所示,连接名称被设置为更具描述性。请务必使用系统上相应的接口名称替换 enp12s0u1wlp2s0。对于 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中国 荣誉推出

相关内容

锐捷网络:推出"...
金融界7月4日消息,有投资者在互动平台向锐捷网络提问:董秘你好,请...
2025-07-04 16:13:30
AI与机器人盘前速递丨小米...
【市场复盘】 周四(2025年6月26日),截至收盘,科创人工智能...
2025-06-27 09:11:59
短短一年,是什么让移动AI...
2024年,是AI入端元年,大模型和agent被接入到各类移动终端...
2025-06-20 12:14:34
《利用AI生成类谣言辟谣典...
6月11日,以“汇聚举报辟谣之力 共护营商网络环境”为主题的202...
2025-06-13 16:14:18
Docker 4.42 版...
IT之家 6 月 12 日消息,科技媒体 linuxiac 昨日(...
2025-06-12 15:13:33
历史与AI的距离|当AI“...
人工智能的浪潮正以前所未有的速度和深度影响着我们生活的方方面面,从...
2025-06-10 12:40:23

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...