Hi @steve
Iâm running one of my nodes on a VPS, and even a very cheap and small one.
Itâs true that NS8 has a different approach than NS7, but that doesnât have to keep you from doing it if you donât mind a little BASH.
My setup is as follows:
My main network is my homelab. I have a fixed IP with all ports open on my home network, so iâm never affraid of my ISP blocking anything. I currently have a Mikrotik hardware firewall, but in the process of replacing that with NethSecurity.
On my network i have 3 nodes running, 4th node is on the VPS and i have that node specificaly for mail services.
My VPS is a single core with 2GB of RAM and 50 GB of storage - so definitely not very âbeefyâ
Itâs running Debian 12.9, and i did a apt-upgrade before installing NS8
The first thing i did was set a firewall rule so SSH, HTTP and HTTPS would be blocked, with my home IP as an exception. I donât need HTTP/S and SSH to be reacheable to the world since my HTTP infra runs on my home lab. I DO have roundcube installed on the VPS node, and itâs available through a hostname known on the web, but for that i made a traefik rule that if the request for roundcube enters my HTTP/S infra at my place, it gets proxied from within my enviroment to the ip of the VPN on the VPS. That may seem dull, but it keeps my proxy rules all in one place and i only have 1 entry point to secure.so on the Debian shell i did this:
firewall-cmd --zone=public --remove-service=ssh --permanent
firewall-cmd --zone=public --remove-service=http --permanent
firewall-cmd --zone=public --remove-service=https --permanent
firewall-cmd --zone=public --remove-service=dhcpv6-client --permanent
firewall-cmd --zone=public --add-rich-rule ârule family=âipv4â service name=âsshâ source address=âmy.fix.ip.addrâ acceptâ --permanent
firewall-cmd --zone=public --add-rich-rule ârule family=âipv4â service name=âhttpâ source address=âmy.fix.ip.addrâ acceptâ --permanent
firewall-cmd --zone=public --add-rich-rule ârule family=âipv4â service name=âhttpsâ source address=âmy.fix.ip.addrâ acceptâ --permanent
replace âmy.fix.ip.addrâ with your IP (hopefully itâs also a fixed oneâ)
Since the VPS needs to grab a certificate sometimes the acme servers should be able to reach the node also, so hereâs that:
firewall-cmd --zone=public --add-rich-rule ârule family=âipv4â service name=âhttpâ source address=â172.65.32.248â acceptâ --permanent
firewall-cmd --zone=public --add-rich-rule ârule family=âipv4â service name=âhttpsâ source address=â172.65.32.248â acceptâ --permanent
firewall-cmd --reload
Maybe this is a possible solution for you?
EDIT to elaborate, by VPN i mean the wireguard VPN that is setup between nodes when installing NS8. It gives an open communication channel between nodes an these lines have full freedom of speech to one another. so any communication that may not see the front side, i do over the VPN.
Grtz,
Stef