9

I'm running Linux Mint 17.3 on my laptop. When docked, I'm connected via Ethernet, but when I undock, I'd like not to break my ssh sessions, ongoing downloads, etc., and to use the same IP address on the Wi-Fi adapter, so that still appears the same to other machines on my network.

Bonding in mode 1, active backup, sounds exactly like what I want. I've found a number of resources online about how to set it up, but network configuration seems to vary quite a bit between distributions and even between different versions of each distribution, so that the steps for this vary quite a bit.

What's more, most of the instructions I've found rely on static configuration, like hardcoding network addresses and even WPA passwords into /etc/network/interfaces. I take my laptop to other networks, so I rely on Network Manager to store network configuration.

By googling "bond eth0 wlan0", I found a sample /etc/networking/interfaces file that more or less works, but I apparently have to disable Network Manager to keep it from doing weird things with my routing table. And while the bond is active, I can't seem to use the Network Manager applet to change Wi-Fi networks.

Network Manager 0.9.8 supports bonded interfaces, but only for Ethernet and InfiniBand connections, not for Wi-Fi.

Is there a way to bond Ethernet and Wi-Fi connections that's compatible with Network Manager?

  • 1
    for not breaking ssh sessions, I would recommend mosh. – törzsmókus Oct 23 '17 at 14:43
  • Did you get this working in the end? I'm trying to do the same in Mint 19.1. – mcarans Mar 1 at 14:44
  • @mcarans: There's still no way to do it with Network Manager's GUI. Someone claims to have done it using Network Manager's CLI (nmcli). I don't have cables run for my wired network where I am now, so I haven't tried this yet. If you try it, I'd appreciate it if you report back here (as an answer, if it works). – P Daddy Mar 4 at 12:41
  • @PDaddy Thanks for that link, I have added an answer based on that link as it seems to work. – mcarans Mar 5 at 11:11
1

Note: Not a complete answer, resources that may derive an answer.

Reiterating the question:

Using Network Manager create a bonded link between a(n) AP and STA; such that:

  • a Wifi connection may exist
  • an Ethernet connection may exist
  • when both connections exist, prefer Ethernet
  • retain connection information regardless the connection (wifi, ethernet, both)

This question focuses on the STA (station), though for a bond to exist, the AP (Access Point) will require configuration.

Arch Linux details a solution (utilizing systemd / systemctl): Wireless Bonding

NetworkManager GUI does NOT present wifi as an option with bonding.

However, NetworkManager CLI does appear to support the Bonding options sought:

Network Bonding Using the NetworkManager Command Line Tool, nmcli

In working with the nmcli, bonding appears to support wifi:

$ nmcli con add type wifi ifname wlps3s0 master bond0

Error: Argument 'ssid' was expected, but 'master' provided.

This should get one closer to the solution of bonding an eth & wifi connection together. I don't presently have a full bond to fully answer this question.

1
$ nmcli con add type wifi ifname wlps3s0 master bond0 ssid $YOURSSID
  • 6
    could you please try to explain how this could help. Giving long command line without explaining them a little bit is generally a bad idea. – Kiwy Sep 21 '18 at 8:50
0

What you need is an static DHCP configuration.

That will keep your network manager working as default and allow you to connect to any network at work/home.

There is no way to make other computers on your local network to believe your computer has the same IP under Ethernet and/or WiFi unless the IP is actually the same, for example 168.192.7.87.

The way to have the same IP in both conditions is to make the DHCP server keep the same IP for the MAC address of your computer. However, the MAC address of Ethernet and Wifi are different (come from different hardware). There are some router software that can not do that

To be more specific, the DHCP server assigns this static IP to a unique MAC address assigned to each NIC on your LAN.

You can, however, get it working with dnsmasq

This allows an IP address to be associated with multiple hardware addresses, and gives dnsmasq permission to abandon a DHCP lease to one of the hardware addresses when another one asks for a lease. Beware that this is a dangerous thing to do, it will only work reliably if only one of the hardware addresses is active at any time and there is no way for dnsmasq to enforce this. It is, for instance, useful to allocate a stable IP address to a laptop which has both wired and wireless interfaces.

But you need to make sure that network manager on your laptop do not start both interfaces at the same time Maybe? this

  • Also, one might consider MAC cloning on either one of the interfaces. – loa_in_ Aug 23 '18 at 16:01
  • @loa_in_ MAC clonning in this case is a very bad idea as both interfaces will be active in the same wire (~network). And may be that both get active at the same time. Where is a packet supposed to go if two MACs are equal?. A sure source of problems. – Isaac Aug 23 '18 at 18:03
0
  1. Disable your ethernet connection
  2. Ensure you wifi connection is activated
  3. Execute the following commands replacing myeth0 with your ethernet device, mywifi0 with your wifi device, MYSSID with your wifi network and MYWIFIPASSWORD with your wifi password:
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. You may also need to do the following if they aren't automatically started:
nmcli c up bond-eth
nmcli c up bond-wifi

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.