PrivatVpn.se : correction de l'installation par défaut
L'installation sous Linux (en l'occurrence Mandriva 2012), basée sur openvpn, présente cependant une faille majeure connue sous le nom de DNS leak : les requêtes DNS passent par le fournisseur d'accès d'origine, ce qui ne permet ni de les masquer ni de les chiffer. Un sniffeur peut alors savoir à quels serveurs vous accédez, sans pour autant connaître le détail des échanges.
la suite de ce billet explique comment colmater cette brèche sous Linux.
Le site http://www.dnsleaktest.com/ détecte la même vulnérabilité avec l'installation sous Windows, mais le client fourni étant propriétaire, il est plus difficile d'intervenir sur les commandes d'openvpn.
Il faut tout d'abord créer un script (ne pas oublier le chmod +x) qui va permettre de mettre à jour le resolver de Linux en adaptant le contenu du fichier /etc/resolv.conf
Nous placerons ce script dans /etc/openvpn/update-resolv-conf par exemple. Voici son contenu
Le script ci-dessous va être appelé directement par openvpn qui met à jour les variables d'environnement foreign_option avec les données provenant du serveur DHCP de PrivatVpn. Pour qu'open vpn appelle effectivement ce script, deux manipulations sont nécessaires.
La première consiste à ajouter les deux lignes suivantes à etc/openvpn/privatvpn.conf :
Voici par exemple ce que l'on peut faire. L'idée est de n'autoriser rien par défaut. Nous sommes sur un portable pour lequel les interface eth0 (ehternet) et wlan0 (wifi) sont disponibles.
Nous placerons ce script dans /etc/openvpn/update-resolv-conf par exemple. Voici son contenu
#!/bin/bash
#
# Parses DHCP options from openvpn to update resolv.conf
# To use set as 'up' and 'down' script in your openvpn *.conf:
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
#
# Used snippets of resolvconf script by Thomas Hood
# and Chris Hanson
# Licensed under the GNU GPL. See /usr/share/common-licenses/GPL.
#
# 05/2006 chlauber@bnc.ch
#
# Example envs set from openvpn:
# foreign_option_1='dhcp-option DNS 193.43.27.132'
# foreign_option_2='dhcp-option DNS 193.43.27.133'
# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
[ -x /sbin/resolvconf ] || exit 0
case $script_type in
up)
for optionname in ${!foreign_option_*} ; do
option="${!optionname}"
echo $option
part1=$(echo "$option" | cut -d " " -f 1)
if [ "$part1" == "dhcp-option" ] ; then
part2=$(echo "$option" | cut -d " " -f 2)
part3=$(echo "$option" | cut -d " " -f 3)
if [ "$part2" == "DNS" ] ; then
IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
fi
if [ "$part2" == "DOMAIN" ] ; then
IF_DNS_SEARCH="$part3"
fi
fi
done
R=""
if [ "$IF_DNS_SEARCH" ] ; then
R="${R}search $IF_DNS_SEARCH\n"
fi
for NS in $IF_DNS_NAMESERVERS ; do
R="${R}nameserver $NS\n"
done
echo -ne "$R" | /sbin/resolvconf -a "${dev}.inet"
;;
down)
/sbin/resolvconf -d "${dev}.inet"
;;
esac
Il est à noter que le script d'origine, que l'on peut trouver à l'adresse http://www.subvs.co.uk/openvpn_resolvconf présente une anomalie qui est ici corrigée.Le script ci-dessous va être appelé directement par openvpn qui met à jour les variables d'environnement foreign_option avec les données provenant du serveur DHCP de PrivatVpn. Pour qu'open vpn appelle effectivement ce script, deux manipulations sont nécessaires.
La première consiste à ajouter les deux lignes suivantes à etc/openvpn/privatvpn.conf :
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
La deuxième consiste à changer les options d'appel à openvpn dans /usr/bin/privatvpn. Voici à quoi ressemble le script après modification (ce script permet aussi de choisir son fichier de configuration, ce qui me permet de choisir le pays de géolocalisation du VPN) :
#!/bin/bash
if [ "x$1" != "x" ] ; then
CONF="-$1"
fi
/usr/sbin/openvpn --script-security 3 system --config /etc/openvpn/privatvpn$CONF.conf
Voilà il ne reste plus qu'à composer des règles iptables pour n'autoriser le trafic que sur l'interface virtuelle chiffrée tap0 et on est sûr de ne plus avoir de fuite...Voici par exemple ce que l'on peut faire. L'idée est de n'autoriser rien par défaut. Nous sommes sur un portable pour lequel les interface eth0 (ehternet) et wlan0 (wifi) sont disponibles.
#! /bin/bash
ORIGL="wlan0 eth0"
EXTIFL=tap0
echo "ACCES PRINCIPAL : $EXTIFL"
#set -en
echo Effacement des chaines
chains=`cat /proc/net/ip_tables_names 2>/dev/null`
for i in $chains; do iptables -t $i -F; done && \
echo "Flushing all chains: OK" || \
echo "Flushing all chains: BAD"
for i in $chains; do iptables -t $i -X; done && \
echo "Removing user defined chains: OK" || \
echo "Removing user defined chains: BAS"
echo Sécurité par défaut
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP
iptables -N MY_DROP
#iptables -A MY_DROP -j LOG --log-prefix '[IPTABLES DEBUG DROP] : '
iptables -A MY_DROP -j DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#echo Spoofing
#iptables -A INPUT -i $EXTIF -s 172.17.0.0/16 -j LOG_DROP
echo Machine a états
iptables -N chk_tcp
iptables -A chk_tcp -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
iptables -A chk_tcp -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix "New not syn:"
iptables -A chk_tcp -p tcp ! --syn -m state --state NEW -j MY_DROP
iptables -A chk_tcp -p tcp --syn -m state --state ESTABLISHED -j LOG \
--log-prefix "Syn not New:"
iptables -A chk_tcp -p tcp --syn -m state --state ESTABLISHED -j MY_DROP
iptables -A INPUT -p tcp -j chk_tcp
iptables -A OUTPUT -p tcp -j chk_tcp
iptables -A FORWARD -p tcp -j chk_tcp
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
for EXTIF in $EXTIFL ; do
echo "=================== Interface $EXTIF ========================="
#Netbios
echo Netbios
iptables -A INPUT -i $EXTIF --protocol udp --dport 137 -m state --state NEW -j MY_DROP
iptables -A OUTPUT -o $EXTIF --protocol tcp --dport 137 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol udp --dport 137 -m state --state NEW -j ACCEPT
iptables -A INPUT -i $EXTIF --protocol udp --dport 138 -m state --state NEW -j MY_DROP
iptables -A OUTPUT -o $EXTIF --protocol tcp --dport 138 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol udp --dport 138 -m state --state NEW -j ACCEPT
iptables -A INPUT -i $EXTIF --protocol udp --dport 139 -m state --state NEW -j MY_DROP
iptables -A OUTPUT -o $EXTIF --protocol tcp --dport 139 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol udp --dport 139 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --dport 445 -m state --state NEW -j ACCEPT
echo Masquerade
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
echo Tout en local
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
echo DNS
iptables -A OUTPUT -o $EXTIF -p udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 53 -m state --state NEW -j ACCEPT
echo Web
# Accès direct
iptables -A INPUT -i $EXTIF -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -i $EXTIF -p tcp --dport 8080 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 4470 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 4400 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 4401 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 8090 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 8009 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 8080 -m state --state NEW -j ACCEPT
# SSL
iptables -A OUTPUT -o $EXTIF -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 444 -m state --state NEW -j ACCEPT
# Proxy
iptables -A OUTPUT -o $EXTIF -p tcp --dport 3128 -m state --state NEW -j ACCEPT
echo NTPD
iptables -A OUTPUT -o $EXTIF -p udp --dport 123 -m state --state NEW -j ACCEPT
echo real
iptables -A OUTPUT -o $EXTIF -p tcp --dport 7070 -m state --state NEW -j ACCEPT
echo CDDB
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 8880 -m state --state NEW -j ACCEPT
echo FTP
modprobe ip_conntrack_ftp
iptables -A OUTPUT -o $EXTIF -p tcp --dport 21 -m state --state NEW -j ACCEPT
iptables -A INPUT -i $EXTIF -p tcp --dport 21 -m state --state NEW -j ACCEPT
echo traceroute
iptables -A OUTPUT -o $EXTIF -p udp --dport 33434:33600 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p icmp -m state --state NEW -j ACCEPT
echo Mail
# pop
iptables -A OUTPUT -o $EXTIF -p tcp --dport 110 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 995 -m state --state NEW -j ACCEPT
# SMTP
iptables -A OUTPUT -o $EXTIF -p tcp --dport 25 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p tcp --dport 465 -m state --state NEW -j ACCEPT
#IMAP
iptables -A OUTPUT -o $EXTIF -p tcp --dport 993 -m state --state NEW -j ACCEPT
echo SSH
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 22 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 2222 -m state --state NEW -j ACCEPT
iptables -A INPUT -i $EXTIF --protocol tcp --destination-port 22 -m state --state NEW -j ACCEPT
echo Real
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 554 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 7070 -m state --state NEW -j ACCEPT
echo CVS
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 2401 -m state --state NEW -j ACCEPT
echo Mysql
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 3306 -m state --state NEW -j ACCEPT
echo Imprimantes
iptables -A OUTPUT -o $EXTIF --protocol udp --destination-port 8611 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 8611 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 9100 -m state --state NEW -j ACCEPT
echo LDAP
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 389 -m state --state NEW -j ACCEPT
echo privatVPN
for ORIG in $ORIGL ; do
iptables -A OUTPUT -o $ORIG -p udp --dport 21000:21003 -m state --state NEW -j ACCEPT
done
echo XMPP
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 5222 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 5222 -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 5223 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 5223 -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 7777 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 7777 -j ACCEPT #transfert de fichier
iptables -A OUTPUT -o $EXTIF -p udp --dport 7777 -m state --state NEW -j ACCEPT
iptables -A INPUT -i $EXTIF -p udp --sport 7777 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 8010 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 8010 -j ACCEPT
iptables -A OUTPUT -o $EXTIF -p udp --dport 8010:8013 -m state --state NEW -j ACCEPT
iptables -A INPUT -i $EXTIF -p udp --sport 8010:8013 -m state --state NEW -j ACCEPT
echo radio.fr
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 8000 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $EXTIF --protocol tcp --destination-port 8058 -m state --state NEW -j ACCEPT
echo poubelle silencieuse
#bootp
iptables -A INPUT -i $EXTIF --protocol udp --dport 67 -m state --state NEW -j MY_DROP
iptables -A INPUT -i $EXTIF --protocol udp --dport 68 -m state --state NEW -j MY_DROP
#SUN RPC
iptables -A INPUT -i $EXTIF --protocol udp --dport 111 -m state --state NEW -j MY_DROP
iptables -A INPUT -i $EXTIF --protocol udp --dport 7938 -m state --state NEW -j MY_DROP
#Network Time Procol
iptables -A INPUT -i $EXTIF --protocol udp --dport 123 -m state --state NEW -j MY_DROP
#SNMP
iptables -A OUTPUT -o $EXTIF --protocol udp --dport 161 -j MY_DROP
#445
iptables -A OUTPUT -o $EXTIF --protocol tcp -d 172.17.9.19 --dport 445 -j MY_DROP
iptables -A OUTPUT -o $EXTIF --protocol tcp -d 172.17.9.34 --dport 445 -j MY_DROP
#RIP
#iptables -A INPUT -i $EXTIF --protocol udp --dport 520 -j MY_DROP
#Timed
iptables -A INPUT -i $EXTIF -p udp --dport 525 -m state --state NEW -j MY_DROP
#IPP
iptables -A INPUT -i $EXTIF -p udp --dport 631 -m state --state NEW -j MY_DROP
iptables -A OUTPUT -o $EXTIF -p udp --dport 631 -m state --state NEW -j MY_DROP
#Groove
iptables -A INPUT -i $EXTIF -p udp --dport 1211 -m state --state NEW -j MY_DROP
#Open Connect license manager
#iptables -A INPUT -i $EXTIF --protocol udp --dport 1448 -j MY_DROP
# Découverte de service sur le port 1900
iptables -A INPUT -i $EXTIF --protocol udp --dport 1900 -d 239.255.255.250 -j MY_DROP
iptables -A OUTPUT -o $EXTIF --protocol udp --dport 1900 -j MY_DROP
#Axon Control Protocol (Architecture distribuée)
iptables -A INPUT -i $EXTIF --protocol udp --dport 2071 -j MY_DROP
#vérification de licenses MS-office pour macs
iptables -A INPUT -i $EXTIF --protocol udp --dport 2223 -j MY_DROP
#Sybase Active Server
iptables -A INPUT -i $EXTIF --protocol udp --dport 2638 -j MY_DROP
#ENPC (contôle d'imprimante EPSON)
#iptables -A INPUT -i $EXTIF --protocol udp --dport 3289 -j MY_DROP
#Web Service Discovery (UPnP v2 Discovery)
iptables -A INPUT -i $EXTIF --protocol udp --dport 3702 -j MY_DROP
# Multicast DNS (Itune ?)
iptables -A INPUT -i $EXTIF --protocol udp --dport 5353 -j MY_DROP
iptables -A OUTPUT -o $EXTIF --protocol tcp --dport 5353 -j MY_DROP
#dropbox lanSync
iptables -A INPUT -i $EXTIF -p udp --sport 17500 -m state --state NEW -j MY_DROP
done
echo Log des erreurs
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
iptables -A FORWARD -j LOG_DROP
echo FIN
Commentaires
Afficher les commentaires en Vue non groupée | Vue groupée
Anonyme sur :
Merci
Christian sur :
Merci
@+
Sebastien sur :
j'ai mis un exemple de règles iptables
Christian sur :
Par contre quand j'applique ces régles cela ne fonctionne pas chez moi.
Aucun accès internet,mail etc.
J'ai juste modifié ORIGL="wlan0 eth0" en ORIGL="eth0 eth1" car c'est un PC de bureau.
J'ai copié ce fichier dans etc/init.d/ , je l'ai rendu exécutable et j'ai lancé la commande : update-rc.d nomdufichier defaults pour l'activer au démarrage.
Quand je désactive ces règles cela fonctionne mais dés que je les actives j'ai plus d'accès à internet.
J'utilise privatvpn sur le serveur des pays-bas port 21000.
Sébastien sur :
Sébastien sur :
Attention : ces règles sont à appliquer une fois que la connexion VPN est établie. Elle assurent justement que l'interface native ne puisse traiter aucune donnée (on est sût ainsi de passer par l'interface virtuelle qui chiffre les données).
Il faut aussi vérifier que l'on utilise bien l'interface VPN tun0 et pas tap0 par exemple. Une fois que a connexion est établie, la commande ifconfig doit faire apparaître l'interface virtuelle tap0 (ou tun0). Si aucun interface n'apparaît c'est que l'on n'est pas connecté au VPN.
Certains serveurs du /etc/openvpn/privatvpn.conf ne sont pas fonctionnels (en particulier le premier qui est utilisé par défaut). J'utilise pour ma part généralement les serveurs suédois à l'adresse 91.240.64.20
Pour déboguer :
1) vérifier que tap0 est bien opérationnel en faisant un ifconfig
2) regarder les messages d'erreur avec un sudo tail -f /var/log/syslog
christian sur :
Après quelque essais cela fonctionne en rajoutant ces deux lignes :
iptables -A OUTPUT -o $ORIG -p udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o $ORIG -p tcp --dport 53 -m state --state NEW -j ACCEPT
dans la boucle suivante :
echo privatVPN
for ORIG in $ORIGL ; do
iptables -A OUTPUT -o $ORIG -p udp --dport 21000:21003 -m state --state NEW -j ACCEPT
done
Je ne sais pas si c'est normal ou pas.
Par contre quand je vérifie mon IP j'ai bien une IP néerlandaise.
Et quand je test sur le site dnsleaktest je n'ai pas de fuite DNS.
Par contre une question à quoi correspond ces IP :
#445
iptables -A OUTPUT -o $EXTIF --protocol tcp -d 172.17.9.19 --dport 445 -j MY_DROP
iptables -A OUTPUT -o $EXTIF --protocol tcp -d 172.17.9.34 --dport 445 -j MY_DROP
Sebastien sur :
Quels sont les erreurs dans ton syslog lorsque ces lignes ne sont pas présentes ? Est-ce que dans ce cas l'interface tap0 est montée ? Est-ce que ton privatvpn.conf contient des IP ou des noms de serveurs ?
La règle sur le port 445 bloque les partages windows de manière silencieuse - elle est optionnelle...
Christian sur :
Donc pour résumer quand j'applique tes règles sans aucunes modifications : pas d'accès internet.
Mon syslog :
Nov 19 09:53:37 ArizonaPC kernel: [ 85.050976] [IPTABLES DROP] : IN=eth0 OUT= MAC=ac:22:0b:cc:40:75:f4:ca:e5:57:25:2f:08:00 SRC=79.141.173.17 DST=192.168.0.44 LEN=105 TOS=0x00 PREC=0x00 TTL=55 ID=0 DF PROTO=UDP SPT=21000 DPT=37065 LEN=85
Nov 19 09:53:38 ArizonaPC kernel: [ 85.887719] [IPTABLES DROP] : IN=eth0 OUT= MAC=ac:22:0b:cc:40:75:f4:ca:e5:57:25:2f:08:00 SRC=79.141.173.17 DST=192.168.0.44 LEN=105 TOS=0x00 PREC=0x00 TTL=55 ID=0 DF PROTO=UDP SPT=21000 DPT=37065 LEN=85
Nov 19 09:53:39 ArizonaPC kernel: [ 86.896593] [IPTABLES DROP] : IN=eth0 OUT= MAC=ac:22:0b:cc:40:75:f4:ca:e5:57:25:2f:08:00 SRC=79.141.173.17 DST=192.168.0.44 LEN=105 TOS=0x00 PREC=0x00 TTL=55 ID=0 DF PROTO=UDP SPT=21000 DPT=37065 LEN=85
Nov 19 09:53:40 ArizonaPC kernel: [ 87.893957] [IPTABLES DROP] : IN=eth0 OUT= MAC=ac:22:0b:cc:40:75:f4:ca:e5:57:25:2f:08:00 SRC=79.141.173.17 DST=192.168.0.44 LEN=105 TOS=0x00 PREC=0x00 TTL=55 ID=0 DF PROTO=UDP SPT=21000 DPT=37065 LEN=85
Nov 19 09:53:41 ArizonaPC kernel: [ 88.894589] [IPTABLES DROP] : IN=eth0 OUT= MAC=ac:22:0b:cc:40:75:f4:ca:e5:57:25:2f:08:00 SRC=79.141.173.17 DST=192.168.0.44 LEN=105 TOS=0x00 PREC=0x00 TTL=55 ID=0 DF PROTO=UDP SPT=21000 DPT=37065 LEN=85
Nov 19 09:53:41 ArizonaPC kernel: [ 89.349771] [IPTABLES DROP] : IN= OUT=eth0 SRC=192.168.0.44 DST=192.168.0.254 LEN=68 TOS=0x00 PREC=0x00 TTL=64 ID=61605 DF PROTO=UDP SPT=56793 DPT=53 LEN=48
Nov 19 09:53:41 ArizonaPC kernel: [ 89.350108] [IPTABLES DROP] : IN= OUT=eth0 SRC=192.168.0.44 DST=192.168.0.254 LEN=68 TOS=0x00 PREC=0x00 TTL=64 ID=61606 DF PROTO=UDP SPT=27749 DPT=53 LEN=48
Nov 19 09:53:41 ArizonaPC kernel: [ 89.350443] [IPTABLES DROP] : IN= OUT=eth0 SRC=192.168.0.44 DST=192.168.0.254 LEN=68 TOS=0x00 PREC=0x00 TTL=64 ID=61607 DF PROTO=UDP SPT=65073 DPT=53 LEN=48
L'interface tap0 n'est pas construite.
Mon privatvpn.conf contient ceci :
client
remote vpn-nl1.privatevpn.com 21000
etc...
Donc en regardant le syslog je me suis aperçu que cela bloque au niveau du réseau local ( 192.168.0.44 )
Donc j'ai fait un test en rajoutant ces lignes ( en dessous des règles pour la boucle locale )dans mes règles iptables :
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
Et là ça fonctionne ( ton script + mes 3 lignes ).
test IP :
http://i58.tinypic.com/282lrol.png
test DNS :
http://i58.tinypic.com/ipxklu.png
Sebasitien sur :
Tel que ton privatvpn.conf est constitué, tu as besoin du DNS pour traduire vpn-nl1.privatevpn.com en son numéro IP. Faute de cette traduction, tu ne peux pas établir la connexion vers le VPN.
Deux solutions :
1) remplacer la ligne remote par :
remote 109.74.5.13 21000
2) ou bien ne lancer les règles IP qu'après la connexion VPN établie. la parti up) de /etc/openvpn/update-resolv-conf peut être utilisée. Pour ma par je fait tout manuellement après l'établissement de la connexion.
Christian sur :
Je pensais que mon réseau local était sûr car j'ai un seul PC derrière une freebox sans wifi d'activée.
Quand tu dis d'utiliser la partie up) du fichier update-resolv-conf c'est de rajouter une ligne pour exécuter tes règles iptables ?