Files
rasmus-kirk 7ef3d63f5c Updated docs
2024-08-08 10:34:18 +02:00

55 lines
1.5 KiB
Markdown

---
title: 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:
```nix {.numberLines}
# 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](https://github.com/Maroka-chan/VPN-Confinement)