From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: mail@53c70r.de Received: from krantz.zx2c4.com (localhost [127.0.0.1]) by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTP id 339b1bb3 for ; Thu, 28 Jun 2018 17:23:08 +0000 (UTC) Received: from mx1.mailbox.org (mx1.mailbox.org [80.241.60.212]) by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTP id 3cfc185c for ; Thu, 28 Jun 2018 17:23:08 +0000 (UTC) Subject: Re: Fwd: Re: wg-quick broken by iproute2 update From: Silvan Nagl To: wireguard@lists.zx2c4.com, stunnel@attglobal.net References: <10808a9e-d503-245e-546c-d3ca77d2a1b0@53c70r.de> Message-ID: <0e92c510-7d80-554f-b049-c6170ac92174@53c70r.de> Date: Thu, 28 Jun 2018 19:28:41 +0200 MIME-Version: 1.0 In-Reply-To: <10808a9e-d503-245e-546c-d3ca77d2a1b0@53c70r.de> Content-Type: multipart/alternative; boundary="------------8B72848E96851101770D73AE" List-Id: Development discussion of WireGuard List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , This is a multi-part message in MIME format. --------------8B72848E96851101770D73AE Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hi, here the last message of redhat: /The issue has been fixed upstream: -commit 7c8f4e6dc30996bff806285730a0bb4e714d3d52 Author: Jason A. Donenfeld ////Date: Tue Jun 26 01:39:32 2018 +0200 fib_rules: match rules based on suppress_* properties too Two rules with different values of suppress_prefix or suppress_ifgroup are not the same. This fixes an -EEXIST when running: $ ip -4 rule add table main suppress_prefixlength 0 Signed-off-by: Jason A. Donenfeld ////Fixes: f9d4b0c1e969 ("fib_rules: move common handling of newrule delrule msgs into fib_nl2rule")/ problem should be considered as fixed. Regards, Silvan On 06/28/2018 02:32 PM, Silvan Nagl wrote: > > > > > -------- Forwarded Message -------- > Subject: Re: wg-quick broken by iproute2 update > Date: Thu, 28 Jun 2018 11:53:59 +0200 > From: Silvan Nagl > To: stunnel@attglobal.net > > > > 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 > > WireGuard@lists.zx2c4.com > > https://lists.zx2c4.com/mailman/listinfo/wireguard > > > > _______________________________________________ > WireGuard mailing list > WireGuard@lists.zx2c4.com > https://lists.zx2c4.com/mailman/listinfo/wireguard --------------8B72848E96851101770D73AE Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit

Hi,

here the last message of redhat:

The issue has been fixed upstream:

-commit 7c8f4e6dc30996bff806285730a0bb4e714d3d52
 Author: Jason A. Donenfeld <Jason@zx2c4.com>
 Date:   Tue Jun 26 01:39:32 2018 +0200

    fib_rules: match rules based on suppress_* properties too

    Two rules with different values of suppress_prefix or suppress_ifgroup
    are not the same. This fixes an -EEXIST when running:

    $ ip -4 rule add table main suppress_prefixlength 0

    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
    Fixes: f9d4b0c1e969 ("fib_rules: move common handling of newrule delrule
msgs 
                         into fib_nl2rule")

problem should be considered as fixed.

Regards,
Silvan

On 06/28/2018 02:32 PM, Silvan Nagl wrote:




-------- Forwarded Message --------
Subject: Re: wg-quick broken by iproute2 update
Date: Thu, 28 Jun 2018 11:53:59 +0200
From: Silvan Nagl <mail@53c70r.de>
To: stunnel@attglobal.net


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
> WireGuard@lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/wireguard



_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard

--------------8B72848E96851101770D73AE--