wireguard
After upgrading my system to FreeBSD 14.0, I've decided to finally try WireGuard. I didn't have to install it manually since it's now part of the FreeBSD kernel.
Rather than use wg(8)
directly, I've decided to play around with wg-quick(8)
(wireguard-tools
package).
% pkg install wireguard-tools
WireGuard supports INI-like config files, see the example below (taken from the wg(8)
).
[Interface] PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk= ListenPort = 51820 [Peer] PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg= Endpoint = 192.95.5.67:1234 AllowedIPs = 10.192.122.3/32, 10.192.124.1/24
I've put few config files from my provider inside /usr/local/etc/wireguard/
.
These files can be used to add and set up interfaces.
% wg-quick up /etc/wireguard/sample.conf
I can skip the full path and just use the config name.
% wg-quick up sample
This works because wg-quick
looks for configs inside /usr/local/etc/wireguard/
directory.
When I'm done with the given interface I use wg-quick down
to tear it down.
% wg-quick down sample
To show current WireGuard configuration and runtime information I simply call wg
.