brouillon_ipsec
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
brouillon_ipsec [2009/06/28 01:02] – thierry | brouillon_ipsec [2009/07/04 21:46] (Version actuelle) – thierry | ||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
*http:// | *http:// | ||
*http:// | *http:// | ||
+ | *http:// | ||
*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/ | *transport : authentifier/ | ||
- | *tunnel : authentifier/ | + | *tunnel : authentifier/ |
+ | |||
+ | |||
+ | **'' | ||
+ | |||
+ | Voir package **'' | ||
- | **'' | ||
===== ipsec-tools ===== | ===== ipsec-tools ===== | ||
Ligne 291: | Ligne 296: | ||
==== simple ==== | ==== simple ==== | ||
+ | Liens: | ||
+ | *http:// | ||
- | ===== LAN-2-LAN ===== | + | On va faire un tunnel trés simple __sans racoon__ . |
- | Lien: http://wiki.debian.org/HowTo/openswan | + | 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, | ||
+ | # / | ||
- | ==== Test sur le même LAN ==== | + | Sur PC-A, editer **''/ |
+ | flush; | ||
+ | spdflush; | ||
+ | |||
+ | add < | ||
+ | add < | ||
+ | |||
+ | # Tunnel | ||
+ | # PC-A -> PC-B | ||
+ | spdadd 192.168.0.0/ | ||
+ | esp/ | ||
+ | |||
+ | # PC-A <- PC-B | ||
+ | spdadd 192.168.1.0/ | ||
+ | esp/ | ||
+ | Et puis: | ||
+ | # / | ||
- | === exemple === | + | Maintenant sur PC-B, editer **''/ |
+ | flush; | ||
+ | spdflush; | ||
+ | |||
+ | add < | ||
+ | add < | ||
+ | |||
+ | # Tunnel | ||
+ | # PC-B -> PC-A | ||
+ | spdadd 192.168.1.0/ | ||
+ | esp/ | ||
+ | |||
+ | # PC-B <- PC-A | ||
+ | spdadd 192.168.0.0/ | ||
+ | esp/ | ||
+ | Et puis: | ||
+ | # / | ||
- | Soit 2 becannes sur le même LAN, mais souhaitant partagé " | + | 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 ! | ||
- | PC-A (" | + | Soit le cas de figure suivant: |
- | IP: 172.16.0.33 | + | *PC-A a une IP 192.168.0.x |
- | LAN SECRET: 192.168.50/24 | + | *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 | ||
- | PC-B (" | + | Dans le genre bizarre, il a fallut autoriser |
- | IP: 172.16.0.39 | + | |
- | LAN SECRET: aucun | + | Et oui: du WAN arrive des IP locales... |
- | Sur PC-A: | + | ==== avec IKE ==== |
- | # cat / | + | |
- | 172.16.0.33 172.16.0.39 : PSK " | + | |
- | + | ||
- | # cat / | + | |
- | 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/ | + | |
- | right=172.16.0.39 | + | |
- | auto=start | + | |
- | + | ||
- | include / | + | |
- | Copier | + | ou plutot, avec **'' |
- | Inverser | + | En fait, il faut juste laisser |
- | 172.16.0.39 172.16.0.33 : PSK " | + | |
- | Puis, sur chacun des PC: | + | Et bien sur, démarrer **'' |
- | # /etc/init.d/ipsec start (ou restart) | + | |
- | Un test montre que les requetes ARP passent aussi !? | + | Voila. |
- | === explications === | ||
- | (sous réserve d' | + | ===== Tips ===== |
+ | ==== Route et MTU ==== | ||
+ | On doit parfois jouer avec les routes... | ||
- | *" | + | Mais aussi avec la MTU. |
- | *" | + | |
- | *" | + | |
- | *" | + | |
- | Les 2 ne sont pas obligés | + | Pour mémoire, on peut utiliser ce format |
+ | # ip route add < | ||
+ | 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 " | ||
- | === pluto === | + | ==== iptables ==== |
- | # cat / | + | |
- | Jun 24 11:43:29 xxxxxx ipsec__plutorun: | + | |
- | Jun 24 11:43:29 xxxxxx ipsec__plutorun: | + | |
- | === ike-scan === | + | $IPTABLES -A INPUT -i eth0 -p esp -j ACCEPT |
+ | $IPTABLES -A INPUT -i eth0 -p ah -j ACCEPT | ||
+ | $IPTABLES -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT | ||
+ | |||
+ | Faire des bizarreries, | ||
+ | |||
+ | ==== ike-scan | ||
# aptitude install ike-scan | # aptitude install ike-scan | ||
Ligne 369: | 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/ |
- | === conf === | + | Malgré tout les tutoriaux, rien ne fonctionne comme voulu.\\ |
- | + | ||
- | " | + | |
- | + | ||
- | Sur " | + | |
- | + | ||
- | # cat ipsec.secrets | + | |
- | IP_PUBLIC_20 IP_PUBLIC_15 : PSK " | + | |
- | + | ||
- | # 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/ | + | |
- | leftnexthop=IP_PUBLIC_15 | + | |
- | right=IP_PUBLIC_15 | + | |
- | rightnexthop=IP_PUBLIC_20 | + | |
- | auto=start | + | |
- | + | ||
- | include / | + | |
- | + | ||
- | Sur IP_PUBLIC_15 : \\ | + | |
- | (Simple inversion) | + | |
- | # cat ipsec.secrets | + | |
- | IP_PUBLIC_15 IP_PUBLIC_20 : PSK " | + | |
- | Et " | + | |
- | + | ||
- | === detaillons === | + | |
- | Au niveau IP, c'est un peu étrange... | + | |
- | + | ||
- | Sur IP_PUBLIC_A : | + | |
- | # route -n | + | |
- | Table de routage IP du noyau | + | |
- | Destination | + | |
- | IP_PUBLIC_15 | + | |
- | 192.168.1.0 | + | |
- | ... | + | |
- | + | ||
- | Sur IP_PUBLIC_B : | + | |
- | # route -n | + | |
- | Table de routage IP du noyau | + | |
- | Destination | + | |
- | 192.168.1.0 | + | |
- | ... | + | |
- | + | ||
- | 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 | + | |
- | $IPTABLES -A INPUT -i $WAN_IF -p 51 -s IP_PUBLIC_15 -j ACCEPT | + | |
- | + | ||
- | $IPTABLES -A INPUT -i $WAN_IF -s IP_PUBLIC_15 -d 192.168.1.0/ | + | |
- | $IPTABLES -A OUTPUT -o $WAN_IF -d IP_PUBLIC_15 -s 192.168.1.0/ | + | |
- | + | ||
- | $IPTABLES -A FORWARD -i $WAN_IF -o $WIFI_IF -j ACCEPT | + | |
- | $IPTABLES -A FORWARD -i $WIFI_IF -o $WAN_IF -j ACCEPT | + | |
+ | Donc, j' | ||
+ | Et finalement, " |
brouillon_ipsec.1246150940.txt.gz · Dernière modification : 2009/06/28 01:02 de thierry