[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: WireGuard (was Re: Thunderbird en firefox-esr)



On Sun, 5 Dec 2021 12:16:57 +0100
Winfried Tilanus <winfried@tilanus.com> wrote:

> Geen soepele ervaring dus. Maar als iemand me kan redden, dan hoor ik 
> dat graag.

Twee linuxdozen op hetzelfde netwerk (dat 10.241.32 netwerk moet je
maar omzetten naar je eigen netwerk). De server is ip 243 en de client
is 240 hier. Op de server draaiut een achterliggend netwerk op
"dummy0", dat is een virtuele ethernet kaart, wel zo handig voor dit
soort dingen. Zorg ervoor dat de server poort 10100/udp accepteert
vanaf de client.

Even dus een eenvoudige config met een server met achterliggend netwerk
en een client. Zo hou ik het simpel want als je eenmaal het spelletje
doorhebt is dit maar 0,5% van de mogelijkheden. Je kunt een device als
server en client tegelijk gebruiken bijvoorbeeld. Maar goed, vergeet
dat voorlopig maar even. Eerst maar eens een eenvoudige opzet.

B = beide
S = server
C = client

S ip r
default via 10.241.32.1 dev wlan0 metric 200
10.241.32.0/24 dev wlan0 proto kernel scope link src 10.241.32.243

C ip r
default via 10.241.32.1 dev wlan0 metric 200
10.241.32.0/24 dev wlan0 proto kernel scope link src 10.241.32.240

B (Debian) apt install wireguard wireguard-tools
B modprobe -v wireguard
B ip link add dev wg0 type wireguard
B ip link set wg0 up

je hebt nu een wg0 device:
B ip link show wg0
6: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state
UNKNOWN mode DEFAULT group default qlen 1000 link/none

Op de server:
S sysctl -w net.ipv4.conf.all.forwarding=1
S modprobe -v dummy
S ip link set dummy0 up
S ip address add 172.24.0.1/24 dev dummy0
S ip address add 10.98.101.1/24 dev wg0

C ip address add 10.98.101.2/24 dev wg0
C ip route add 172.24.0.0/24 dev wg0

Stuur op beide machines de config naar het wg device, want net zoals
bij OpenVPN met "iroute", zul je de VPN moeten vertellen achter welke
client welk netwerk ligt: 

B wg setconf wg0 /tmp/wg0.conf



De server conf in /tmp/wg0.conf

###################################################################
[Interface]
ListenPort = 10100
PrivateKey = wMwLKZHIecfUdxsSk1X8jKGIGkCbniW6t6rEwM0KuEo=

[Peer]
PublicKey = 6sITJOjlzi4SdMKkBVdgO94KCphAK9uphOIBcX9XDEY=
AllowedIPs = 10.98.101.2/32
###################################################################


De client config in /tmp/wg0.conf:

###################################################################
[Interface]
PrivateKey = yG/6E0lj3efhG5+rVPLKqVPmBFVg308sCNJNUN/XZmY=

[Peer]
PublicKey = xmdyvPnB36fS0HBsNogBtlZDjRuWTgUWHdrBsO2nGF4=
AllowedIPs = 10.98.101.1/32, 172.24.0.0/24
Endpoint = 10.241.32.243:10100
###################################################################

Op de client:

C ping -c 1 172.24.0.1
PING 172.24.0.1 (172.24.0.1) 56(84) bytes of data.
64 bytes from 172.24.0.1: icmp_seq=1 ttl=64 time=1.64 ms

--- 172.24.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.638/1.638/1.638/0.000 ms



Voor een client op een telefoon, Apple of windows bak: neem de
clientname.conf en zip die naar clientname.zip. Die zip kun je
eenvoudig inladen in de wireguard client app.

De keys horen uiteraard bij elkaar.

Met "wg" kun je de status zien:

S wg
interface: wg0
  public key: xmdyvPnB36fS0HBsNogBtlZDjRuWTgUWHdrBsO2nGF4=
  private key: (hidden)
  listening port: 10100

peer: 6sITJOjlzi4SdMKkBVdgO94KCphAK9uphOIBcX9XDEY=
  endpoint: 10.241.32.240:44313
  allowed ips: 10.98.101.2/32
  latest handshake: 4 seconds ago
  transfer: 1000 B received, 824 B sent

Om keypairs en PreShared keys te genereren heb ik dit script "wgkeys.sh"
ooit gemaakt:

###################################################################
#!/bin/dash

test -x /usr/bin/wg || exit 1

KEY=$(wg genkey)
PUB=$(echo ${KEY} | wg pubkey)
PSK=$(wg genpsk)

echo "PrivateKey = ${KEY}\nPublicKey = ${PUB}\nPresharedKey = ${PSK}"
###################################################################

HTH,

R.

-- 
richard lucassen
http://contact.xaq.nl/


Reply to: