Tak vzhledem k tomu, že jsem toto docela aktivně řešil tu můžu prakticky popsat různá řešení a úskalí.
OpenVPN - client-to-clientPoměrně zajímavé řešení, sám ho mám naimplementované. Nevím co bylo myšleno stylem "povolím komunikaci mezi klienty", ale prakticky OpenVPN nabízí "subnet topologii", která to defaultně povolené má. Klíčové je správně nakonfigurovat ccd, aby to klientům vždy přidělilo stejnou IP adresu v závislosti na jménu certifikátu.
Pro komunikaci je obecně doporučeno UDP spojení, ale je možné použít i TCP a dokonce je možné i tunelovat přes proxy server.
Konfigurace vypadá nějak takto:
server 192.168.1.0 255.255.255.0
topology subnet
client-config-dir ccd
A pak ccd soubory podle jména, třeba ccd/client1
ifconfig-push 192.168.1.2 255.255.255.0
OpenVPN - server a iptablesDalší možností - ale spíše jen přes RDP, je připojit Windows server jako VPN klient a na serveru pomocí iptables a DNAT přesměrovat příchozí port 3389 co jde na server někde v Amazonu přímo do VPN. U RDP klientů pak není vůbec třeba vpn, výsledná konfigurace vypadá takto:
RDP klient --> AWS server:3389 --> IPTables DNAT --> VPN Server:3389 --> NAT --> VPN Klient (RDP Server)
CenaU AWS je výhodné, že se platí jenom za skutečně využitý čas. Je tak možné třeba naskriptovat zapnutí mašiny jenom v čase, kdy je VPN potřeba. To lze udělat například přes Lambda funkce, nebo aws-cli...
Úroveň komentujícíchTrošku mě to sere, ale dovolím si rýpnout. Většina lidí to tu komentuje, ale nevidím tu nikoho, kdo by s tímhle měl praktickou zkušenost s realizací, což je trošku smutné.