Solution 1 :
J'ai vérifié vos logs et je n'ai trouvé aucun problème. Mais vous avez dit qu'il y a No firewall on the server
. Cela pourrait causer des problèmes, car vous devez activer le transfert pour que le NAT fonctionne. Voici la sortie du guide.
ufw
Afin de configurer vos paramètres ufw pour le trafic VPN, ajoutez d'abord ce qui suit à /etc/default/ufw :
DEFAULT_FORWARD_POLICY="ACCEPT"
Modifiez maintenant /etc/ufw/before.rules et ajoutez le code suivant après l'en-tête et avant la ligne "*filter". N'oubliez pas de modifier le masque IP/sous-réseau pour qu'il corresponde à celui de /etc/openvpn/server/server.conf.
/etc/ufw/before.rules
# NAT (Network Address Translation) table rules *nat :POSTROUTING ACCEPT [0:0] # Allow traffic from clients to eth0 -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE # do not delete the "COMMIT" line or the NAT table rules above will not be processed COMMIT
Ouvrez le port OpenVPN 1194 :
# ufw allow 1194
Enfin, rechargez UFW :
# ufw reload
iptables
Afin d'autoriser le trafic VPN via votre pare-feu iptables de votre serveur, créez d'abord une règle iptables pour le transfert NAT [3] sur le serveur, en supposant que l'interface vers laquelle vous souhaitez transférer s'appelle eth0 :
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Et n'oubliez pas d'activer le transfert dans sysctl
sysctl -w net.ipv4.ip_forward=1
Solution 2 :
Lorsque vous créez une connexion VPN entre votre client et votre serveur VPN, un réseau privé est formé entre les deux, avec une adresse commençant par 192.168.x.x, 10.x.x.x ou 172.16.x.x.
Lorsque vous souhaitez acheminer le trafic du client VPN vers l'Internet mondial, vous devez utiliser NAT sur le serveur afin qu'il traduise l'adresse réseau privée du client VPN en adresse IP publique du serveur.
Ceci est indépendant du fait que la connexion de votre client soit derrière NAT ou non.
Ainsi, en plus d'installer le logiciel VPN, vous devez ajouter des règles de pare-feu pour NAT sur votre serveur.