I will do the best I can to describe what I'm actually looking to do here, but first - the setup. I have a whole internal network connected together with a managed layer 2 or 3 network switch, with many devices that communicate within that network, and I want to host outward facing servers (Game servers such as minecraft and etc.) running Ubuntu Server 22.04 on a Proxmox VE cluster that I am hosting within the network. I've gotten this all working and it's fine and good, but I see attempts from unknown IP's trying to get IN to the network. Their firewalls have been instructed to reject all traffic from all but two ports - one for SSH, and one for the server itself. The port used for the server itself is the only one that is forwarded to the internet and it is device specific, so these attempts are definitely coming from the game server port. I have Xfinity, and so these attempts are usually blocked - but I don't want to just trust that.
I am looking to isolate these virtual machines from my main network - I use long complex passwords in a password manager with an even longer password and yadda yadda but passwords only do so much. I want these to be able to communicate over the internet, and I want to be able to join in and play on those servers with friends, but I don't want the servers getting access to my network if it just so happens to be compromised. Being able to access them via SSH would be nice for server management, but at this point I consider that a luxury. Everything I have read so far tells me this is possible, but depending on what info I trust it is either super simple or wickedly complex.
The method I am looking at is from a Reddit post which states that I can create a virtual machine with pfSense (I may try to do this with OPNsense instead) and use this as an internal router, giving it two virtual NICs. The first vNIC will be attached to the main vSwitch (With Internal Network Access, attached to the physical NIC) and the secondary vNIC will be attached to a secondary vSwitch (No internal network access, not attached to any physical NIC). Using pfSense, you can set the WAN interface to use the main vSwitch, and the LAN interface to use the secondary. You can configure this to block all traffic from going through, but I just need it to keep the server from gaining internal network access to my other devices.
There is a method (sort of) seen in this Proxmox Forum post which is also sort of what I was looking for, but once again not what I am actually looking for. I have tried this anyway, and have had difficulty even getting this to work at all.
The servers I want to isolate need a specific port forwarded to the internet. That's how the servers actually communicate out - and an eventual step to this process will be port redirection, but that is not something I am ready to tackle yet. The port forward makes the machine vulnerable, and in the event of the machine being compromised I want it fully isolated from my network. My Xfinity router allows port forwarding isolated to a specific device, and it does see those VMs as specific devices so I believe that port won't be open for other devices.
Does anyone have a functional way to do this? In summary, I want...
- Internet-Facing game server VMs, that are
- Isolated from my internal LAN network, but
- That can still get internet access
- (Bonus Item retain SSH access in some way/shape so I don't have to manually type out a 20+ character randomized password)
Please let me know if any additional information is needed!