3.9. 创建网络绑定以便在不中断 VPN 的情况下在以太网和无线连接间进行切换
将工作站连接到公司网络的 RHEL 用户通常会使用 VPN 访问远程资源。然而,如果工作站在以太网和 Wi-Fi 连接间切换,例如:如果您是从带以太网连接的 docking 站中释放的笔记本电脑,VPN 连接就中断。要避免这个问题,您可以在 active-backup
模式中创建使用以太网和 Wi-Fi 连接的网络绑定。
先决条件
- 主机包含以太网和 Wi-Fi 设备。
已创建以太网和 Wi-Fi 网络管理器连接配置集,且两个连接都可以独立工作。
此流程使用以下连接配置文件来创建名为
bond0
的网络绑定:-
与
enp11s0u1
以太网设备关联的Docking_station
-
Wi-Fi
与wlp1s0
Wi-Fi 设备关联
-
与
流程
在
active-backup
模式中创建一个绑定接口:# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
这个命令将接口和连接配置文件命名为
bond0
。配置绑定的 IPv4 设置:
- 如果您的网络中的 DHCP 服务器为主机分配 IPv4 地址,则不需要任何操作。
如果您的本地网络需要静态 IPv4 地址,请将地址、网络掩码、默认网关、DNS 服务器和 DNS 搜索域设为
bond0
连接:# nmcli connection modify bond0 ipv4.addresses '192.0.2.1/24' # nmcli connection modify bond0 ipv4.gateway '192.0.2.254' # nmcli connection modify bond0 ipv4.dns '192.0.2.253' # nmcli connection modify bond0 ipv4.dns-search 'example.com' # nmcli connection modify bond0 ipv4.method manual
配置绑定的 IPv6 设置:
- 如果您的网络中的路由器或者 DHCP 服务器为主机分配 IPv6 地址,则不需要任何操作。
如果您的本地网络需要静态 IPv6 地址,请将地址、网络掩码、默认网关、DNS 服务器和 DNS 搜索域设为
bond0
连接:# nmcli connection modify bond0 ipv6.addresses '2001:db8:1::1/64' # nmcli connection modify bond0 ipv6.gateway '2001:db8:1::fffe' # nmcli connection modify bond0 ipv6.dns '2001:db8:1::fffd' # nmcli connection modify bond0 ipv6.dns-search 'example.com' # nmcli connection modify bond0 ipv6.method manual
显示连接配置集:
# nmcli connection show NAME UUID TYPE DEVICE Docking_station 256dd073-fecc-339d-91ae-9834a00407f9 ethernet enp11s0u1 Wi-Fi 1f1531c7-8737-4c60-91af-2d21164417e8 wifi wlp1s0 ...
下一步需要连接配置集的名称和以太网设备名称。
为绑定分配以太网连接的配置:
# nmcli connection modify Docking_station master bond0
为绑定分配 Wi-Fi 连接的连接配置集:
# nmcli connection modify Wi-Fi master bond0
如果您的 Wi-Fi 网络使用 MAC 过滤来只允许列表中的 MAC 地址访问网络,请配置 NetworkManager 将活跃端口的 MAC 地址动态分配给绑定:
# nmcli connection modify bond0 +bond.options fail_over_mac=1
使用这个设置时,您必须将 Wi-Fi 设备的 MAC 地址设置为 allow 列表,而不是以太网和 Wi-Fi 设备的 MAC 地址。
将与以太连接关联的设备设置为绑定的主设备:
# nmcli con modify bond0 +bond.options "primary=enp11s0u1"
使用这个设置时,如果可用,绑定总是使用以太网连接。
配置当
bond0
设备激活时,NetworkManager 会自动激活端口:# nmcli connection modify bond0 connection.autoconnect-slaves 1
激活
bond0
连接:# nmcli connection up bond0
验证
显示当前激活的设备,绑定及其端口的状态:
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active) Primary Slave: enp11s0u1 (primary_reselect always) Currently Active Slave: enp11s0u1 MII Status: up MII Polling Interval (ms): 1 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: enp11s0u1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:53:00:59:da:b7 Slave queue ID: 0 Slave Interface: wlp1s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 2 Permanent HW addr: 00:53:00:b3:22:ba Slave queue ID: 0
其它资源