-------- Forwarded Message --------
Subject: Re: wg-quick broken by iproute2 update
Date: Thu, 28 Jun 2018 11:53:59 +0200
From: Silvan Nagl <[email protected]>
To: [email protected]
Hi,
since i had to debug this problem already i can tell you it is not
iproute2 causing the problem.
The main problem is that the current standard kernel of CentOS simple
does not support the handling of "suppress_prefixlength".
Iproute2 supports it since it does not return any error while adding so
it had to be the kernel causing problems.
In essence Red Hats official answer was "It isn't a bug, RHEL7 simple
does not support it".
If you sill want to fix your problem just upgrade your kernel to
long-term or mainline.
Regards,
Silvan
On 06/28/2018 04:47 AM, Eddie wrote:
Hi,
I just updated both a RHEL and a CentOS system from 7 -> 7.5.
Following this, when running wg-quick, the routing tables are not
updated correctly. Both systems are running
iproute.x86_64-4.11.0-14.el7, but from different repositories and are
definitely different builds as they install to different sbin libraries.
Here's what I'm seeing:
[eddieath@oc8361880017 ~]$ sudo ip rule list
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
[eddieath@oc8361880017 ~]$
[eddieath@oc8361880017 ~]$ sudo wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip address add 192.168.0.11/24 dev wg0
[#] ip link set mtu 1420 dev wg0
[#] ip link set wg0 up
[#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[eddieath@oc8361880017 ~]$
[eddieath@oc8361880017 ~]$ sudo ip rule list
0: from all lookup local
32764: from all lookup main
32765: not from all fwmark 0xca6c lookup 51820
32766: from all lookup main
32767: from all lookup default
[eddieath@oc8361880017 ~]$
Note the "suppress_prefixlength 0" has been dropped, which really
breaks the routing with a "normal" main ahead of table 51820.
Following this, when running the "down", the duplicated table is not
removed, as there is no match searching for "suppress_prefixlength 0":
[eddieath@oc8361880017 ~]$ sudo wg-quick down wg0
[#] wg showconf wg0
sync: ignoring all arguments
[#] ip -4 rule delete table 51820
[#] ip link delete dev wg0
[eddieath@oc8361880017 ~]$ sudo ip rule list
0: from all lookup local
32764: from all lookup main
32766: from all lookup main
32767: from all lookup default
[eddieath@oc8361880017 ~]$
I've confirmed this on both systems and also that the behaviour is
purely within ip, and not anything that wg-quick is doing:
[eddieath@oc8361880017 ~]$ sudo ip rule list
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
[eddieath@oc8361880017 ~]$ sudo ip -4 rule add table main
suppress_prefixlength 0
[eddieath@oc8361880017 ~]$ sudo ip rule list
0: from all lookup local
32765: from all lookup main
32766: from all lookup main
32767: from all lookup default
[eddieath@oc8361880017 ~]$
Cheers.
_______________________________________________
WireGuard mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard
_______________________________________________
WireGuard mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard