| Fournisseur | VPN | M-A-J | Ports | Qualité | Commentaire |
| ItsHidden.com | pptp | 08/2010 | tous ouverts | OK | correct. (+30 ms sur les pings) |
| ipredator.se | pptp | 12/2009 | tous ouverts | Bof | trop lent ! (+120 ms sur les pings!) |
| blackvpn.com | pptp/OpenVPN | 08/2010 | fermés! | OK | les ports P2P fermés = LowID (pas de redirection) je n'ai pas insisté |
| vpntunnel.se | OpenVPN | 08/2010 | tous ouverts | OK | ping un peu lent (+120 ms). On verra mieux a l'usage |
OpenVPN est mieux, dans le sens où :
# aptitude update # aptitude install openvpn
On peut s'inspirer de la conf dans le fichier “client.conf” :
# dpkg -S openvpn | grep client.conf openvpn: /usr/share/doc/openvpn/examples/sample-config-files/client.conf
On prépare des répertoires.
Pour les clés:
# cd /etc/openvpn # mkdir keys # chmod og-rx keys
Pour les confs:
# mkdir conf
On mettra les conf dans /etc/openvpn/conf . Et lorsqu'on voudra les activer (a chaque redemarrage) il faudra creer des liens vers ces confs dans /etc/openvpn .
Exemple:
# cd /etc/openvpn # ln -s /etc/openvpn/conf/client-vpntunnel-se.conf .
(Il faut que le fichier de conf soit terminé par ”.conf”)
Et pour finir:
# /etc/init.d/openvpn restart
et un coup d'oeil dans les logs.
Pour 5 euros pas mois…
On créé d'abord un compte… (on obtient les codes d'accès en passant).
On se prepare a recevoir des fichiers sensibles, et donc:
# cd /etc/openvpn/keys # mkdir vpntunnel.se
On se connecte sur son compte, et on recupère le fichier “ca.crt”
Qu'on place dans /etc/openvpn/keys/vpntunnel.se
Dans le même répertoire, on créé aussi un fichier texte contenant son “username” et “password” comme cela (2 lignes):
username password
On nomme ce fichier user-pass.txt
A partir de l'aide (du fournisseur de VPN), on compose une configuration comme cela:
client float dev tap proto udp remote-random remote melissa.vpntunnel.se 1194 remote melissa.vpntunnel.se 10010 remote melissa.vpntunnel.se 10020 resolv-retry infinite nobind persist-key persist-tun ca keys/vpntunnel.se/ca.crt ns-cert-type server cipher BF-CBC #Blowfish comp-lzo verb 3 auth-user-pass keys/vpntunnel.se/user-pass.txt
le “remote-random” c'est parce qu'il y a plusieurs serveurs VPN en “remote”
Et voila.
Un petit bémol: il detourne ma gateway par defaut. Je préfère faire cela moi-même.
Astuce pour creer des routes:
Ajouter dans la conf:
# TJ # ------------------------ # Execution de script script-security 2 up /etc/openvpn/scripts/up-vpn-itshidden-route down /etc/openvpn/scripts/down-vpn-itshidden-route # ------------------------
Monter les routes a partir des scripts sus-nommé… Par exemple:
#!/bin/sh ip rule add fwmark 0x000f0001 table 200 ip route add default dev $1 table 200 ip route flush cache
Où “$1” est le nom du tunnel (“tap0”) … ( man ip pour le reste)
Connexion à un serveur VPN via PPTP, par exemple avec http://www.itshidden.com
Il faut d'abord créer un compte sur “itshidden” … ou bien connaitre un autre serveur VPN/PPTP.
# aptitude install pptp-linux
# modprobe ppp-compress-1
Au préalable, il peut etre necessaire d'installer “binutils” ainsi:
# aptitude update && aptitude install binutils
(parce ce que sinon, “pptpsetup” fait un test qui ne marche pas )
Creer un fichier “peer” comme ca:
# pptpsetup --create itshidden --server vpn.itshidden.com --username <login> --password <password> --encrypt
Adapter selon vos besoins:
itshidden est le nom du serveur/fichier peer.
–encrypt parce que ce serveur exige un cryptage.
Aprés cette commande, un fichier existe:
# cat /etc/ppp/peers/itshidden # written by pptpsetup pty "pptp vpn.itshidden.com --nolaunchpppd" lock noauth nobsdcomp nodeflate name <login> remotename itshidden ipparam itshidden require-mppe-128
Et d'autres fichiers aussi (au moins pour le <password>)
La conf est plutot:
pty "pptp vpn-pay.itshidden.com --nolaunchpppd --localbind <ip_interface>" lock noauth nobsdcomp nodeflate name <login> remotename itshidden ipparam itshidden require-mppe-128 ##defaultroute ##replacedefaultroute ##usepeerdns #debug noipv6 persist # et aussi ---- mtu 1492 # <del>mtu 1400</del> <= it's a myth # ----------
| |
| |
| |
La MTU, plus c'est grand, mieux c'est.
Mais quand c'est trop grand ça marche pas, et quand c'est trop petit ça marche plus.
Où :
| |
| |
La MTU pose plusieurs problème …
On en élimine une bonne partie en appliquant 2 choses simultannements:
Voici la règle “iptables” nécessaire:
# iptables -t mangle -A POSTROUTING -o <IFACE> -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Où <IFACE> est l'interface du vpn. Le plus souvent: ppp0
Toutefois, il subsiste de mysterieux messages dans les logs:
kernel: [xxxx.xxxxx] mppe_compress[0]: osize too small! (have: 1404 need: 1408)
D'aprés mes recherches, dans le brouillard des archives :
| |
# pon itshidden
Ok ? Verifions:
# plog -f Jul 27 14:34:10 nin2 pppd[7256]: pppd 2.4.4 started by root, uid 0 Jul 27 14:34:10 nin2 pppd[7256]: Using interface ppp0 Jul 27 14:34:10 nin2 pppd[7256]: Connect: ppp0 <--> /dev/pts/3 Jul 27 14:34:14 nin2 pppd[7256]: Warning - secret file /etc/ppp/chap-secrets has world and/or group access Jul 27 14:34:14 nin2 pppd[7256]: Warning - secret file /etc/ppp/chap-secrets has world and/or group access Jul 27 14:34:14 nin2 pppd[7256]: CHAP authentication succeeded Jul 27 14:34:14 nin2 pppd[7256]: MPPE 128-bit stateless compression enabled Jul 27 14:34:14 nin2 pppd[7256]: Cannot determine ethernet address for proxy ARP Jul 27 14:34:14 nin2 pppd[7256]: local IP address 192.168.2.14 Jul 27 14:34:14 nin2 pppd[7256]: remote IP address 192.168.2.1
Et:
# ifconfig ppp0
ppp0 Link encap:Protocole Point-à-Point
inet adr:192.168.2.14 P-t-P:192.168.2.1 Masque:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1496 Metric:1
RX packets:113 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:3
RX bytes:31795 (31.0 KiB) TX bytes:66 (66.0 B)
Indispensable si l'on fait ça comme un goret:
Effacer la route par defaut actuelle:
# route del default
Mettre la nouvelle:
# route add default gw 192.168.2.1
Adapter la “gateway” selon “ifconfig” et “plog”.
Mais comme les DNS ne peuvent plus me repondre…
# route add <dns1> gw <gw_local> # route add <dns2> gw <gw_local>
Et voila.
Si on est un goret, on fait:
# route del <dns2> gw <gw_local> # route del <dns1> gw <gw_local> # route del default # route add default gw <gw_local>
# poff itshiddenEt voila.
$ plog -f Jul 27 14:47:21 nin2 pppd[7256]: Terminating on signal 15 Jul 27 14:47:21 nin2 pppd[7256]: Modem hangup Jul 27 14:47:21 nin2 pppd[7256]: Connect time 13.2 minutes. Jul 27 14:47:21 nin2 pppd[7256]: Sent 58038 bytes, received 433407 bytes. Jul 27 14:47:21 nin2 pppd[7256]: MPPE disabled Jul 27 14:47:21 nin2 pppd[7256]: Connection terminated. Jul 27 14:47:21 nin2 pppd[7256]: Exit.
Mais y a des relicats…
# route del 94.75.220.x # route del 94.75.220.y
bizarre…
Par defaut, si on tape “pon” sans precision, c'est le “peer” nommé “provider” qui est connecté.
Donc:
# cd /etc/ppp/peers # mv provider old-provider # ln -s /etc/ppp/peers/itshidden ./provider
Pour que la connexion “pon” soit automatique au reboot, faire un truc comme ca:
# crontab -e
Et puis avoir une ligne comme ça:
@reboot su -c "/usr/bin/pon"
Sans le “su” , ca ne fonctionne pas du tout (pppd retourne des erreurs). Je n'ai pas d'explication.
Idem pour d'autres scriptes qui pourraient s'executer à partir de “crontab” et nécessiter “pon/poff/pppd” ….
Possible de mettre en oeuvre “ppp/pptp” via le classique fichier /etc/network/interfaces !
D'abord, ajouter “updetach” dans le fichier “peers” et puis editer le fichier “interfaces” afin d'avoir, par exemple:
auto vpn
iface vpn inet ppp
provider itshidden
Et enfin:
# ifup vpn
et plus tard:
# ifdown vpn
Mais l'interface “vpn” n'existe nulle part dans “ifconfig” ou “ip link/addr” … c'est le traditionnel ppp0 qui reste la véritable interface.
Bien étrange, et peut être pas si interessant que cela…
Lien: http://www.itshidden.com
Starting Nmap 4.62 ( http://nmap.org ) at 2009-12-03 01:02 CET Interesting ports on xxxxxx: Not shown: 1712 filtered ports PORT STATE SERVICE 6881/tcp closed bittorrent-trackerOups… pas de bittorrent