Running Services Not Covered by Nixarr Through a VPN
Nixarr reexports its VPN-submodule, meaning you can run your own services using it. As an example, let’s say you want to run a Monero node through a VPN, then you could use the following configuration:
# Open vpnports, must also be opened by VPN-provider
vpnnamespaces.wg = {
openVPNPorts = [
{ port = xmrP2PPort; protocol = "both"; }
{ port = xmrRpcPort; protocol = "both"; }
];
};
# Force moneronode to VPN
systemd.services.monero.vpnconfinement = {
enable = true;
vpnnamespace = "wg"; # This must be "wg", that's what nixarr uses
};
services.monero = {
enable = true;
# Run as public node
extraConfig = ''
p2p-bind-ip=0.0.0.0
p2p-bind-port=${builtins.toString xmrP2PPort}
rpc-restricted-bind-ip=0.0.0.0
rpc-restricted-bind-port=${builtins.toString xmrRpcPort}
# Disable UPnP port mapping
no-igd=1
# Public-node
public-node=1
# ZMQ configuration
no-zmq=1
# Block known-malicious nodes from a DNSBL
enable-dns-blocklist=1
'';
};
Note: that the submodule supports more namespaces than just one, but Nixarr uses the name
wg
, so you should use that too.
Services running over the VPN
will have address
192.168.15.1
instead of
127.0.0.1
. For more
options and information on the
VPN-submodule, check out the
repo