Discussion:
Bonding wireless and wired internet connection makes my internet really slow
(too old to reply)
Doron Behar
2018-05-03 11:34:34 UTC
Permalink
Raw Message
Hi everyone,

I'm trying to bond my wireless and wired network interfaces using
`systemd-networkd`. Since I didn't want to put any configuration in
`/etc/systemd/network/` I don't fully understand, this is the
configuration I've ended up with:

$ cat /etc/systemd/network/10-bond0.netdev
[NetDev]
Name=bond0
Kind=bond

---

$ cat /etc/systemd/network/20-wired.network
[Match]
Name=enp0s25

[Network]
Bond=bond0

---

$ cat /etc/systemd/network/25-wireless.network
[Match]
Name=wlp2s0

[Network]
Bond=bond0

---

$ cat /etc/systemd/network/35-tethering.network
[Match]
Name=enp0s20u*

[Network]
Bond=bond0

---

$ cat /etc/systemd/network/40-bond0.network
[Match]
Name=bond0

[Network]
DHCP=yes

---

As opposed to the old configuration which works as fast as light:

$ cat /etc/systemd/network/20-wired.network
[Match]
Name=enp0s25

[Network]
DHCP=yes

---

$ cat /etc/systemd/network/25-wireless.network
[Match]
Name=wlp2s0

[Network]
DHCP=yes

---

$ cat /etc/systemd/network/35-tethering.network
[Match]
Name=enp0s20u*

[Network]
DHCP=yes

---

With the 1st configuration, If I reboot, I definitely have networking
capabilities but from some reason, after a while, browsing the web for
example, becomes extremely slow.

How can I debug this? Are there any best practices for the simplest
bonding configuration? What am I missing here?

BTW I've also encountered this post:
https://bbs.archlinux.org/viewtopic.php?id=195348 which seems to be
suggesting the exact same thing so it doesn't really helped me reading
it.
Kai Krakow
2018-05-04 21:46:15 UTC
Permalink
Raw Message
Am Thu, 03 May 2018 14:34:34 +0300 schrieb Doron Behar:

> Hi everyone,
>
> I'm trying to bond my wireless and wired network interfaces using
> `systemd-networkd`. Since I didn't want to put any configuration in
> `/etc/systemd/network/` I don't fully understand, this is the
> configuration I've ended up with:
>
> $ cat /etc/systemd/network/10-bond0.netdev
> [NetDev]
> Name=bond0
> Kind=bond
>
> ---
>
> $ cat /etc/systemd/network/20-wired.network
> [Match]
> Name=enp0s25
>
> [Network]
> Bond=bond0
>
> ---
>
> $ cat /etc/systemd/network/25-wireless.network
> [Match]
> Name=wlp2s0
>
> [Network]
> Bond=bond0
>
> ---
>
> $ cat /etc/systemd/network/35-tethering.network
> [Match]
> Name=enp0s20u*
>
> [Network]
> Bond=bond0
>
> ---
>
> $ cat /etc/systemd/network/40-bond0.network
> [Match]
> Name=bond0
>
> [Network]
> DHCP=yes
>
> ---
>
> As opposed to the old configuration which works as fast as light:
>
> $ cat /etc/systemd/network/20-wired.network
> [Match]
> Name=enp0s25
>
> [Network]
> DHCP=yes
>
> ---
>
> $ cat /etc/systemd/network/25-wireless.network
> [Match]
> Name=wlp2s0
>
> [Network]
> DHCP=yes
>
> ---
>
> $ cat /etc/systemd/network/35-tethering.network
> [Match]
> Name=enp0s20u*
>
> [Network]
> DHCP=yes
>
> ---
>
> With the 1st configuration, If I reboot, I definitely have networking
> capabilities but from some reason, after a while, browsing the web for
> example, becomes extremely slow.
>
> How can I debug this? Are there any best practices for the simplest
> bonding configuration? What am I missing here?

Do the wifi and cable network connect to the same router? Then it
probably doesn't know about the bonding and network packets start to
travel in circles after a while.

You may be able to fix this by setting the bond mode to failover
instead of balancing. I think the mode is called "active-backup". But
usually the other end of the bond needs to know about this, too.

Another mode which may work is "balance-xor" which usually allows
attaching bonding members to different switches on the other side.

The mode defaults to balance-rr which is probably incompatible with
your setup.

BTW: Bonding may not improve throughput and even hurt latency a lot if
you combine very different types on links, i.e. wifi and cable. So
"active-backup" may be the best way to do it here.


--
Regards,
Kai

Replies to list-only preferred.
Loading...