Outils pour utilisateurs

Outils du site


brouillon_ipsec

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
brouillon_ipsec [2009/06/28 03:09]
thierry
brouillon_ipsec [2009/07/04 23:46] (Version actuelle)
thierry
Ligne 8: Ligne 8:
   *http://​wiki.debian.org/​HowTo/​openswan   *http://​wiki.debian.org/​HowTo/​openswan
   *http://​ubuntuforums.org/​showthread.php?​p=1781442   *http://​ubuntuforums.org/​showthread.php?​p=1781442
 +  *http://​www.gentoo-wiki.info/​HOWTO_IPSEC
  
   *ipsec-tools   *ipsec-tools
Ligne 20: Ligne 21:
 Son fonctionnement est au niveau de la couche 3 , donc IP . Son fonctionnement est au niveau de la couche 3 , donc IP .
  
-C'est a dire que les applications n'ont pas conscience que l'IP utilisé est chiffré: c'est transparent.+C'est a dire que les applications n'ont pas conscience que l'IP utilisé est authentifiée et/ou chiffrée: c'est transparent.
  
 Protocoles: Protocoles:
Ligne 31: Ligne 32:
 2 modes de fonctionnement:​ 2 modes de fonctionnement:​
   *transport : authentifier/​chiffrer les communications entre 2 IP (public ou local)   *transport : authentifier/​chiffrer les communications entre 2 IP (public ou local)
-  *tunnel : authentifier/​chiffer ​un tunnel entre 2 LAN+  *tunnel : authentifier/​chiffrer ​un tunnel entre 2 LAN 
 + 
 + 
 +**''​pluto''​** : c'est "​ike"​ ... Mais c'est aussi "​racoon"​ ...  
 + 
 +Voir package **''​ike-scan''​** ​
  
-**''​pluto''​** : c'est "​ike"​ ... package **''​ike-scan''​** 
  
 ===== ipsec-tools ===== ===== ipsec-tools =====
Ligne 295: Ligne 300:
  
 On va faire un tunnel trés simple __sans racoon__ . On va faire un tunnel trés simple __sans racoon__ .
 +
 +PC-A veut mettre en tunnel le réseau: 192.168.0.0/​24\\
 +PC-B veut mettre en tunnel le réseau: 192.168.1.0/​24
  
 Donc, si nécessaire,​ faire d'​abord:​ Donc, si nécessaire,​ faire d'​abord:​
Ligne 335: Ligne 343:
   # /​etc/​init.d/​setkey restart   # /​etc/​init.d/​setkey restart
  
-===== LAN-2-LAN =====+Pour tester, c'est plus compliqué:​ 
 +  *il faut que l'IP source soit dans l'un des LAN, et que l'IP destinataire soit dans l'un des autres ​LAN
 +  *il faut activer le forward entre interface (si on fait un test a partir d'un autre poste) 
 +  *il faut autoriser le firewall a balancer des IP local sur le WAN !
  
-Lienhttp://wiki.debian.org/​HowTo/​openswan+Soit le cas de figure suivant: 
 +  *PC-A a une IP 192.168.0.x 
 +  *PC-B a une IP 192.168.1.y 
 +Alors on peut faire: 
 +  # nc -s 192.168.0.x 192.168.1.y 22 
 +  SSH-2.0-OpenSSH_5.1p1 Debian-5
  
 +Dans le genre bizarre, il a fallut autoriser (vite fait) le firewall avec un règle comme cela:
 +  $IPTABLES -A INPUT -i $WAN_IF -d 192.168.0.0/​16 -s 192.168.0.0/​16 -j ACCEPT
 +Et oui: du WAN arrive des IP locales...
  
-==== Test sur le même LAN ====+==== avec IKE ====
  
-=== exemple ===+ou plutot, avec **''​racoon''​**.
  
-Soit 2 becannes sur le même LANmais souhaitant partagé "​secretement"​ un reseau ...+En faitil faut juste laisser les politiques, et supprimer les protocoles souhaités.
  
-PC-A ("​serveur"​) : +Et bien sur, démarrer **''​racoon''​** ​...
- IP: 172.16.0.33 +
- LAN SECRET: 192.168.50/​24+
  
-PC-B ("​client"​) : +Voila.
- IP: 172.16.0.39 +
- LAN SECRET: aucun+
  
-Sur PC-A: 
-  # cat /​etc/​ipsec.secrets 
-  172.16.0.33 172.16.0.39 : PSK "​le_mot_de_passe_secret"​ 
-  ​ 
-  # cat /​etc/​ipsec.conf 
-  version 2.0     # conforms to second version of ipsec.conf specification 
-  ​ 
-  config setup 
-        nhelpers=0 
-  ​ 
-  conn mynet 
-        authby=secret 
-        left=172.16.0.33 
-        leftsubnet=192.168.50.0/​24 
-        right=172.16.0.39 
-        auto=start 
-  ​ 
-  include /​etc/​ipsec.d/​examples/​no_oe.conf 
  
-Copier **''​ipsec.secrets''​** ​et **''​ipsec.conf''​** sur le "​PC_B"​.+===== Tips ===== 
 +==== Route et MTU ==== 
 +On doit parfois jouer avec les routes...
  
-Inverser les IP dans le fichier **''​ipsec.secrets''​** , afin d'​avoir:​ +Mais aussi avec la MTU.
-  172.16.0.39 172.16.0.33 : PSK "​le_mot_de_passe_secret"​+
  
-Puissur chacun des PC+Pour mémoireon peut utiliser ce format de commande par exemple
-  # /etc/init.d/ipsec start   (ou restart)+  # ip route add <​NETWORK>​ via <​gateway>​ src <SRC> [mtu X] 
 +Par exemple: 
 +  # ip route add 192.168.1.0/24 via default src 192.168.0.49 mtu 1415 
 +Ainsi, ce qui est a destination de la classe "​192.168.1.0/24" prendra pour source "​192.168.0.49"​ et la MTU 1415
  
-Un test montre que les requetes ARP passent aussi !? 
  
-=== explications ​===+==== iptables ====
  
-(sous réserve d'​avoir bien compris!)+  $IPTABLES -A INPUT -i eth0 -p esp -j ACCEPT ​                   ; # ESP (ou -p 50) 
 +  $IPTABLES -A INPUT -i eth0 -p ah -j ACCEPT ​                    ; # AH (ou -p 51) 
 +  $IPTABLES -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT ​       ; # pour IKE/​racoon/​pluto
  
-  *"​left"​ : c'est "​soi-même"​ou plus exactement: l'IP a gauche dans **''​ipsec.secrets''​** ​. +Faire des bizarreriescomme autoriser les IP locales (192.168/16 10/​8...) ​voyager vers Internet... (sans oublier qu'en fait, ca passe par un tunnel!)
-  *"​leftnexthop"​ : c'est la gateway ​Par defaut: "​%direct"  ​On peut mettre aussi "​%defaultroute" ​) +
-  *"​leftsubnet"​ : le reseau a partager +
-  *"​right"​ : c'est l'​autre+
  
-Les 2 ne sont pas obligés de partager... +==== ike-scan ​====
- +
- +
-=== pluto === +
-  # cat /​var/​log/​syslog | grep pluto +
-  Jun 24 11:43:29 xxxxxx ipsec__plutorun:​ 104 "​mynet"​ #1: STATE_MAIN_I1:​ initiate +
-  Jun 24 11:43:29 xxxxxx ipsec__plutorun:​ ...could not start conn "​mynet"​ +
- +
-=== ike-scan ===+
  
   # aptitude install ike-scan   # aptitude install ike-scan
Ligne 412: Ligne 403:
         VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0)         VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0)
  
-==== Test sur 2 IP Public ​====+===== Openswan =====
  
-Faire partager un reseau local, entre 2 IP public.+Lien: http://wiki.debian.org/​HowTo/​openswan
  
-=== conf === +Malgré tout les tutoriaux, rien ne fonctionne comme voulu.\\
- +
-"​IP_PUBLIC_20"​ et "​IP_PUBLIC_15"​ sont a remplacer respectivement par les IP public. +
- +
-Sur "​PUBLIC_20":​ +
- +
-  # cat ipsec.secrets +
-  IP_PUBLIC_20 IP_PUBLIC_15 : PSK "​le_mot_de_passe_secret"​ +
- +
-  # cat ipsec.conf +
-  version 2.0     # conforms to second version of ipsec.conf specification +
-   +
-  config setup +
-        nat_traversal=yes +
-        nhelpers=0 +
-   +
-  conn mynet +
-        authby=secret +
-        left=IP_PUBLIC_20 +
-        leftsubnet=192.168.1.0/​24 +
-        leftnexthop=IP_PUBLIC_15 +
-        right=IP_PUBLIC_15 +
-        rightnexthop=IP_PUBLIC_20 +
-        auto=start +
-   +
-  include /​etc/​ipsec.d/​examples/​no_oe.conf +
- +
-Sur IP_PUBLIC_15 : \\ +
-(Simple inversion) +
-  # cat ipsec.secrets +
-  IP_PUBLIC_15 IP_PUBLIC_20 : PSK "​le_mot_de_passe_secret"​ +
-Et "​ipsec.conf"​ identique. +
- +
-=== detaillons === +
-Au niveau IP, c'est un peu étrange... +
- +
-Sur IP_PUBLIC_A : +
-  # route -n +
-  Table de routage IP du noyau +
-  Destination ​    ​Passerelle ​     Genmask ​        Indic Metric Ref    Use Iface +
-  IP_PUBLIC_15 ​   0.0.0.0 ​        ​255.255.255.255 UH    0      0        0 eth0 +
-  192.168.1.0 ​    ​0.0.0.0 ​        ​255.255.255.0 ​  ​U ​    ​0 ​     0        0 eth1 +
-  ... +
- +
-Sur IP_PUBLIC_B : +
-  # route -n +
-  Table de routage IP du noyau +
-  Destination ​    ​Passerelle ​     Genmask ​        Indic Metric Ref    Use Iface +
-  192.168.1.0 ​    ​0.0.0.0 ​        ​255.255.255.0 ​  ​U ​    ​0 ​     0        0 eth0 +
-  ... +
- +
-Au niveau du firewall IP_PUBLIC_A : +
-  WAN_IF=eth0 +
-  WIFI_IF=eth1 +
-   +
-  # ipsec test +
- +
-  $IPTABLES -A INPUT -i $WAN_IF -p 50 -s IP_PUBLIC_15 -j ACCEPT ​     ; # ESP +
-  $IPTABLES -A INPUT -i $WAN_IF -p 51 -s IP_PUBLIC_15 -j ACCEPT ​     ; # AH +
-   +
-  $IPTABLES -A INPUT -i $WAN_IF -s IP_PUBLIC_15 -d 192.168.1.0/​24 -j ACCEPT +
-  $IPTABLES -A OUTPUT -o $WAN_IF -d IP_PUBLIC_15 -s 192.168.1.0/​24 -j ACCEPT +
-   +
-  $IPTABLES -A FORWARD -i $WAN_IF -o $WIFI_IF -j ACCEPT +
-  $IPTABLES -A FORWARD -i $WIFI_IF -o $WAN_IF -j ACCEPT+
  
 +Donc, j'​abadonne **''​openswan''​** ... 
  
 +Et finalement, "​ipsec-tools"​ me suffit amplement.
brouillon_ipsec.1246151395.txt.gz · Dernière modification: 2009/06/28 03:09 par thierry