Bonjour à tous,
J'ai un petit soucis, je me suis monté un client vpn sur mon raspberry et tout mon réseau interne transit via ce vpn pour aller sur le net.
J'aimerai à présent utiliser nginx, mais lorsque mon vpn est connecté le site est inaccessible.
J'arrete le service openvpn et nginx est UP…
Je pense que le problème est lié à cette commande que j'ai passé :
iptables --table nat -A POSTROUTING -o tun0 -j MASQUERADE
D'après ce que je comprends tout transit par la carte tun0 (vpn) et du coup nginx est down
J'ai tenté de modifier le fichier de config openvpn avec des commandes :
route-nopull
route 0.0.0.0 128.0.0.0
mais rien a faire je suis dépassé.
Je suis sur que c'est une connerie mais je suis noobs sur iptable etc..
Si quelqu'un à une idée ? Merci :)
# ip forward
Posté par fe3lgo0d . Évalué à 2.
Salut Grad76
Est ce qu'il n'y a que ton nginx qui n'est pas joignable à travers ton tunnel ou tu n'as aucun accès à l’extérieur ?
As tu vérifié que le forwarding est actif dans /etc/sysctl.conf ?
(https://linuxconfig.org/how-to-turn-on-off-ip-forwarding-in-linux)
[^] # Re: ip forward
Posté par grad76 . Évalué à 1.
Salut fe3lgo0d,
J'ai effectivement activé le forwarding => net.ipv4.ip_forward = 1
# Serveur VPN perso ?
Posté par ptit_poulet . Évalué à 1.
Concernant le serveur VPN il est à toi ?
S'il n'est pas à toi, attention à bien vérifier que tu peux faire du port forwarding dessus… sinon effectivement une fois connecté au VPN tu ne pourras plus accéder à ton client depuis l'extérieur.
[^] # Re: Serveur VPN perso ?
Posté par grad76 . Évalué à 1.
Salut ptit_poulet,
Je n'ai rien d'autre qu'un client vpn et nginx qui tourne.
[^] # Re: Serveur VPN perso ?
Posté par fe3lgo0d . Évalué à 1.
Je pense que ce que ptit_poulet voulait mettre en évidence, c'est est ce que le tuyau de sortie t'appartient ou tu passes par un fournisseur de services VPN.
Car, et il a raison de le faire remarquer, si tu n'es pas maître du VPN en sortie, alors tu devras t'adapter, alors que si c'est ton propre VPN hébergé sur un serveur sur le net, alors il faut adapter ta conf.
[^] # Re: Serveur VPN perso ?
Posté par grad76 . Évalué à 1. Dernière modification le 19 mars 2019 à 12:32.
En fait je vais vous détaillé mon réseau :
Mes équipements se connectent sur la freebox : 192.168.10.252
Le serveur DHCP est le raspberry et envoi en gateway 192.168.10.111
Comme dit de ce fait tout transit via VPN (presta NordVPN).
J'ai ouvert le port 443 et 80 qui redirige sur l'IP de mon rasp 192.168.10.111
Le site est accessible en interne seulement et KO depuis l'extérieur lorsque mon service openvpn tourne.
Je ne comprends pas en quoi le fournisseur est en question ?
Sachant que j'ai une carte rj et une wifi, je peux pas faire une modif pour passer par la carte wifi en interne et dédié la rj45 pour mon website ?
Certains ont pu résoudre via des modification dans le fichier de conf de nordvpn en ajoutant des lignes de ce genre : route-nopull
mais la ca sort de mon domaine de compétence.
[^] # Re: Serveur VPN perso ?
Posté par Ecran Plat (site web personnel) . Évalué à 2.
C'est normal,
quand le vpn est en haut, la connexion rentre via l'adresse ip publique de ta box, et le raspberry pi répond via le vpn vu que ça devient la route par défaut.
Quand ton vpn est déconnecté c'est la box qui redevient route par défaut.
Tu pourrait contourner le problème en faisant du masquerade sur la box en direction du raspberry (on peut le faire facilement avec un vrai routeur genre pfsense) (dans ce cas la le raspberry voit comme adresse entrante celle de ton routeur (un nat à l’envers)).
Le plus simple est de faire tourner ton nginx sur un autre raspberry (que tu configure le réseau manuellement en mettant comme route ta box), ou faire tourner ton nginx dans un container lxc (je ne sais pas si on peut sur arm) qui aurait sa propre configuration réseau par défaut.
Ou voir si nordvpn permet de faire de la redirection de port.
[^] # Re: Serveur VPN perso ?
Posté par Anonyme . Évalué à 2.
tu dois pouvoir créer des carte réseau virtuel et faire du nat dessus/avec.
https://journaldunadminlinux.fr/creer-une-interface-virtuelle-sous-debian-et-centos/
# Soluce
Posté par voxdemonix . Évalué à 2. Dernière modification le 19 mars 2019 à 12:39.
1) solution 1
Éditer le fichier de configuration du serveur :
Cherchez (CTRL+W) push "redirect-gateway def1" et vérifier que la ligne est bien commentée (ou supprimée) en placant un dièse (#) en tout début de la ligne.
2) solution 2
As-tu tenté d'ajouter --route-nopull à ta commande de lancement du client openvpn comme suit ?
[^] # Re: Soluce
Posté par grad76 . Évalué à 1.
Solution 1 :
J'utilise un fichier client.conf et non un fichier .ovpn
Dans ce fichier je n'ai pas de redirect-gateway def1
Solution 2 :
J'ai tenté et le problème persiste.
Pour la mise en place de tout cela, j'ai suivi le tuto suivant
http://blog.dahanne.net/2015/01/05/utiliser-le-raspberry-pi-comme-passerelle-openvpn-pour-permettre-un-acces-vpn-a-tout-votre-reseau-local/
Si ça peut éclairer..
merci :)
[^] # Re: Soluce
Posté par grad76 . Évalué à 1.
En complément, voici mon fichier de conf openvpn :
client
dev tun
proto tcp
remote-random
port 443
remote 77.243.177.55
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ping 15
ping-restart 0
ping-timer-rem
reneg-sec 0
comp-lzo no
remote-cert-tls server
mute 10000
auth-user-pass id.txt
verb 3
pull
fast-io
cipher AES-256-CBC
auth SHA512
mon certificat
[^] # Re: Soluce
Posté par voxdemonix . Évalué à 1. Dernière modification le 19 mars 2019 à 14:27.
Penses à censurer ton adresse IP et toutes autres informations plus ou moins sensible quand tu partages des fichiers de conf etc ;)
Tu peux aussi utiliser le balisage (indiqué en bas de page lorsque tu postes un nouveau message) afin que le site met en forme correctement tes copier-coller :)
[^] # Re: Soluce
Posté par grad76 . Évalué à 1.
Je n'ai pas partagé d'information confidentiel, l'adresse IP en question est simplement un serveur VPN de NordVPN ;-)
[^] # Re: Soluce
Posté par voxdemonix . Évalué à 1. Dernière modification le 19 mars 2019 à 14:38.
Dans ta conf je lis "pull" dont voici la documentation :
Si tu la supprimes, normalement le serveur ne va plus pouvoir ajouter des routes (et donc la commande route -n devrait être bien différente avant et après suppression de cette option).
Par contre il faudra ajouter manuellement à ton système d'exploitation les nouvelles routes.
Commande récupérée ici qu'il faudra adapter en fonction de tes envies. De souvenir, cette commande est non persistante (donc en cas de redémarrage, il faut la relancer).
# routage assymetrique
Posté par NeoX . Évalué à 2.
quand tous les services sont UP
ton client web arrive par la box -> cause à ton rpi/ngnix -> qui repond via le VPN
du coup personne ne recoit le paquet quand la reponse recue ne vient pas de l'adresse interrogée
il n'y a pas trop de solution "propre" pour faire cela,
d'un coté du veux tout faire sortir par le VPN (pour te cacher ?)
de l'autre tu veux faire rentrer un service sur ton IP publique (pour etre visible ?)
c'est contradictoire, et ca foire :p
la solution serait donc de pouvoir marquer le paquet qui entre sur le port 80/443 du RPI
pour que ce paquet et les reponses soient ensuite routés vers la box.
il faut donc jouer avec iptables mangle pour marquer le dit paquet,
avec ip rule pour changer de table de routage si le paquet est marqué, et l'envoyer vers la route via la box par defaut
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.