Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#76 Le 19/05/2010, à 14:39

Intrepix

Re : Connexion VPN automatique (NetworkManager)

je sais pas si ca peut t'aider mais spiritsm à codé un script de reconnection automatique pour les vpn (PPTP/OpenVPN)

ici

Hors ligne

#77 Le 20/05/2010, à 14:11

mastergb

Re : Connexion VPN automatique (NetworkManager)

Attention  mykoos j'ai jamais dis que le soft integrais un firewall.
J'ai dis que j'allais te donner mes règles firewall ce qui n'est pas la même chose
Resinstalle ton firestarter en attendant que je les postes.
Je te demande juste d'etre un tout petit peu patient ^^

Dernière modification par mastergb (Le 20/05/2010, à 14:50)

Hors ligne

#78 Le 20/05/2010, à 14:30

mastergb

Re : Connexion VPN automatique (NetworkManager)

Voila pour le firewall
Il faut que tu remplace eth0 ton interface sur laquelle ta connexion est connecté, ton adresse ip local du pc ainsi que l'adressage reseau en debut de script
P

En premier lieu:
installe iproute2
#sudo apt-get install iproute2
Ajoute une entree dans le fichier /etc/iproute2/rt_tables
#sudo nano /etc/iproute2/rt_tables
et ajoute a la fin du fichier
1     connection

et copie ces ligne un fichier appelé parefeu

#!/bin/sh
#
# Script de démarrage qui lance l'interface réseau internet
interfaceWWW="eth0"
interfaceVPN="ppp0"
localIP="192.168.1.254"
network="192.168.1.0/24"

# Rappel IPTables .
#
#           /----------\         /-------\         /-----------\
# IN--->---< PREROUTING >--->---< FORWARD >--->---< POSTROUTING >--->--OUT
#           \----------/         \-------/         \-----------/
#              \                                            /
#               \                                          /
#             /-----\         /-------------\         /------\
#            < INPUT >--->---< LOCAL PROCESS >--->---< OUTPUT >
#             \-----/         \-------------/         \------/

 start() {

# Dans cette partie, on met en place le firewall
#vidage des chaines
iptables -F
#destruction des chaines personnelles
#stratégies par défaut
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP


iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT 


#on accepte tout le reseau local :)
iptables -A INPUT -s $network -j ACCEPT
iptables -A OUTPUT -d $network -j ACCEPT
iptables -A FORWARD -s $network -j ACCEPT 

#on autorise toutes les connexion déja etabli

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#on accepte tout les debit sur le port 80 venant d'internet (serveur APACHE) et le port 22 venant d'internet (serveur SSH)
iptables -A INPUT -p TCP -m multiport --dports 80,22 -m state --state NEW  -i $interfaceWWW -j ACCEPT

#on autorise les connecion sortante vers le 1723 sur interfaceWWW pour initialiser les connexion VPN
iptables -A OUTPUT -p TCP --dport 1723 -m state --state NEW -o $interfaceWWW -j ACCEPT

#on accepte le protocol GRE sur le port interfaceWWW
iptables -A INPUT -p gre -i $interfaceWWW -j ACCEPT
iptables -A OUTPUT -p gre -o $interfaceWWW -j ACCEPT

#on autorise les connexions sortantes sur le VPN
iptables -A OUTPUT -m state --state NEW -o $interfaceVPN -j ACCEPT
#on ouvre le port 1250 sur la connexion VPN pour accepter torrent que j'ai mis sur 1250
iptables -A INPUT -p TCP --dport 1250 -m state --state NEW -i $interfaceVPN -j ACCEPT


#on autorise les connexion sortante vers le 25 sur interfaceWWW
iptables -A OUTPUT -p TCP --dport 25 -m state --state NEW -o $interfaceWWW -j ACCEPT



echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/$interfaceWWW/rp_filter
ip rule add fwmark 0x1 table connection

#on fait passer les connections SMTP sur la connection internet standard
iptables -t mangle -A OUTPUT -p tcp -m multiport --dports 25 -j MARK --set-mark 0x1
iptables -t nat -A POSTROUTING -o $interfaceWWW -p tcp -m multiport --dports 25 -j SNAT --to $localIP


}
  
 stop() {

     iptables -P INPUT ACCEPT
     iptables -P FORWARD ACCEPT
     iptables -P OUTPUT ACCEPT
     iptables -F
 }
  
 case "$1" in
  start)
         start
         ;;
  
 stop)
         stop
         ;;
 restart)
         stop && start
         ;;
 *)
         echo "Usage $0 {start|stop|restart}"
         exit 1
 esac
  
 exit 0

rend le executable
#chmod +x parefeu
Copie le dans /etc/init.d/
#sudo cp parefeu /etc/init.d/
puis
sudo update-rc.d parefeu defaults 99



Dans ce qui va suivre il faut remplacer 192.168.1.254 local par l'adresse de ton pc, 192.168.1.1 par l'adresse IP de ta passerelle (Ta box) et 192.168.1.0/24 par l'adressage de ton reseau
Puis
#cd /etc/network/if-up.d/

ajoute un fichier que tu va nommer parefeu
#nano parefeu

#!/bin/sh
#
set -e
if [ "$IFACE" = eth0 ]; then

/sbin/ip route add 192.168.1.0/24 dev eth0 src 192.168.1.254 table connection
/sbin/ip route add default via 192.168.1.1 table connection
/sbin/ip rule add from 192.168.1.254 table connection

fi

Tu enregistre et tu rend le fichier excecutable
chmod +x parefeu

Puis
#cd /etc/network/if-down.d/

ajoute un fichier que tu va nommer parefeu
#nano parefeu

#!/bin/sh
#
set -e
if [ "$IFACE" = eth0 ]; then

/sbin/ip route del 192.168.1.0/24 dev eth0 src 192.168.1.254 table connection
/sbin/ip route del default via 192.168.1.1 table connection
/sbin/ip rule del from 192.168.1.254 table connection

fi

Tu enregistre et tu rend le fichier excecutable
chmod +x parefeu


Maintenant les explications:
Tous le flux sortant passe par defaut par le vpn a l'exception du 25 qui lui passe sur la connextion internet. Si tu veux ajouter d'autre port a rerouter sur la connexion normal ajoute autant de ligne

iptables -t mangle -A OUTPUT -p tcp -m multiport --dports 25 -j MARK --set-mark 0x1
iptables -t nat -A POSTROUTING -o $interfaceWWW -p tcp -m multiport --dports 25 -j SNAT --to $localIP

que tu veux en changeant le port bien entendu

Tu peut ouvrir des ports pour comme sur ton modem fai et des deux cotes. Par exemple dans mon cas j'ouvre SSH sur le port internet et un serveur web a la fois sur le vpn et le port internet.

Pour ouvrir un port du cote vpn c'est cette ligne

#on ouvre le port 1250 sur la connexion VPN
iptables -A INPUT -p TCP --dport 1250 -m state --state NEW -i $interfaceVPN -j ACCEPT

J'ouvre le port 1250 pour torrent.

et du coté internet c'est celle ci

#on accepte tout les debit sur le port 80 venant d'internet (serveur APACHE) et le port 22 venant d'internet (serveur SSH)
iptables -A INPUT -p TCP -m multiport --dports 80,22 -m state --state NEW  -i $interfaceWWW -j ACCEPT

Bien entendu si le vpn coupe aucun surf ne peut passer par la connexion "internet" sauf le 25 bien sur.
Et du coté VPN toutes les connexions sortantes sont autorisé (comme un routeur classique) et tu dois spécifié clairement les ports pour les serveurs que tu ouvres.

Enfin je tiens a rappeler que ce scripts fonctionne PARFAITEMENT mais avec un client PPTP. Je n'ai jamais essaye avec du openvpn il faudra faire des modifs mais le principe reste le même
Edit: Après quelque recherche il se trouve que le port par defaut de openvpn est le 1194 en UDP et TCP dans ce que rajouter

iptables -A OUTPUT -p TCP --dport 1194 -m state --state NEW -o $interfaceWWW -j ACCEPT
iptables -A OUTPUT -p UDP --dport 1194 -m state --state NEW -o $interfaceWWW -j ACCEPT

Juste en dessous de

iptables -A OUTPUT -p TCP --dport 1723 -m state --state NEW -o $interfaceWWW -j ACCEPT

Dernière modification par mastergb (Le 06/09/2011, à 13:00)

Hors ligne

#79 Le 20/05/2010, à 20:13

mastergb

Re : Connexion VPN automatique (NetworkManager)

Voila 0.9.1 est dispo. Elle apporte son lot de correction et une meilleur installation.
https://sourceforge.net/projects/vpnautoconnect/
J'attend vos feed wink

Hors ligne

#80 Le 21/05/2010, à 08:30

mastergb

Re : Connexion VPN automatique (NetworkManager)

Humm c étrange il n'y aucune raison que cela ne fonctionne pas.
Je vais essayer de me rapprocher de toi pour voir envoi mon ton adresse mail en PM.
A partir de tes info je vais te créer les different scripts a installer et te faire un bash automatique.

Hors ligne

#81 Le 21/05/2010, à 14:07

mastergb

Re : Connexion VPN automatique (NetworkManager)

Ah oui j'oubliais il te faut un serveur DNS interne car ca sers a rien que ta connexion soit cryptée et que ton FAI vois les domaines ou reverse domaine que tu fait smile.
La premiere connexion a ton vpn ne peut etre fait car tu tape sur un nom de domaine pour initialiser la connexion Hors avec le firewall tu peut pas. Il faut donc mettre en dur l'ip du domaine du vpn dans le fichier /etc/hosts et faut que tu regarde de temps en temps que ca bouge pas. ou alors il faut autoriser les DNS sortant pour initialise la connection.
ajoute

iptables -A OUTPUT -p UDP --dport 53 -m state --state NEW -o $interfaceWWW -j ACCEPT au dessus de la même qui est sur le 25 wink
Désolé j''avais oublié cette subtilité.

Dernière modification par mastergb (Le 21/05/2010, à 14:08)

Hors ligne

#82 Le 21/05/2010, à 15:34

lynn

Re : Connexion VPN automatique (NetworkManager)

Bonjour,

Mastergb, j'ai testé la nouvelle mouture de vpnautoconnect et j'ai toujours un petit souci en cas de perte réseau de la box.
J'ai fait le test suivant, en ayant le vpn actif puis en débranchant le câble RJ11 ( celui qui part de ma prise murale et qui arrive sur la box ). Résultat, la box se désynchronise mais l'applet network manager et le symbole du VPN sont toujours présent ( pas de changement d'état. Est-ce normal ? ).
Ensuite, je reconnecte le câble RJ11 à la box, elle se resynchronise, j'ouvre mon navigateur internet et là, le symbole du VPN disparaît mais ne se reconnecte pas, alors que le processus vpnautoconnect est bien lancé ...? Résultat, je retrouve le réseau "normal" mais je n'ai plus de VPN hmm Par contre si je relance network manager à la main, le vpn se reconnecte tout seul ( comme quoi, vpnautoconnect fonctionne tongue )
Voila voila  ... aurais-tu pensé à une solution pour ce type de cas, qui est quand même bien gênant pour ceux qui ont des déconnections de temps en temps. ( je ne dois pas être la seule wink ) L'une d'elle pourrait être de couper carrément l'accès réseau si aucun VPN n'est en fonction, mais bon, c'est un peut-être un peu radical tongue

Merci encore pour ton travail


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#83 Le 21/05/2010, à 19:22

mastergb

Re : Connexion VPN automatique (NetworkManager)

Oui normalement ca devrait fonctionner.
fait un
cat /etc/vpnautconnect.cfg et dis moi si l'option FollowReconnectParent est bien yes.
Si c'est a "no" alors met le a "yes" sinon euh la oui ta un problème

Hors ligne

#84 Le 21/05/2010, à 19:24

mastergb

Re : Connexion VPN automatique (NetworkManager)

Mykoos > Je t'assure que l'idée du firewall est bien meilleur smile

Hors ligne

#85 Le 21/05/2010, à 19:26

mastergb

Re : Connexion VPN automatique (NetworkManager)

Sinon concernant les vpn openvpn, ca fonctionne mal.J'ai cherché et trouver l'origine du problème qui ne se situe pas au niveau de vpnautoconnect mais au niveau de openvpn lui même.
Je travaille avec spiritstm sur le sujet vous pouvez nous suivre ici
http://www.vpnblog.net/auto-reconnection-du-vpn-sur-ubuntu-9.04/#comment-1343

Dernière modification par mastergb (Le 21/05/2010, à 19:28)

Hors ligne

#86 Le 21/05/2010, à 19:50

mastergb

Re : Connexion VPN automatique (NetworkManager)

De mon coté tout se fait tout seul ^^ mais je t'aiderai a le configurer comme il se doit tkt wink

Hors ligne

#87 Le 21/05/2010, à 22:26

lynn

Re : Connexion VPN automatique (NetworkManager)

Bon, je me suis inspirée de plusieurs scripts qui ont déjà été faits mais pas forcement dans cette optique pour créer le script suivant.
Il n'est pas complet puisqu'il ne prend pas en compte le cas ou l'utilisateur voudrait de lui même stopper son VPN. Par contre il à l'avantage de faire une relance du service network-manager par rapport à la présence ou non du PID de pptp qui se trouve dans /var/run/ppp0.pid et de relancer une session VPN grâce à vpnautoconnect.

#!/bin/sh
while true
do
cat /var/run/ppp0.pid > /dev/null
if [ $? = 1 ]
then
sudo service network-manager restart
fi
sleep 30
done

C'est très basique et sûrement très perfectible mais ça fonctionne smile

Ce que j'ai fait pour le lancer au démarrage ( c'est peut-être pas la bonne méthode mais c'est bien pratique )
Une fois le script crée, le placer dans /etc/init.d/, le rendre exécutable

sudo chmod +x NomDuScript

Faire un lien dans /etc/rc2.d/

sudo ln -s /etc/init.d/NomDuScript /etc/rc2.d/S25NomDuScript

Redémarrer le pc et vérifier en simulant une perte réseau ou en arrêtant le VPN manuellement. Ce dernier point serait à corriger si on veut profiter de l'arrêt manuel du VPN.

Dernière modification par lynn (Le 21/05/2010, à 23:31)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#88 Le 22/05/2010, à 01:43

spiritstm

Re : Connexion VPN automatique (NetworkManager)

Bonsoir à tous, Alors de mon côté voila ce que j'ai.

La dernière version de vpnautoconnect fonctionne sans soucis sur les vpn en pptp (ipredator et consort). Si vous avez de multiples vpn, il les prend tous (n'oubliez pas de cocher "connection automatique dans chaque sinon ça marche pas). Pour ceux qui s'inquiète tentez un http://whatismyipaddress.com/fr/mon-ip pendant la connection, normalement vous tomberez sur l'ip de votre vpn.

Pour l'openvpn c'est plus coton ... je me suis aperçu ce soir que network-manager reprenait uniquement les paramètres gnome ... apparement on peut pas lui demander des options supplémentaires comme ping exit ou ping restart et quelques autres ce qui fait qu'on peut rester connecté ... mais on ne peut plus naviguer (décoratif mais pas pratique).

Voila les news du front

@lynn regarde le post d'intrepix le #78 y a un lien sur le batch que j'ai fait (en regroupant le connection-service de coredump et les scripts de papillon-butineur plus quelques petits ajouts supplémentaires). Si ça peut te donner quelques idées.

Sinon pour le simulation de perte de connection adsl c'est pas normal que le vpn ne tombe pas ... ou alors c'est ton icone qui déconne. Tu devrais faire un nm-tool au moment ou tu es déconnecté pour voir si le vpn a effectivement laché ou un ifconfig.

Bon vpn à tous

Dernière modification par spiritstm (Le 22/05/2010, à 01:59)

Hors ligne

#89 Le 22/05/2010, à 15:03

Bloug

Re : Connexion VPN automatique (NetworkManager)

@mastergb : un petit feedback  pour la 0.9.1 => aucun souci.
La reconnexion automatique en cas de déconnexion intempestive ou manuelle fonctionne très bien. Pour info, j'ai une connexion openvpn en udp chez cryptocloud.

Hors ligne

#90 Le 25/05/2010, à 22:30

mastergb

Re : Connexion VPN automatique (NetworkManager)

C'est cool que tu ai réussi.
Sinon je continue le développement. je bosse sur un détecteur d'effondrement de ligne. Ca avance plutot bientôt. Il y a encore pas mal de chose a faire mais je suis sur la bonne voie.

Dernière modification par mastergb (Le 25/05/2010, à 22:30)

Hors ligne

#91 Le 01/06/2010, à 09:58

mastergb

Re : Connexion VPN automatique (NetworkManager)

Hello a tous. Je viens de finaliser sur mon poste la version 0.9.5. Avec bien sur la fonctionnalité que tout le monde souhaitais. La deconnexion et reconnexion en fonction de la connectivité. Je suis toujours en phase de test. Une fois validé je ferais le petit paquet qui va bien avec. L'etape d'apres tout ca depend de vous. J'integrerais peut etre la mise en place de règle iptables en fonction des evenements ( ce qui permetrais de faire des firewalls dynamiques)

Hors ligne

#92 Le 01/06/2010, à 10:09

lynn

Re : Connexion VPN automatique (NetworkManager)

mastergb a écrit :

J'integrerais peut etre la mise en place de règle iptables en fonction des evenements ( ce qui permetrais de faire des firewalls dynamiques)

Cette fonctionnalité s'avérerait effectivement intéressante cool

Merci pour ton travail


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#93 Le 01/06/2010, à 16:07

mastergb

Re : Connexion VPN automatique (NetworkManager)

Il va falloir un peu patienter je suis en train de lier le tout avec libnotify avec des popup bien classe.
Il me manque un joli logo 24*24 et 72*72.
Si certain talent graphiste traine par le je suis preneur.
Le démon insère une icone dans la barre d'etat avec un tooltip global qui affiche les temps de reactivité.
Si le démon détecte une coupure de ligne alors un popup de notification est envoyé.
Vous allez aimer le prochaine version ^^

Dernière modification par mastergb (Le 01/06/2010, à 16:07)

Hors ligne

#94 Le 09/06/2010, à 09:57

mastergb

Re : Connexion VPN automatique (NetworkManager)

Bon voila la 1.0 est prête! cool
Voila pour les nouveautés:
Une icone se loge sans la barre des taches et ce des que gdm deviens dispo donc ca veut dire que même si aucun user n'est connecté il ya quand même l'icone des le démarrage. Des qu'on passe la souris sur l'icone on a une preview de la connectivité avec les temps de latence. Le principe de base de vpnautoconnect reste conservé mais des qu'une chute de connexion est detecté le vpn est deconnecté puis reconnecté quand la connexion reviens. Les Detections de chute de connexion et reconnexion sont alerté via popup notify smile

Hors ligne

#95 Le 09/06/2010, à 11:12

lynn

Re : Connexion VPN automatique (NetworkManager)

Bonjour mastergb,

Il est dispo où ton paquet ? Je ne le vois pas sur sourceforge neutral

J'ai hâte de tester ça cool

Merci


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#96 Le 09/06/2010, à 14:02

mastergb

Re : Connexion VPN automatique (NetworkManager)

Bon dispo sur sourceforge tongue Enjoy ^^
Je travaille déjà sur la version 1.1 avec l'intégration du parefeu dynamique

Dernière modification par mastergb (Le 09/06/2010, à 14:33)

Hors ligne

#97 Le 09/06/2010, à 18:07

lynn

Re : Connexion VPN automatique (NetworkManager)

Parefeu dynamique, ça c'est bon cool

Merci mastergb. Je teste la nouvelle version et je t'envoie les retours.


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#98 Le 10/06/2010, à 11:34

mastergb

Re : Connexion VPN automatique (NetworkManager)

Bon certain réglage de calibrage était pas très bon et j'ai des deconnexion la ou c'est pas vraiment necessaire. J'ai donc changer une constante et je suis en train de monitorer si ca va mieux smile
J'ai également decouvert un bug dans lors de la creation des .deb.
Donc je repaquete le tout. Désolé pour ce désagrément hmm

Hors ligne

#99 Le 10/06/2010, à 15:57

lynn

Re : Connexion VPN automatique (NetworkManager)

Je viens d'installer la nouvelle mouture de vpnautoconnectet et pour l'instant je n'ai rencontré aucun problème. J'avais une appréhension quand j'ai relancé ma session, mais le vpn se reconnecte bien cool
J'ai ajouté les règles iptables avec la méthode décrite plus haut et tout fonctionne. Mis à part le fait que quand on veut couper le vpn manuellement, et bien il n'y' a plus de connexion du tout à "cause" de ces fameuses règles iptables.
Mais bon, la version 1.1 devrait arranger les choses smile

Sinon, pour l'icône, c'est vrai que c'est pratique mais comme l'a fait remarquer spiritstm, une icône qui change de couleur en fonction de l'état du vpn serait une bonne idée. Je pense même qu'il pourrait y avoir trois états : connecté avec le vpn actif, par exemple en vert, déconnecté involontairement, par exemple en rouge ( et reste rouge, si la reconnexion déconne.... ça peut arriver une merdouille... tongue ) et déconnecté manuellement, en orange et/ou pourquoi pas, avec une icône clignotante.

Dernière modification par lynn (Le 18/05/2011, à 20:51)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#100 Le 10/06/2010, à 16:31

mastergb

Re : Connexion VPN automatique (NetworkManager)

Avec les régles iptables du dessus il faut rajouter juste en dessous de

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Cette ligne qui te permet et faire marcher vpnautoconnect sinon ca reconnectera pas ^^

iptables -A OUTPUT -p icmp -o $interfaceWWW -j ACCEPT

Hors ligne