VPN linux + windows

VPN linux + windows - Windows & Software

Marsh Posté le 20-05-2004 à 14:47:57    

Bonjour,
 
Je cherche à mettre en réseau un client windows, par le biais d'internet, vers un serveur windows 2000. Il faut donc faire un VPN.  
 
Il y a entre les deux machines un firewall (sous linux, avec iptables).
 
J'ai bien ouvert les ports VPN et GRE, et naté le port VPN => le serveur windows 2000, mais cela ne fonctionne pas. Le serveur VPN n'est pas trouvé.
 
J'ai fait tout plein de testes, mais rien ne fonctionne.
 
Quelqu'un aurait-il déjà paramétré iptables pour faire fonctionner un serveur VPN sous windows 2000 serveur ?
 
Qulqu'un serait-il aussi où je pourrais avoir des log du passage de ma connection VPN sur mon firewall et mon windows 2000 server, histoir ede voir où ca coince ?
 
Merci d'avance.

Reply

Marsh Posté le 20-05-2004 à 14:47:57   

Reply

Marsh Posté le 20-05-2004 à 15:03:32    

iptables -A INPUT -j LOG --log-prefix "INPUT_DROP: "
iptables -A OUTPUT -j LOG --log-prefix "OUTPUT_DROP: "
 
sa log dans /var/log/messages
 
tu déactive le tout apres ton débug vu la quantité exponentiel que vont prendre tes log si tu l'utilise en permanence


---------------
You have no chance to survive make your time.
Reply

Marsh Posté le 20-05-2004 à 15:38:39    

Avant toute chose, merci bcoup pour ta réponse Kernel-panic
;-)
 
Apparement je me suis rendu compte que j'avais fais une erreur ds mon script iptables. J'ai donc recomencé la partie dédié à accepter le VPN. Je t'en fais un copié collé :
 
 
 
# Connexion adsl sur le firewall : ppp0
# Serveur VPN sous w2k sur le LAN : 192.168.0.25
#-------------------------VPN --------------------------------------#
 
#on accepte le passage des ports du VPN  
 
iptables -t filter -A OUTPUT -p tcp --sport 1723  -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1723 -j ACCEPT
 
iptables -t filter -A OUTPUT -p tcp --sport 47  -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 47 -j ACCEPT
 
iptables -I FORWARD -p tcp --dport 1723 -j ACCEPT
iptables -I FORWARD -p tcp --sport 1723 -j ACCEPT
iptables -I FORWARD -p tcp --dport 47 -j ACCEPT
iptables -I FORWARD -p tcp --sport 47 -j ACCEPT
 
#Aiguillage du port
iptables -t nat -I PREROUTING -p tcp -i ppp0 --dport 1723 -j DNAT --to-destination 192.168.0.25
iptables -t nat -I PREROUTING -p tcp -i ppp0 --dport 47 -j DNAT --to-destination 192.168.0.25
 
 
#---------------------------
 
 
Qu'en penses-tu kernel-panic ? le script est-il bon ? Mon réseau est comme ca :
 
INTERNET (ppp0) => Firewall linux (192.168.0.1)  => windows 2000 serveur (192.168.0.25)
 
Et je voudrais que l'on puisse se connecter de l'extèrieur, sur mon réseau Lan (mon erveur w2k).
 
Merci encore de ton aide, c cool !
;-)
 

Reply

Marsh Posté le 20-05-2004 à 15:59:05    

vite vu le script a l'air OK
 
mais question, ta d'autre regle de forwarding... ftp par exemple ?


---------------
You have no chance to survive make your time.
Reply

Marsh Posté le 20-05-2004 à 16:19:32    

Il n'y a pas d'autre règle de forwarding, mais j'acceptes un dizaine de ports (http, ftp, ssh...).
 
Par contre je me posait une question sur port du VPN, il faut bien faire pointer le port 1723 sur le serveur w2k, mais le port 47 (GRE) aussi ?  
 
De plus, j'avais eu un problème similaire pour du FTP. Les ports étaient bien accéptés, mais cela ne fonctionnait pas. Il fallait en plus valider des modules  avec "modeprobe". Faut il faire l'équivalent pour le VPN, ou par defaut linux (redhat) le gère nativement ?
 
 

Reply

Marsh Posté le 20-05-2004 à 16:34:19    

d'accord si tu fait "cat /proc/sys/net/ipv4/ip_forward" sa te retourne bien 1 ?
 
les 1723 et 47 doivent bien etre pointer ainsi que: 500 (ISAKMP) et 1701 (L2PT) si tu souhaite utiliser IPSec


---------------
You have no chance to survive make your time.
Reply

Marsh Posté le 20-05-2004 à 16:40:16    

Oui, le forwarding est bien activé, et fonctionne puisque mon partage de connection internet est ok.
 
Par contre au sujet des ports 500 et 1701, il serait peut-être bien que je les actives. Il sert à quoi le port 500 ?
 
A 18h00 je pourrais relancer l'ordi pour le mettre sous win2k et tester(et aussi trouver un collègue sous msn qui pourrait se connecter en vpn). Je pourrais alors te dire les mesages d'erreurs (si le vpn ne fonctionne pas avec toutes les modifs) ds /var/log/message
 
(encore merci pour ton aide ;-) )

Reply

Marsh Posté le 20-05-2004 à 16:58:28    

500 c'est le port port IKE (Internet Key Exchange) je ne sais pas si s'est utile pour PPTP mais IPSec l'utilise et le tunnel  dois etre en L2PT si tu utilise IPSec


---------------
You have no chance to survive make your time.
Reply

Marsh Posté le 20-05-2004 à 17:07:42    

oki, merci pour l'info
 
mon script iptables ressemble maintenant à ca :
 
#-------------------------VPN --------------------------------------#
 
#on accepte le passage des ports du VPN
 
iptables -t filter -A OUTPUT -p tcp --sport 1723  -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1723 -j ACCEPT
 
iptables -t filter -A OUTPUT -p tcp --sport 47  -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 47 -j ACCEPT
 
# L2PT
iptables -t filter -A OUTPUT -p tcp --sport 1701  -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1701 -j ACCEPT
 
# ISAKMP
iptables -t filter -A OUTPUT -p tcp --sport 500  -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 500 -j ACCEPT
 
 
 
iptables -I FORWARD -p tcp --dport 1723 -j ACCEPT
iptables -I FORWARD -p tcp --sport 1723 -j ACCEPT
iptables -I FORWARD -p tcp --dport 47 -j ACCEPT
iptables -I FORWARD -p tcp --sport 47 -j ACCEPT
iptables -I FORWARD -p tcp --dport 1701 -j ACCEPT
iptables -I FORWARD -p tcp --sport 1701 -j ACCEPT
iptables -I FORWARD -p tcp --dport 500 -j ACCEPT
iptables -I FORWARD -p tcp --sport 500 -j ACCEPT
 
 
#Aiguillage du port
iptables -t nat -I PREROUTING -p tcp -i ppp0 --dport 1723 -j DNAT --to-destination 192.168.0.25
iptables -t nat -I PREROUTING -p tcp -i ppp0 --dport 47 -j DNAT --to-destination 192.168.0.25
iptables -t nat -I PREROUTING -p tcp -i ppp0 --dport 1701 -j DNAT --to-destination 192.168.0.25
iptables -t nat -I PREROUTING -p tcp -i ppp0 --dport 500 -j DNAT --to-destination 192.168.0.25
 
 
Par contre en éditant /etc/services j'ai remarqué que les port 500 et 1701 étaient en tcp et udp. Faut il indiqué le udp aussi ds mon script iptables ?
 
Comment puis-je savoir si j'utilise IPsec. C'est lorsque le client se connecte au VPN qu'il peut crypter les données (et donc passer en IPsec) ou un package à installer sur mon firewall ?

Reply

Marsh Posté le 20-05-2004 à 17:22:43    

IPSec peux etre forcé au niveau du server ou le client peux choisir de l'utilisé par lui meme
 
coté firewall il devrais voir des trame EPS (port 50) ou AH (port 51) entré/sortir
 
jai aussi trouver ca : http://www.microsoft.com/windows20 [...] n_ymsi.asp


---------------
You have no chance to survive make your time.
Reply

Marsh Posté le 20-05-2004 à 17:22:43   

Reply

Marsh Posté le 21-05-2004 à 12:14:15    

Excellent ce petit article, merci ;-)
 
Il y a un peu de mieu. J'ai fais un teste, et il trouve maintenant bien mon serveur VPN, et essaye de se valider le login et mot de passe. Cependant, il me met un message d'erreur de type 721 : L'ordinateur distant ne répond pas. Il me dit qu'une conversation ppp a été demandé, mais que l'ordinateur disrtant n'a pas répondu.
Est ce que cela pourrait venir du faite que ds ma table de routage j'ai accepté le port 500 en tcp, mais pas en udp ? ou alors c'est un problème de configuration de windows 2000 serveur.
 
Arf, on y est presque !
;-)

Reply

Marsh Posté le 21-05-2004 à 12:29:59    

Je viens de valider les port 500 et 1701 en udp, et cela fait le même problème. J'ai aussi activé les log dans /var/log/messages, mais il n'y a rien qui s'inscrit dedans. bizard !

Reply

Marsh Posté le 21-05-2004 à 13:19:39    

sa peux venir de 3 trucs probables
 
1. le client et le server parle pas la meme langue (protocole d'auth)
2. le firewall empeche le server de dire au client qu'il est pret a l'authentifier
3. le firewall drop la communication du client vers le server
 
solution:
1. quel protocole d'authentification tu utilise ? pap,chap,shiva,etc ?
2. laisser sortir le traffic vers le client "iptables -A FORWARD -m  state --state ESTABLISHED,RELATED -j ACCEPT"
3. je travail la dessus :D


---------------
You have no chance to survive make your time.
Reply

Marsh Posté le 21-05-2004 à 13:27:42    

aussi les port udp 500, 50 et 51 sont explicite a IPSec
si les clients vpn utilise Win9x/XP HOME il ne pouront pas utiliser IPSec :/


---------------
You have no chance to survive make your time.
Reply

Marsh Posté le 21-05-2004 à 21:36:05    

Salut kernel
 
Mci de continuer à m'aider, car ca reste un grand mystère !
;-)
 
J'ai laisser tout passer sur mes deux firewall (+ j'ai mis ta super ligne pour authoriser ce qui FORWARD), et activer le nat vers mon serveur vpn 2k. Donc tous les ports sont ouverts. Et j'ai tjrs la même erreur (721). Alors j'ai essayer de me connecter en L2TP, mais c'est carement cho. J'ai bien crée mon authentificateur de certificat sur le serveur VPN, mais je ne peux créer un certificat que pour l'administrateur, je ne peux pas coisir mon utilisateur (ici "test" ).Pourtant si j'ai bien compris, il faut créer un certificats depuis le serveur à l'utilisateur qui va se connecter en tant que client (ici "test" ). mais ensuite je ne vois pas où je vais metre ce certificat sur le client (il n'en parle pas ds les propriétés vpn de la connexion).
 
C'est bizard que cela ne fonctionne pas. pourtant j'ai bien activer la connexion VPN entrante ds la stratégie de mon utilisateur "test" (ds utilisateur active directorie). par contre les 2 ordi (serveur et client) sont dans une plage réseau différente (192.168.0.x et 192.168.100.x) mais je ne pense pas que cela pose de problème. il sont tous les deux ds un domaine différent aussi (domaine1. com et domaine2.com) du coup, c'est test@domaine1.com qui se connect en vpn sur domaine2.com.  
 
je vais continuer à me renseigner pour créer des certificats.
 
merci encore pour ton aide, c cool !
;-)

Reply

Marsh Posté le 22-05-2004 à 21:52:14    

Je crois avoir compris ce qu'il se passe :
 
J'ai mis ma connexion internet directement sur mon serveur VPN. avec aucun firewall. Et la ca marche.
 
J'ai ensuite mis zone alarme, pour voir les ports qui s'ouvre. Et la, stupéfaction ! non seulement il y a bien le port 1723 (pptp) donc normal, mais il y a ausi le port 2228. c'est donc normal que cela ne marche pas avec le firewall, puisque le port 2228 est pas naté => mon serveur vpn. et même quand j'ouvrais tous les port, il était bien ouvert, mais pas naté vers le serveur. je me dit chic, j'ai plus qu'a naté ce port ds mon script iptables. mais là, 2ème effet kiskool, au 2eme test, c'est le port 2398 qu'il ouvre. ensuite, au 3 ème essai, c'est la port 2400, puis 2402... mais comment vais-je pouvoir quelle port en complément du 1723 je vais bien pouvoir naté ? surtout que je ne veut pas ouvrire trop de port ?
 
Quelqu'un aurait-il une solution ! j'y suis presque !
;-)
 
merci d'avance !

Reply

Marsh Posté le 24-05-2004 à 13:41:08    

Help ! personne n'a été confronté à ce problème ?
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed