El 20/1/26 a las 15:00, Sad Clouds escribió:
These are my notes for NetBSD and Linux.>
My normal subnet is 10.0.0.0/16 and wireguard VPN subnet is 10.1.0.0/16.

rp4-4g is my Raspberry Pi 4 4GB NFS server.
rp4-8g is my Raspberry Pi 4 8GB Debian NFS client.
z600   is my HP Z600 Debian NFS client.

Substitute these for your own IP addresses and peers. Good luck.



--------------------------------------------------------------------------------
Configure NetBSD as WireGuard server:

Load if_wg module on boot:
vi /etc/modules.conf
if_wg

and then reboot

Generate server private and public keys:
umask 0077
mkdir /etc/wireguard
wg-keygen > /etc/wireguard/wg0.prv
wg-keygen --pub < /etc/wireguard/wg0.prv > /etc/wireguard/wg0.pub
umask 0022

Configure wg0 interface and add peers (max peer name length is 16 chars):
cat > /etc/ifconfig.wg0 << 'EOF'
inet 10.1.0.5/16
!wgconfig ${int} set private-key /etc/wireguard/${int}.prv
!wgconfig ${int} set listen-port 51820
!wgconfig ${int} add peer z600   <base64 client public key> 
--allowed-ips=10.1.0.2/32
!wgconfig ${int} add peer rp4-8g <base64 client public key> 
--allowed-ips=10.1.0.6/32
up
EOF

rp4-4g$ ifconfig
genet0: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         ec_capabilities=0x1<VLAN_MTU>
         ec_enabled=0
         address: dc:a6:32:31:71:32
         media: Ethernet autoselect (1000baseT full-duplex)
         status: active
         inet6 fe80::dea6:32ff:fe31:7132%genet0/64 flags 0 scopeid 0x1
         inet 10.0.0.5/16 broadcast 10.0.255.255 flags 0
lo0: flags=0x8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33624
         status: active
         inet6 ::1/128 flags 0x20<NODAD>
         inet6 fe80::1%lo0/64 flags 0 scopeid 0x2
         inet 127.0.0.1/8 flags 0
wg0: flags=0x8041<UP,RUNNING,MULTICAST> mtu 1420
         status: active
         inet6 fe80::dea6:32ff:fe31:7132%wg0/64 flags 0 scopeid 0x3
         inet 10.1.0.5/16 flags 0
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Configure Debian as WireGuard client:

sudo aptitude install wireguard

Generate client private and public keys:
prv_key=$(wg genkey) &&
pub_key=$(echo ${prv_key:?} | wg pubkey) &&
echo "prv_key: ${prv_key}" &&
echo "pub_key: ${pub_key}" &&
unset prv_key pub_key

Manual config:
cat > /etc/network/interfaces.d/wg0 << 'EOF'
auto wg0
iface wg0 inet static
   address 10.1.0.6
   netmask 255.255.0.0
   pre-up ip link add $IFACE type wireguard
   pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf
   #post-up ip route add 10.1.0.0/16 dev wg0
   post-down ip link del $IFACE
EOF

cat > /etc/wireguard/wg0.conf << 'EOF'
[Interface]
PrivateKey = <base64 client private key>

[Peer]
Endpoint   = 10.0.0.5:51820
PublicKey  = <base64 server public key>
AllowedIPs = 10.1.0.5/32
EOF


Network manager config (alternative to manual config):
Connection name: vpn-rp4-4g
Interface name : wg0
Private key    : XXX

Peers:
   Public key : XXX
   Allowed IPs: 10.1.0.5/32
   Endpoint   : 10.0.0.5:51820

IPv4 Settings:
   Method : Manual
   IP     : 10.1.0.2
   Netmask: 16
   Gateway: <empty>
--------------------------------------------------------------------------------


Thanks so much Sad for your great notes. I appreciate them very much. I see that my NetBSD configuration is same as yours except for the

"wgconfig set listen-port <port>" that I did not use cause I am in the client side.

I observe that:


-Pinging from outside of the local network to 44.x.y.z: it doesn’t work.

-Pinging from another machine on the local network to 44.x.y.z: it works. But it only works for a while; afterwards it stops working. To make it work again I have to do:

ifconfig wg0 down
ifconfig wg0 up

And then it works again from the local network. This may be related to the absence of the PersistentKeepalive = 20 parameter that comes in the configuration file sent by email from the tunnel provider and that does not exist in NetBSD implementation of WireGuard.

I do not know...

I have tested the same thing in RaspberrypiZeroW and Raspberrypi4 with same result. Both systems in NetBSD 10.1



Regards.
Ramiro.

Reply via email to