wg-quick up (on linux) fails in case of several default routes
Jason A. Donenfeld
Jason at zx2c4.com
Tue Oct 6 15:47:52 CEST 2020
On 10/6/20, Chris <wireguard at spam-free.eu> wrote:
> Hello Jason,
> setup is
> two default routes with diffenrent metrics (the second being the failover in
> case the lower metric connection goes down).
> For good reasons wg-quick will setup an individual route to the wg server
> the possibility of changing th default route afterwards).
> However wg-quick fails:
> ******log follows***********
> wg-quick up wg_client
> [#] ip link add wg_client type wireguard
> [#] wg setconf wg_client /dev/fd/63
> [#] ip -4 address add 10.0.129.200/24 dev wg_client
> [#] ip link set mtu 1420 up dev wg_client
> [#] GATEW=$(ip route list 0.0.0.0/0|sed -n 's/.* via \(.*\)
> add s1.spam-free.eu gw $GATEW
> SIOCADDRT: No such device
Where did you get your wg-quick? I would never name a variable 'GATEW'
or print out an expression like that to the console. IOW, I don't
recognize what's happening here because this doesn't seem to be code
> [#] ip link delete dev wg_client
> ******log end ***********
> The point is, that GATEW is NOT a single address but rather a list of ip
> addresses and the command setting the route fails.
> Instead one should always run through ALL default gateways and set
> routes to the server through ALL the default gateways with the same metric
> the respective default route.
> This will then also work in case the failover route is in operation.
> Of course, tearing down the client should delete ALL individual routes to
> Hope this clarifies is a bit.
> On 06/10/2020 14:20, Jason A. Donenfeld wrote:
>> On Mon, Oct 5, 2020 at 3:51 PM Chris <wireguard at spam-free.eu> wrote:
>>> wg-quick tries to set the route to the wg server through the default
>> On Linux? It shouldn't be iterating default gateways at all, but
>> rather using suppress_prefix. Can you provide more technical
>> information about what you're seeing and maybe a patch to fix the
More information about the WireGuard