使用网络管理器时绑定有线和无线


10

我在笔记本电脑上运行Linux Mint 17.3。停靠后,我通过以太网连接,但是当我断开连接时,我不想中断ssh会话,正在进行的下载等,并在Wi-Fi适配器上使用相同的IP地址,因此仍然会出现与我网络上的其他计算机相同。

在模式1下绑定,活动备份听起来完全像我想要的。我在网上找到了很多有关如何设置它的资源,但是网络配置在发行版之间甚至每个发行版的不同版本之间似乎都相差很大,因此,其步骤也相差很大。

而且,我发现的大多数说明都依赖于静态配置,例如将网络地址甚至WPA密码硬编码到/ etc / network / interfaces中。我将笔记本电脑带到其他网络,因此我依靠网络管理器来存储网络配置。

通过搜索“ bond eth0 wlan0”,我发现了一个/ etc / networking / interfaces示例文件,该文件或多或少都可以工作,但是显然不得不禁用Network Manager来防止它对路由表进行奇怪的处理。而且当绑定处于活动状态时,我似乎无法使用网络管理器小程序来更改Wi-Fi网络。

Network Manager 0.9.8支持绑定接口,但仅适用于以太网和InfiniBand连接,不支持Wi-Fi。

有没有办法绑定与网络管理器兼容的以太网和Wi-Fi连接?


1
对于不中断ssh会话的情况,我建议使用mosh
törzsmókus

最终您能完成这项工作吗?我正在尝试在薄荷19.1中做同样的事情。
mcarans

@mcarans:使用Network Manager的GUI仍然无法做到这一点。有人声称已经使用Network Manager的CLI(nmcli完成了此操作。我现在所在的有线网络没有电缆,所以我还没有尝试过。如果您尝试过,不妨在这里举报(如果可行,可以作为回答),不胜感激。
P爸爸

@PDaddy感谢您提供该链接,我在该链接的基础上添加了一个答案,因为它似乎可以正常工作。
mcarans

Answers:


2
  1. 禁用您的以太网连接
  2. 确保您的wifi连接已激活
  3. 执行以下命令,将myeth0替换为以太网设备,将mywifi0替换为wifi设备,将MYSSID替换为wifi网络,将MYWIFIPASSWORD替换为wifi密码:
nmcli con add type bond con-name bond ifname bond0 mode active-backup primary myeth0 +bond.options "fail_over_mac=active,miimon=100,primary_reselect=always,updelay=200"
nmcli con add type wifi con-name bond-wlan slave-type bond master bond0 ifname mywifi0 ssid MYSSID
nmcli c modify bond-wlan wifi-sec.key-mgmt wpa-psk wifi-sec.psk MYWIFIPASSWORD
nmcli con add type ethernet con-name bond-eth slave-type bond master bond0 ifname myeth0
nmcli c up bond
  1. 如果它们没有自动启动,则可能还需要执行以下操作:
nmcli c up bond-eth
nmcli c up bond-wifi

1

注意:不是完整的答案,可能会得出答案的资源。

重申问题:

使用网络管理器在AP和STA之间创建绑定链接;这样:

  • 一个无线上网的连接可以存在
  • 以太网连接可以存在
  • 两个连接都存在时,首选以太网
  • 保留连接信息,无论连接如何(WiFi,以太网,两者)

这个问题集中在STA(站)上,尽管要存在绑定,AP(访问点)将需要配置。

Arch Linux详细介绍了一个解决方案(利用systemd / systemctl): 无线绑定

网络管理器GUI确实NOT本wifi的与粘合的选项。

但是,NetworkManager CLI似乎确实支持所寻求的“绑定”选项:

使用NetworkManager命令行工具nmcli进行网络绑定

在使用nmcli时,绑定似乎支持wifi:

$ nmcli con添加类型wifi ifname wlps3s0 master bond0

错误:参数'ssid'是预期的,但提供了'master'。

这应该更接近将eth和wifi连接绑定在一起的解决方案。我目前没有完全的约束力来完全回答这个问题。


1
$ nmcli con add type wifi ifname wlps3s0 master bond0 ssid $YOURSSID

6
你能解释一下如何帮助您吗?在不加解释的情况下给出较长的命令行通常是一个坏主意。
Kiwy,

0

您需要的是静态DHCP配置。

这将使您的网络管理员保持默认状态,并允许您连接到公司/家中的任何网络。

除非IP实际上是相同的,否则无法使本地网络上的其他计算机相信您的计算机在以太网和/或WiFi下具有相同的IP,例如IP.168.192.7.87。

在两种情况下具有相同IP的方法是使DHCP服务器为计算机的MAC地址保留相同的IP。但是,以太网和Wifi的MAC地址不同(来自不同的硬件)。有些路由器软件无法做到这一点

更具体地说,DHCP服务器将此静态IP分配给分配给LAN上每个NIC的唯一MAC地址。

但是,您可以将其与dnsmasq一起使用

这样一来,一个IP地址即可与多个硬件地址相关联,并允许dnsmasq允许在另一个人请求租用时将DHCP租约放弃给其中一个硬件地址。请注意,这样做是危险的,只有在任何时候只有一个硬件地址处于活动状态并且dnsmasq无法强制执行此操作时,它才能可靠地工作。例如,将稳定的IP地址分配给同时具有有线和无线接口的便携式计算机很有用。

但是,您需要确保笔记本电脑上的网络管理器不会同时启动两个接口。这个


同样,人们可能会考虑在任一接口上进行MAC克隆。
loa_in_

@loa_in_在这种情况下,MAC克隆是一个非常糟糕的主意,因为两个接口都将在同一根导线(〜网络)中处于活动状态。可能是两个都同时活跃。如果两个MAC相等,数据包应该去哪里?确定问题的根源。
以撒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.