Per la prima domanda devi usare gli ip alias, anche se è un termine obsoleto. Comunque da cli devi fare una cosa del genere:
# ip addr add 192.168.8.103/24 dev eth0
# ip addr add 192.168.8.104/24 dev eth0
# ip addr add 192.168.8.105/24 dev eth0
poi dal dns devi far puntare i vari sottodomini a ciascuno ip.
Per esempio:
web.esempio.com ---> 192.168.8.103
game.esempio.com ---> 192.168.8.104
voce.esempio.com ---> 192.168.8.105
questa:
https://docs.ovh.com/it/dedicated/network-ipaliasing
è la guida ovh per configurare un ip alias per fare fail over.
Quindi configurare ogni servizi in modo che ascolti sul indirizzo assegnato. Per esempio apache deve ascoltare su web.esempio.com e sull'ip 192.168.8.103 e lo stesso per gli altri servizi. Non l'ho mai fatto ma credo si possa fare nel modo che ti ho spiegato.
Ovvio che devi avere una macchina con almeno 3 indirizzi ip disponibili. Ma a questo punto ti conviene comprare 3 vps differenti, così per ogni macchina hai il suo servizio.
Per la seconda domanda, puoi fare una VPN fra due VPS. Per esempio hai web.esempio.com che punta a 1.1.1.1 ... poi installi la VPN su 1.1.1.1 e fai rigirare tutto il traffico verso 2.2.2.2. Puoi fare questo tipo di cose con iptable. Gli utenti si collegheranno a 1.1.1.1 ma il sito sarà su 2.2.2.2, loro non vedranno nulla in quanto la vpn natta tutto.
Pér la terza domanda, come ti è stato già risposto dipende dal servizio. Con apache ho visto che hai risolto. Comunque considera con che la prima soluzione è cose se tu filtrassi a livello di dns.. Perchè se tu fai puntare game.esempio.com ---> 192.168.8.104 è ovvio che chi arriva su 104 è perché ha risolto game. E comunque un ip da qualche parte deve sempre venire fuori.