#1 Le 10/06/2015, à 11:24
- GoTrUnK_265
[Résolu] Exclure certains ports d'une connexion VPN
Bonjour à tous,
Après avoir remué le net entier à la recherche d'une réponse, sans en avoir trouvé, je me tourne vers vous.
Je possède un serveur chez moi qui est sous Ubuntu 14.04 LTS (IP DHCP : 192.168.1.9).
Il se connecte à internet via une Freebox (Gateway : 192.168.1.1 / Interface : eth0)
Pour des raisons d'anonymat j'ai pris un abonnement chez un fournisseur de VPN (Private Internet Access) et pour me connecter j'utilise OpenVPN.
Jusque là tout va bien, la connexion démarre lorsque je lance le serveur et le tunnel est établie, j'ai même mis en place les scripts up et down lorsque la connexion du VPN est établie ou arrêtée.
Seulement, lorsque le VPN se lance et que l'interface tun0 est créée il devient impossible de joindre le serveur depuis l'IP publique de la Freebox puisque de nouvelles routes sont poussées (ce qui est normal).
Mon but serait de pouvoir continuer à joindre le serveur depuis l'adresse IP publique de ma freebox sur les ports : 22, 80 et 443.
Je suis tombé sur un topic qui date de 2011 dans lequel une personne avait quasiment le même problème que moi, seulement je n'arrive pas à le faire fonctionner (Topic).
Je ne vous cache pas que mes connaissances en réseau sont assez minces, j'ai donc vraiment besoin d'un coup de main.
Merci d'avance à tous.
Dernière modification par GoTrUnK_265 (Le 14/06/2015, à 20:39)
Hors ligne
#2 Le 11/06/2015, à 13:47
- GoTrUnK_265
Re : [Résolu] Exclure certains ports d'une connexion VPN
Bonjour Screen et merci de ta réponse.
J'avais essayé les commandes disponibles sur ce topic, j'arrive bien à joindre le serveur en ssh une fois le VPN connecté seulement après impossible de faire un ping nulle part.
C'est comme si le serveur n'avais plus accès à internet.
Une idée de ce que ça pourrait être ?
Hors ligne
#3 Le 11/06/2015, à 16:30
- Screen
Re : [Résolu] Exclure certains ports d'une connexion VPN
Bonjour Screen et merci de ta réponse.
J'avais essayé les commandes disponibles sur ce topic, j'arrive bien à joindre le serveur en ssh une fois le VPN connecté seulement après impossible de faire un ping nulle part.
C'est comme si le serveur n'avais plus accès à internet.Une idée de ce que ça pourrait être ?
quelles commandes ? a tu utilisé le routage avancé avec iproute2 ? as tu installé un parefeu ?
qui ping vers qui ?
Hors ligne
#4 Le 11/06/2015, à 17:33
- pires57
Re : [Résolu] Exclure certains ports d'une connexion VPN
Les longues phrases c'est inutile et casse tête, fournis nous plutot des cas de figures avec des ip (même factice si tu veut du moment que tu les fixes (exemple serveur : 192.168.20.56 VPN : 89.14.56.78 .... )
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#5 Le 11/06/2015, à 19:27
- GoTrUnK_265
Re : [Résolu] Exclure certains ports d'une connexion VPN
C'est une installation propre de Ubuntu 14.04.2 LTS, je n'ai pas installé de pare-feu.
Voici ce que retourne la commande "ifconfig" :
eth0 Link encap:Ethernet HWaddr 70:71:bc:94:37:75
inet adr:192.168.1.9 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::7271:bcff:fe94:3775/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:202 erreurs:0 :0 overruns:0 frame:0
TX packets:255 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:24751 (24.7 KB) Octets transmis:31432 (31.4 KB)
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:65536 Metric:1
Packets reçus:229 erreurs:0 :0 overruns:0 frame:0
TX packets:229 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
Octets reçus:17212 (17.2 KB) Octets transmis:17212 (17.2 KB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet adr:10.192.1.6 P-t-P:10.192.1.5 Masque:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
Packets reçus:2 erreurs:0 :0 overruns:0 frame:0
TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
Octets reçus:152 (152.0 B) Octets transmis:3160 (3.1 KB)
"route -n"
0.0.0.0 10.106.1.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
10.106.1.1 10.106.1.5 255.255.255.255 UGH 0 0 0 tun0
10.106.1.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
109.201.154.200 192.168.1.1 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.106.1.5 128.0.0.0 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
"ip route" me renvoi sans VPN:
default via 192.168.1.1 dev eth0 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.9 metric 1
"ip route" me renvoi connecté au VPN :
0.0.0.0/1 via 10.106.1.5 dev tun0
default via 192.168.1.1 dev eth0 proto static
10.106.1.1 via 10.106.1.5 dev tun0
10.106.1.5 dev tun0 proto kernel scope link src 10.106.1.6
109.201.154.200 via 192.168.1.1 dev eth0
128.0.0.0/1 via 10.106.1.5 dev tun0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.9 metric 1
En adaptant par rapport à ma configuration les commandes disponibles dans le topic donné par Screen j'ai exécuté ça :
Ajout de la table "connection" dans "/etc/iproute2/rt_tables" puis :
ip rule add from 192.168.1.9 table 128
ip route add table 128 to 192.168.1.0/24 dev eth0
ip route add table 128 default via 192.168.1.1
Lorsque j'execute ces commandes, le serveur est accessible de l'extérieur mais si je fais :
ping google.com
Je reçois un "unknown host".
Je sais pas si il vous faut d'autres informations, n'hésitez pas à me le dire.
Merci en tous cas de votre aide.
Dernière modification par GoTrUnK_265 (Le 11/06/2015, à 19:29)
Hors ligne
#6 Le 11/06/2015, à 22:53
- Screen
Re : [Résolu] Exclure certains ports d'une connexion VPN
tu as fais à ta sauce mais bon (il est préférable de spécifier le src ip dans iproute add reseau) ,
tu peux vérifier aussi les tables avec:
ip route show table connection (ou plutôt 128 comme tu l'a renommé)
ip rule show
alors maintenant tu accèdes bien depuis l'extérieur en ssh tu as écris.
Je reçois un "unknown host".
en local ou depuis ssh ?
et ping 8.8.8.8 ?
certainement la résolution dns de ton vpn mal configuré.
Hors ligne
#7 Le 12/06/2015, à 01:11
- GoTrUnK_265
Re : [Résolu] Exclure certains ports d'une connexion VPN
J'ai essayé le ping directement sur la machine en local et depuis l'extérieur en ssh et impossible dans les deux cas de faire un ping.
D'ailleurs impossible d'accéder à internet sur Firefox sur la machine par exemple.
Le ping sur 8.8.8.8 fonctionne bien dans les deux cas par contre.
J'ai modifié les commandes de cette façon :
ip rule add from 192.168.1.9 table connection
ip route add table connection to 192.168.1.0/24 dev eth0
ip route add table connection default via 192.168.1.1
Lorsque je fais un "ip route show table connection" j'ai :
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 scope link
"ip rule show" :
0: from all lookup local
32765: from 192.168.1.9 lookup connection
32766: from all lookup main
32767: from all lookup default
Je ne sais pas si ça t'aide, je dois avouer que je suis un peu perdu.
client
dev tun
proto udp
remote nl.privateinternetaccess.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
tls-client
remote-cert-tls server
auth-user-pass
comp-lzo
verb 1
reneg-sec 0
crl-verify crl.pem
auth-user-pass login.conf
;Scripts locaux gérant les routes et le client torrent
script-security 2
up /etc/openvpn/scripts/up.sh
down /etc/openvpn/scripts/down.sh
Edit : J'ai rajouté mon fichier de configuration OpenVPN au cas ou.
Dernière modification par GoTrUnK_265 (Le 12/06/2015, à 01:21)
Hors ligne
#8 Le 12/06/2015, à 08:33
- Screen
Re : [Résolu] Exclure certains ports d'une connexion VPN
J'ai essayé le ping directement sur la machine en local et depuis l'extérieur en ssh et impossible dans les deux cas de faire un ping.
D'ailleurs impossible d'accéder à internet sur Firefox sur la machine par exemple.
Le ping sur 8.8.8.8 fonctionne bien dans les deux cas par contre.
Je comprend alors que ton serveur est à la fois ton pc de bureau --> network-manager ?
la résolution dns utilisera aussi la route par défault du vpn.
Hors ligne
#9 Le 12/06/2015, à 09:43
- GoTrUnK_265
Re : [Résolu] Exclure certains ports d'une connexion VPN
Oui c'est ça l'idée, je m'en sers de temps en temps comme pc du bureau j'ai donc accès au Network Manager.
Merci en tous cas Screen, je testerai ça ce soir.
Bonne journée à toi !
Hors ligne
#10 Le 13/06/2015, à 11:35
- GoTrUnK_265
Re : [Résolu] Exclure certains ports d'une connexion VPN
Par contre ma connexion VPN n'est pas configuré dans le Network Manager, je passe directement en ligne de commande pour lancer OpenVPN.
Y a t-il un moyen de définir le serveur DNS en ligne de commande par hasard ?
Hors ligne
#11 Le 13/06/2015, à 14:32
- Screen
Re : [Résolu] Exclure certains ports d'une connexion VPN
Par contre ma connexion VPN n'est pas configuré dans le Network Manager, je passe directement en ligne de commande pour lancer OpenVPN.
Y a t-il un moyen de définir le serveur DNS en ligne de commande par hasard ?
Normalement, c'est du côté config du serveur vpn qu'il faut faire un push dns (push "dhcp-option DNS xxxx.xxxx.xxxx.xxxx"
pour que le client inscrive automatiquement l'adresse DNS dans /etc/resolv.conf
si ce n'est pas le cas, alors il faut l'écrire dans ce fichier, avec le gestionnaire réseau comme je l'ai mentionné sinon en éditant ce fichier
nano /etc/resolv.conf
nameserver 8.8.8.8 (opendns: 208.67.222.222 208.67.222.220)
mais à refaire à chaque reboot
si tu utilises /etc/network/interfaces pour définir la connexion, tu peux rajouter cette ligne: dns-nameservers 8.8.8.8
Hors ligne
#12 Le 14/06/2015, à 20:38
- GoTrUnK_265
Re : [Résolu] Exclure certains ports d'une connexion VPN
Ça marche enfin !
Plus qu'à faire quelques règles iptables pour peaufiner tout ça et ce sera parfait.
Merci de ton aide Screen en tous cas !
Je passe en résolu.
Hors ligne