aboutsummaryrefslogtreecommitdiffstats
path: root/README.poc0.md
blob: e230f3fe3e0a39d24bc76d4255bc1e935f0bbe25 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# wg-dynamic poc0 warning

wg-dynamic ln/poc0 is unreleased code. It has not been reviewed. It's
full of bugs.

This code is meant for very early integration testing. Beware that any
and all of the interfaces for interacting with wg-dynamic may change.

# Building

Download and build

    sudo apt install libmnl0 libmnl-dev
    git clone -b ln/poc0 https://git.zx2c4.com/wg-dynamic
    cd wg-dynamic
    make

# Running a server on wg0

Configure server side wg0 to have fe80::/64:

    sudo ip addr add fe80::/64 dev wg0

Start wg-dynamic-server:

    sudo ./wg-dynamic-server wg0

# Running a client on wg0

NOTE: In order to run client and server on the same host, see
IP-NETNS(8) and tests/netsh.sh.

Configure client side wg0 to have an address with prefix length 128 in
fe80::/64 and make sure that the server can be reached. Example:

    sudo ip addr add fe80::badc:ffe:e0dd:f00d/128 dev wg0
    sudo ip route add fe80::/128 dev wg0

Start wg-dynamic-client:

    sudo ./wg-dynamic-client wg0

# Known limitations

- No running in the background like real daemons.

- No real IP allocation from a pool -- the server simply replies with
  whatever the client asks for, or predefined addresses (192.168.47.11
  / fd00::badc:0ffe:e) in case client has no suggestions.

- Server does not expire leases.