Quali porte verranno aperte?
Le porte che andremo ad aprire sono delle porte “virtuali”, perché in realtà andremo ad instradare tutto il traffico in entrata ad una determinata porta, del nostro Server VPN, verso una porta del nostro client VPN.
Prerequisiti:
- Server VPN funzionante (installatelo con PIVPN, è semplicissimo)
- IP statico per il nostro server, oppure un DDNS
- Porte sul server ovviamente accessibili, dunque se siete dietro ad un modem dovete eseguire il port forwarding anche lì dentro 😁
La mia rete:
- IP pubblico SERVER: 89.40.xxx.xxx
- IP privato del tunnel VPN, lato Server: 10.8.0.1
- IP privato del tunnel VPN, lato Client: 10.8.0.2
- Porta da aprire: 5000 TCP
⚠ Attenzione
- Io apro le TCP, per UDP scrivere udp al posto di tcp
- Per Windows, disattivare il firewall, oppure definire la connessione VPN una connessione privata, no pubblica
Aprire le porte al client VPN?
iptables -t nat -I PREROUTING 1 -d {SERVER_LOCAL_IP_ADDRESS} -p tcp –dport {CLIENT_PORT} -j DNAT –to-dest {CLIENT_LOCAL_IP_ADDRESS}:{CLIENT_PORT}
Esempio mio:
iptables -t nat -I PREROUTING 1 -d 89.40.xxx.xxx -p tcp –dport 5000 -j DNAT –to-dest 10.8.0.2:5000
iptables -t nat -I POSTROUTING 1 -d {CLIENT_LOCAL_IP_ADDRESS} -p tcp –dport {CLIENT_PORT} -j SNAT –to-source {VPN_GATEWAY_IP}
Esempio mio:
iptables -t nat -I POSTROUTING 1 -d 10.8.0.2 -p tcp –dport 5000 -j SNAT –to-source 10.8.0.1
iptables -I FORWARD 1 -d {CLIENT_LOCAL_IP_ADDRESS} -p tcp –dport {CLIENT_PORT} -j ACCEPT
Esempio mio:
iptables -I FORWARD 1 -d 10.8.0.2 -p tcp –dport 5000 -j ACCEPT
Risorse:
https://unix.stackexchange.com/questions/449853/port-forwarding-using-openvpn-client