Let me setup my situation here; I live in an apartment with mandatory internet package through an ISP Fastel. I have absolutely no control over the modem/router, we just have ethernet jacks in each room that use a switch to connect to the router in the main office. Our speeds are good, 50Mbps up and down nearly all the time.
I have a computer set aside to run any OS or services required by my issues I've listed below.
Our first issue is we have 5 Xbox Ones that struggle being behind one NAT and really have a bad time being double NATed. Xbox One's support IPv6, but we're not getting an IPv6 address assigned to anything, is there a way either with VPN, proxy, or some sort of network tunnel to get an IPv6 address through a router?
The second issue is that I can't access any of the things on my network while out and about because I don't have a static IP, which I can get around with something like dyn-dns, but I can't port forward because I'm behind another router. (I know this because it's assigned all of our devices a private IP address in the 172.16.x.x range.) I don't know if there's a way to get past this using some VPN, proxy, or some sort of network tunnel like above?
The final issue is that we all play the same games and so when an update comes out it can take a while for all of us to get it downloaded and installed so I'd like something like a squid proxy for caching those downloads then distributing them locally.
I've tried messing around with pfSense, Windows Server 2016, and OpenSUSE. Out of all of those I've liked OpenSUSE the most (really liked yast), but I'd be fine with anything that supports SSH (I have a Chromebook for my main machine).
So to review I have 3 main issues:
1. Xbox One's are behind NAT.
2. Need to be able to port forward.
3. Cache large downloads of games.
* Virtual machine support (hopefully with GPU passthrough)
* Static IP address
* Little-to-no impact on speed/latency
* Headless mode in OS
I need assistance with what OS and services I'd have to use to accomplish this, if possible.