Ce face omul la servici cand freaca menta? Exceptand site-urile porno,deconectarea serverului de baze de date, sau alte trasnai voite sau nu? Probeaza.
Si nu fuste sau pantaloni… De exemplu se poate proba un IPSec intre un Cisco 2821 si un free BSD. Am considerat eu ca o sa fie chiar amuzant. Si n-a fost!!! Pentru ca, pe langa faptul ca mi-a luat jumatate de zi, cunostintele mele de Unix-Linux-BSD n-au fost chiar necesare si, mai ales suficiente. Pana la urma i-am dat de cap, iar rezolvarea e cam asa:
Dupa cumpresupun ca stiti, IPSec functioneaza in 2 modalitati: transport si tunnel. In cazul nostru vom folosi a doua varianta, iar diagrama de configurare va fi urmatoarea:
Prima chestie pe care n-am stiut-o dar cu ajutorul Google am aflat-o este faptul ca avem nevoie de cateva modificari in kernelul de freeBSD. Asadar,/ usr/src/sys/i386/conf
si modificam urmatoarele linii:
options IPSEC options IPSEC_DEBUG options IPSEC_DEBUG device crypto device crypto
Compilam apoi kernelul cu optiunile:
cd / usr / src make buildkernel KERNCONF=name make buildkernel KERNCONF = name make installkernel KERNCONF=name make installkernel KERNCONF = name
Apoi, avem nevoie de cateva configurari in racoon (google it!):
cd / usr / ports / * / ipsec-tools make make
In fereastra de optiuni nu uitati sa debifati optiunea de NAT Transversal, altfel nu mai trec in veci pachetele de date.
Un make install va fi apoi suficient. Dar nu se termina totul aici. Pentru ca in fisierul:
/ usr / local / etc / racoon / racoon.conf
avem de modificat cam asa:
# $ KAME: racoon.conf.in, v 1.18 2001/08/16 06:33:40 itojun Exp $ path include "/ usr / local / etc / racoon"; path pre_shared_key "/ usr / local / etc / racoon / psk.txt"; # path pre_shared_key "/ etc / psk.txt"; # "Log" inseamna nivelul de logging. Este urnmat de "notify", "debug" sau "debug2". log notify; # "Padding" defineste anumiti parametri de padding. Nu trebuiesc modificati. padding { ( maximum_length 20; randomize off; strict_check off; exclusive_tail off; } ) # Daca nu exista nici o directiva specificata, racoon va asculta toate interfetele. listen { ( isakmp 10.3.7.1 [500]; } ) # Specificatii pentru timer. timer { ( #Aceste valori pot fi schimbate pe nodul de remote. counter 5; # couter maxim. interval 20 sec; #intrvalul maxim de retransmisie. persend 1; #numarul de pachete pe transmisie. # Timer pentru completarea fiecarui pas. phase1 30 sec; phase2 15 sec; } ) # determinarea configuratiei primei faze a transmisiei: remote 10.5.40.3 { ( exchange_mode main; # Nu toate IOS-urile au suport pentru asa ceva... # exchange_mode aggressive; doi ipsec_doi; situation identity_only; nonce_size 16; lifetime time 60 min; initial_contact on; support_proxy on; proposal_check obey; ( encryption_algorithm 3des; # Metoda de criptare hash_algorithm sha1; # metoda de hash authentication_method pre_shared_key; # metoda de autentificare cu o cheie comuna dh_group 2; # Lungimea cheii Diffie-Hellman (grup 2 - 1024-bit) } ) } ) { sainfo subnet 10.5.5.0/24 any address 10.10.10.0/23 any ( pfs_group 2; lifetime time 24 hour; encryption_algorithm aes; authentication_algorithm hmac_sha1; compression_algorithm deflate; } ) { sainfo subnet 10.5.6.0/24 any address 10.10.10.0/23 any ( # Similar, pentru a doua subretea: pfs_group 2; lifetime time 24 hour; encryption_algorithm aes; authentication_algorithm hmac_sha1; compression_algorithm deflate; } )
Apoi se creaza un fisier pentru salvarea cheilor:
cd / usr / local / etc / racoon touch psk.txt touch psk.txt chmod 600 psk.txt chmod 600 psk.txt chown root:wheel psk.txt chown root: wheel psk.txt Ramane ca la final sa activam IPSec si Racoon in / etc / rc.conf: racoon_flags = "-l / var / log / racoon.log" ipsec_enable="YES" ipsec_enable = "YES" ipsec_file="/etc/ipsec.conf" ipsec_file = "/ etc / ipsec.conf"
Intr-un viitor apropiat vom vedea si cum se configureaza routerul CISCO…
