<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p><br>
</p>
<div class="moz-forward-container"><br>
<br>
-------- Forwarded Message --------
<table class="moz-email-headers-table" cellspacing="0"
cellpadding="0" border="0">
<tbody>
<tr>
<th nowrap="nowrap" align="RIGHT" valign="BASELINE">Subject:
</th>
<td>Re: wg-quick broken by iproute2 update</td>
</tr>
<tr>
<th nowrap="nowrap" align="RIGHT" valign="BASELINE">Date: </th>
<td>Thu, 28 Jun 2018 11:53:59 +0200</td>
</tr>
<tr>
<th nowrap="nowrap" align="RIGHT" valign="BASELINE">From: </th>
<td>Silvan Nagl <a class="moz-txt-link-rfc2396E" href="mailto:mail@53c70r.de"><mail@53c70r.de></a></td>
</tr>
<tr>
<th nowrap="nowrap" align="RIGHT" valign="BASELINE">To: </th>
<td><a class="moz-txt-link-abbreviated" href="mailto:stunnel@attglobal.net">stunnel@attglobal.net</a></td>
</tr>
</tbody>
</table>
<br>
<br>
<pre>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
> <a class="moz-txt-link-abbreviated" href="mailto:WireGuard@lists.zx2c4.com">WireGuard@lists.zx2c4.com</a>
> <a class="moz-txt-link-freetext" href="https://lists.zx2c4.com/mailman/listinfo/wireguard">https://lists.zx2c4.com/mailman/listinfo/wireguard</a>
</pre>
</div>
</body>
</html>