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édentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
brouillon_ipsec [2009/06/28 01:00] thierrybrouillon_ipsec [2009/06/30 00:26] 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 33: Ligne 34:
   *tunnel : authentifier/chiffer un tunnel entre 2 LAN   *tunnel : authentifier/chiffer un tunnel entre 2 LAN
  
-**''pluto''** : c'est "ike" ... package **''ike-scan''**+ 
 +**''pluto''** : c'est "ike" ... Mais c'est aussi "racoon" ...  
 + 
 +Voir package **''ike-scan''**  
  
 ===== ipsec-tools ===== ===== ipsec-tools =====
Ligne 283: Ligne 288:
  
 En clair, si vous voulez entrer dans le tunnel, il faut que l'IP source et destination appartiennent au tunnel ! En clair, si vous voulez entrer dans le tunnel, il faut que l'IP source et destination appartiennent au tunnel !
 +
 +Aucun routage ne pourra être forcé dans le tunnel.
  
 === forward === === forward ===
Ligne 289: Ligne 296:
  
 ==== simple ==== ==== simple ====
 +Liens:
 +  *http://www.linuxplusvalue.be/mylpv.php?id=177
  
-===== LAN-2-LAN =====+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: 
 +  # /etc/init.d/racoon stop 
 + 
 +Sur PC-A, editer **''/etc/ipsec-tools.conf''** afin d'avoir: 
 +  flush; 
 +  spdflush; 
 +   
 +  add <IP-A> <IP-B> esp 34501 -m tunnel -E 3des-cbc "123456789012123456789012"; 
 +  add <IP-B> <IP-A> esp 34502 -m tunnel -E 3des-cbc "123456789012123456789012"; 
 +   
 +  # Tunnel 
 +  # PC-A -> PC-B 
 +  spdadd 192.168.0.0/24 192.168.1.0/24 any -P out ipsec 
 +        esp/tunnel/<IP-A>-<IP-B>/require; 
 +   
 +  # PC-A <- PC-B 
 +  spdadd 192.168.1.0/24 192.168.0.0/24 any -P in ipsec 
 +        esp/tunnel/<IP-B>-<IP-A>/require; 
 +Et puis: 
 +  # /etc/init.d/setkey restart 
 + 
 +Maintenant sur PC-B, editer **''/etc/ipsec-tools.conf''** afin d'avoir: 
 +  flush; 
 +  spdflush; 
 +   
 +  add <IP-A> <IP-B> esp 34501 -m tunnel -E 3des-cbc "123456789012123456789012"; 
 +  add <IP-B> <IP-A> esp 34502 -m tunnel -E 3des-cbc "123456789012123456789012"; 
 +   
 +  # Tunnel 
 +  # PC-B -> PC-A 
 +  spdadd 192.168.1.0/24 192.168.0.0/24 any -P out ipsec 
 +        esp/tunnel/<IP-B>-<IP-A>/require; 
 +   
 +  # PC-B <- PC-A 
 +  spdadd 192.168.0.0/24 192.168.1.0/24 any -P in ipsec 
 +        esp/tunnel/<IP-A>-<IP-B>/require;   
 +Et puis: 
 +  # /etc/init.d/setkey restart 
 + 
 +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 ! 
 + 
 +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... 
 + 
 +==== avec IKE ==== 
 + 
 +ou plutot, avec **''racoon''**. 
 + 
 +En fait, il faut juste laisser les politiques, et supprimer les protocoles souhaités. 
 + 
 +Et bien sur, démarrer **''racoon''** ... 
 + 
 +Voila. 
 + 
 + 
 +===== Tips ===== 
 +==== Route et MTU ==== 
 +On doit parfois jouer avec les routes... 
 + 
 +Mais aussi avec la MTU. 
 + 
 +Pour mémoire, on peut utiliser ce format de commande par exemple: 
 +  # 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 
 + 
 + 
 +==== iptables ==== 
 + 
 +  $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 
 + 
 +Faire des bizarreries, comme autoriser les IP locales (192.168/16 10/8...) a voyager vers Internet... (sans oublier qu'en fait, ca passe par un tunnel!) 
 + 
 +==== ike-scan ==== 
 + 
 +  # aptitude install ike-scan 
 +  # /etc/init.d/ipsec stop 
 +  # ike-scan -M 172.16.0.33 
 +  Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/
 +  172.16.0.33     Main Mode Handshake returned 
 +        HDR=(CKY-R=46746e295468b2d5) 
 +        SA=(Enc=3DES Hash=SHA1 Auth=PSK Group=2:modp1024 LifeType=Seconds LifeDuration(4)=0x00007080) 
 +        VID=4f45606c50487c5662707575 
 +        VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0) 
 + 
 +===== Openswan =====
  
 Lien: http://wiki.debian.org/HowTo/openswan Lien: http://wiki.debian.org/HowTo/openswan
  
 +Malgré tout les tutorials, aucun ne fonctionne comme voulu.\\
 +
 +Donc, j'abadonne **''openswan''** ... 
  
 ==== Test sur le même LAN ==== ==== Test sur le même LAN ====
Ligne 366: Ligne 482:
         VID=4f45606c50487c5662707575         VID=4f45606c50487c5662707575
         VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0)         VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0)
- 
-==== Test sur 2 IP Public ==== 
- 
-Faire partager un reseau local, entre 2 IP public. 
- 
-=== conf === 
- 
-"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            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            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 
  
  
brouillon_ipsec.txt · Dernière modification : 2009/07/04 21:46 de thierry