<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>