Pptpd + iptables

Fermé
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 - 2 oct. 2005 à 02:24
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 3 oct. 2005 à 18:31
Bjr,

j'ai un preoblème avec la connection VPN en pptp sur mon serveur.
(Fedora Core2 2.6.10-1.771_FC2, pptpd-1.2.3-1, kernel_ppp_mppe-0.0.4-3dkms)
J'ai essayé avec un client windaube et c'est idem qu'avec un client linux.
Je me demande si ce n'est pas mon firewall iptables qui bloque quelque chose.
La connexion commence bien à s'établire, puis : arret

Connect: ppp1 <--> /dev/pts/5
Oct 1 17:01:26 frpc000 pptpd[25334]: GRE: Bad checksum from pppd.
Oct 1 17:01:26 frpc000 pptpd[25334]: GRE: xmit failed from decaps_hdlc: Operation not permitted
Oct 1 17:01:26 frpc000 pptpd[25334]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
Oct 1 17:01:26 frpc000 pppd[25335]: Modem hangup
Oct 1 17:01:26 frpc000 pppd[25335]: Connection terminated.
Oct 1 17:01:26 frpc000 pppd[25335]: Exit.

Il me semble pourtant avoir déja réussi à me connecté à partir du LAN.
Mais à distance, pas moyen !

je ne trouve rien dans les discussions qui puisse résoudre mon problème.

Merci de toute aide.
@+
xval

7 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
2 oct. 2005 à 12:10
Salut,

Je me demande si ce n'est pas mon firewall iptables qui bloque quelque chose.

As-tu désactive ton firewall (seulemant pour tester) pour voir si le problème viens de là?

Si oui alors vérifie les règles dans iptables (au moins tu sais si c'est iptables ou non), sinon alors peut être c'est un problème de configuration.

Voici quelque liens :

http://www.lemans-sansfil.net/?q=node/380
http://www.linux-tarn.org/documentation/linuxtarn/Laurent_R/PPTP/serveur/serveur-pptpd.htm
http://www.linux-sottises.net/vpn.php
http://lea-linux.org/reseau/cxion_net/adsl.html

lami20j
0
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 2
2 oct. 2005 à 16:34
Slt,

Ok, merci pour les liens, je vais aller voir.
Pour désactiver iptables... je sais bien que ça me permettrait de voir si ça passe.
Mais j'ai peur de faire une co..erie et comme je suis à 9000 km du serveur, je n'aurais pas de moyens de remettre tout en route !

Je vais quand même essayé !

@+
xval
0
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 2
2 oct. 2005 à 18:54
Hi,

Bon, après avoir désactivé le filtrage par iptables, j'ai réussi à établir une connexion pptp avec ma machine distante.
C'est donc bien le filtrage iptables (NAT semblerait-il) qui bloque quelque chose.

Cependant, je ne peux pas rester sans firewall !!!
Il faut donc trouver pourquoi ça bloque et comment contourner le pb.

J'ai pourtant ajouté les port 47 (GRE) et 1723 (pptp) en ACCEPT pour iptables, mais ça ne fonctionne pas mieux.

Peut-être qu'en recupérant les DROP je pourrais savoir...

Si quelqu'un a une idée... merci d'avance

@+
xval
0
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 507
2 oct. 2005 à 20:30
Essaie de fournir un shéma simplié de ton archi.
Si tu pense que c'est le NAT, l'accept ne suffit pas, il faut aussi assurer
la redirection : table nat et chaine PREROUTING
Ne pas oublier de mettre les ACCEPT dans le sens de la connexion
et ESTABLISHED/RELATED dans les deux sens sur la chaine FORWARD.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
2 oct. 2005 à 22:11
Pour analyser le probleme: Que donnes les commandes "/sbin/ifconfig" (quand le VPN marche ) et aussi
"/sbin/iptables -L -v" (quand le pare feu est active, donc VPN ne marche pas).

Je me demande quel est device reseau associe a tonVPN, est-ce "ppp0" ou autre chose ? De toute facon c'est visible avec /sbin/ifconfig.

Apres il faut regarder que sont les regles que "/sbin/iptables -L -v" affiche, en principe ca doit contenir le meme device que le VPN mais peut-etre c'est encore configure en ethernet eth0 ou eth1 etc. et ca ne bloque uniquement parce que le device ppp0 (ou le bon device si c'est autre chose) manquent dans ces regles.

Si c'est ca, ca devrait etre facile a reparer si tu es en mesure d'editer ton script iptables mais c'est delicat. S'il y a de regles eth0, etc. il faut les laisser comme elles sont et seulement ajouter de regles pour ton VPN.
0
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 2
3 oct. 2005 à 00:44
Bjr,

Alors, qd le VPN marche, sur le serveur, un ppp1 apparait avec ifconfig (ce qui semble normal). Pour le client, c'est ppp0 (mais il ne semble pas y avoir de pb côté client).

l'interface serveur face à l'internet est eth1 pour le ppp0 qui est sur l'internet.
eth0 est le LAN.

Quand le parfeu est actif, y a rien ! (normal, ça marche pas). Sauf qu'en fait, en espionant, ppp1 apparait et est tué de suite.

Quant à iptables -L -v , je ne vois que sur les 4 essais sur la chaine OUTPUT des paquets accept :
4 160 ACCEPT tcp -- any ppp0 anywhere anywhere tcp spt:1723

pour les autres tables/chaines, pas de DROP pas d' ACCEPT !!!!
Ce qui est étrange c'est qu'avec nmap, les ports 47 et 1723 apparaissent "closed" !

Si tu as une idée ???

Voici la partie du script concerant pptp et gre :
#[IPTABLES-CONF2] ACCEPT PPTP
/sbin/iptables -A INPUT -p tcp --dport 1723 -i ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 1723 -o ppp0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --sport 1723 -i ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --dport 1723 -o ppp0 -j ACCEPT
# Pour essais
#/sbin/iptables -A OUTPUT -o ppp0 -p tcp --sport 1024: --dport 1723 -m state --state ! INVALID -j ACCEPT
#/sbin/iptables -A INPUT -i ppp0 -p tcp --sport 1723 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT

#[IPTABLES-CONF2] ACCEPT GRE pour PPTP
/sbin/iptables -A INPUT -p tcp --dport 47 -i ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 47 -o ppp0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --sport 47 -i ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --dport 47 -o ppp0 -j ACCEPT
# Pour Essais
#/sbin/iptables -A OUTPUT -o ppp0 -p tcp --sport 1024: --dport 47 -m state --state ! INVALID -j ACCEPT
#/sbin/iptables -A INPUT -i ppp0 -p tcp --sport 47 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT


Merci beaucoup de l'aide de tous !
@+
xval
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501 > xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006
3 oct. 2005 à 01:18
Je ne connais pas assez bien tout ca pour en etre sur et peut-etre je me trompe mais ne faut-il pas ajouter de regles avec "ppp1" pour ouvrir le serveur ??
Sinon le script, qui contient a la fin certainement une regle defaut pour tout fermer, ne laissera pas passer les requetes ppp1 si on n'ouvre pas express.
Au moins ca risque de fermer l'acces VPN meme si c'est techniquement demarre.
0
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 2 > kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007
3 oct. 2005 à 08:06
C'est ce que je pensais aussi... et c'était peut-être la raison pour laquelle gre referme pppd , n'étant pas autorisé à envoyer sur ppp1.

Je vais essayer de faire un script iptable lancé par /etc/ppp/ip-up.local qui rajoutera ppp1, en accept partout (c'est un LAN interne finalement, il devrait être sur).

On verra bien.

Merci
@+
xval
0
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 2
3 oct. 2005 à 00:26
Slt,

Voici la config, les services devant être accessibles via le Inet sont www,dns,smtp,ftp,ssh,pptp. C'est une config classique !
Ces services sont bien sur, sur le serveur qui fait aussi passerelle.

intranet----------eth0--- Serveur ---eth1---ppp0 (pppoe)----------- internet



Les connexions du LAN vers internet fonctionnent parfaitement bien pour tous services (pop, smtp, dns, www, ftp, irc, ... ).

Je commence seulement à vraiment m'interesser à iptables et à la sécurité, et j'avoue que nombreux point sont encore assez confus.
Si tu peux (crabs) être un peu plus explicite, ça serait bien.
(crabs, tu serais pas de Lyon ???)

Merci
@+
xval
0
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 507
3 oct. 2005 à 18:31
Salut,
Tu n'as pas à priori à activer le NAT pour la configuration que tu désires mettre
en place.
je te conseilles ce HOW-TO (en anglais) qui propose un script avec iptables ainsi
que d'autre info :
http://home.swbell.net/berzerke/howto.html
Sur ce script, je pense qu'il faut remplacer ppp+ sur les 2 dernières lignes du
script par ppp1.

(Sinon, je suis pas de Lyon, né à Toulouse et vivant en région parisienne)
A+, crabs
0