From: Aleksa Sarai <cyphar@cyphar.com>
To: wireguard@lists.zx2c4.com
Subject: Overlapping AllowedIPs Configuration
Date: Tue, 7 May 2019 07:08:27 +1000 [thread overview]
Message-ID: <20190506210827.2h4nzjxjpmwg7kpa@yavin> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 1880 bytes --]
Hi all,
I just found out that WireGuard apparently allows you to configure an
interface that has peers with overlapping AllowedIPs ranges -- which
obviously won't work with cryptokey routing -- but additionally is
strange since I feel this should cause an error when configuring the
interface.
In my case, I accidentally used /32 when generating the IPv6 addresses
of my clients and ended up with a config like:
[Interface]
Address = 10.13.37.1/32,fd00:dead:beef:cafe::1/64
ListenPort = 51820
PrivateKey = [key]
# Peer A.
[Peer]
PublicKey = [pub]
PreSharedKey = [psk]
AllowedIPs = 10.13.40.1/32,fd00:dead:beef:1000::/32
# Peer B.
[Peer]
PublicKey = [pub]
PreSharedKey = [psk]
AllowedIPs = 10.13.41.1/32,fd00:dead:beef:1001::/32
This config is wrong (because both peers have overlapping addresses
specified for AllowedIPs), but wireguard will happily accept it:
% wg-quick up wg-foo
[#] ip link add wg-yavin type wireguard
[#] wg setconf wg-yavin /dev/fd/63
[#] ip address add 10.13.37.1/32 dev wg-yavin
[#] ip address add fd00:dead:beef:cafe::1/64 dev wg-yavin
[#] ip link set mtu 1420 up dev wg-yavin
[#] ip route add fd42:dead::/32 dev wg-yavin
[#] ip route add 10.13.41.1/32 dev wg-yavin
[#] ip route add 10.13.40.1/32 dev wg-yavin
This configuration results in only one of the peers actually being given
the IPv6 range, but I feel like "wg setconf" should've rejected this
configuration.
% wg
interface: wg-foo
public key: [pub]
private key: (hidden)
listening port: 51820
peer: [peer A]
preshared key: (hidden)
allowed ips: 10.13.40.1/32
peer: [peer B]
preshared key: (hidden)
allowed ips: 10.13.41.1/32, fd42:dead::/32
--
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
<https://www.cyphar.com/>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 148 bytes --]
_______________________________________________
WireGuard mailing list
WireGuard@lists.zx2c4.com
https://lists.zx2c4.com/mailman/listinfo/wireguard
next reply other threads:[~2019-05-11 13:08 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-06 21:08 Aleksa Sarai [this message]
2019-05-11 15:19 ` Henning Reich
2019-05-11 17:11 ` Aleksa Sarai
2019-05-25 18:39 ` Paul Zillmann
2019-06-06 10:09 ` Toke Høiland-Jørgensen
2019-06-07 8:05 ` Ivan Labáth
2019-06-07 10:07 ` Matthias Urlichs
2019-06-13 7:29 ` Vincent Wiemann
2019-06-07 23:58 ` Paul Zillmann
2019-06-08 7:32 ` Markus Grundmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190506210827.2h4nzjxjpmwg7kpa@yavin \
--to=cyphar@cyphar.com \
--cc=wireguard@lists.zx2c4.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).