Racoon czyli ipsec - VPN adresy statyczne szyfrowanie plain rsa
Transkrypt
Racoon czyli ipsec - VPN adresy statyczne szyfrowanie plain rsa
Racoon czyli ipsec - VPN adresy statyczne szyfrowanie plain rsa - BR-604G Asmax a linux Wpisany przez rpc poniedziałek, 12 października 2009 06:45 - Poprawiony środa, 30 grudnia 2009 07:25 Racoon czyli ipsec - VPN adresy statyczne szyfrowanie kluczem plain rsa - Asmax BR-604G z debian lenny Większość opisów tworzenia tunelu opiera się na OpenVPN . Dla odmiany postanowiłem opisać VPN utworzony za pomocą pakietu rac oon czyli ipsec . Opisany sposób został przetestowany na routerze Asmax BR-604G w jednym końcu tunelu w połączeniu z Debian Lenny na drugim końcu. Oba routery mają adresy IP statyczne czyli nie zmieniają się. Oba adresy MUSZĄ być adresami publicznymi. Założenia Adres publiczny WAN IP Routera Debian Lenny : 218.97.26.22 Adres i maska sieci LAN Routera Debian Lenny : 192.168.1.0/24 Adres publiczny WAN IP Routera BR-604G : 87.205.205.13 1/5 Racoon czyli ipsec - VPN adresy statyczne szyfrowanie plain rsa - BR-604G Asmax a linux Wpisany przez rpc poniedziałek, 12 października 2009 06:45 - Poprawiony środa, 30 grudnia 2009 07:25 Adres i maska sieci LAN Routera BR-604G : 10.0.0.0/24 (10.0.0.0/24)BR-604G(87.205.205.13) <=============> (218.97.26.22)Debian(192.168.1.0/24) Szyfrowanie za pomocą pary kluczy Plain RSA Nazwa ID tunelu od strony Debian: vpn.dyndns.org Nazwa ID tunelu od strony BR-604G : iyy99.internetdsl.tpnet.pl Nie muszą być to nazwy DNS mogą być dowolne. Konfiguracja routera Asmax BR-604G 2/5 Racoon czyli ipsec - VPN adresy statyczne szyfrowanie plain rsa - BR-604G Asmax a linux Wpisany przez rpc poniedziałek, 12 października 2009 06:45 - Poprawiony środa, 30 grudnia 2009 07:25 Logujemy się na router BR-604G i przechodzimy do zakładki VPN Settings. Włączamy opcję Enable IP Sec VPN Koniecznie używamy opcji: Generate RSA Key Konfigurujemy wedle poniższych rysunków wybierając opcję EDIT pierwszej wolnej pozycji poniżej widać po uruchomieniu tunelu ale normalnie będdzie pusto. Rysunek 1. 3/5 Racoon czyli ipsec - VPN adresy statyczne szyfrowanie plain rsa - BR-604G Asmax a linux Wpisany przez rpc poniedziałek, 12 października 2009 06:45 - Poprawiony środa, 30 grudnia 2009 07:25 Rysunek 2. 4/5 Racoon czyli ipsec - VPN adresy statyczne szyfrowanie plain rsa - BR-604G Asmax a linux Wpisany przez rpc poniedziałek, 12 października 2009 06:45 - Poprawiony środa, 30 grudnia 2009 07:25 Rysunek 3. Ostatni rysunek 4 muszę wywołuje się wybierając opcję Show RSA Public Key na rysunku 1. Rysunek 4.treść Kopiujemy tabelki do nowego pliku tekstowego którego nazwiemy 87.205.205.13_ publickey.rsa Musimy tekstowym jeszcze "zmiany zrobić jedną rzecz. Należy dodać w pliku tekst dowolnym edytorze :PUB " gdyż przed 0sAQNnQZvPOCAd6VSkq......... Zapisujemy i zawartość pliku winna następująco po tejwsobie operacji y4lK0REO8mW zvTuADQmfIKL5s3vh+dO9FT+2LYhMK0HPHWcZ2DZ79rxR6RaAJ0W9rc04L+Xc2chfGv5arET 0sAQNnQZvPOCAd6VSkqLuCoo391sxaM/x8H2INQN9Uu+lz/iYUYfn0y+cq9SqGrbkOTAsB5TA :PUB Iy6XzFxyIrwbrYLRjUaw== Musimy koniecznie to zrobić racoon nawyglądać debianie nie rozpozna poprawnie formatu pliku. Plik kopiujemy do komputera zważną Debian Lenny do katalogu: /etc/racoon/certs/87.205.205.13_ publickey.rsa Pliki konfiguracyjne po stronie Debian Lenny: zawartość pliku /etc/ipsec-tools.conf powinniśmy uzupełnić o następujące wpisy: #!/usr/sbin/setkey -f Flush the SAD and SPD flush; spdflush; ## Some sample SPDs for use racoon # spdadd 192.168.10.0/24 10.0.0.0/24 any -P out ipsec esp/tunnel/218.97.26.22-87.205.205.13/require; 10.0.0.0/24 192.168.10.0/24 in ipsec esp/tunnel/87.205.205.13-218.97.26.22 /require; zawartość pliku /etc/racoon/racoon.conf powinniśmy uzupełnić o następujące wpisy: pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; log info; listen {situation_identity_only; isakmp 218.97.26.22 [500]; }certificate_type remote 87.205.205.13 { "87.205.205.13_ exchange_mode main; doi ipsec_doi; lifetime time 28800 sec; plain_rsa "218.97.26.22 _privatekey.rsa"; peers_certfile plain_rsa publickey.rsa"; my_identifier fqdn peers_identifier fqdn "iyy99.internetdsl.tpnet.pl"; passive on; initial_contact off; # proposal_check obey; proposal {ike_frag=on; encryption_algorithm aes,3des; hash_algorithm sha1; authentication_method rsasig; dh_group 2; }generate_policy off; }sainfo anonymous {"vpn.dyndns.org"; pfs_group 2;-f lifetime time 3600 sec; encryption_algorithm aes,3des ; kluczem authentication_algorithm hmac_sha1 ,hmac_md5 ; RSA. Teraz musimy wydzielić klucz compression_algorithm deflate; }Generowanie Kluczy plain RSA po stronie routera Debian Przechodzimy do katalogu /etc/racoon/certs /etc/racoon/certs icd wywołujemy polecenie: plainrsa-gen /etc/racoon/certs/218.97.26.22 _privatekey.rsa W publiczny wyniku z utworzy tego pliku. nam Wykonujemy się plik z wywołując: prywatnym grep ": PUB" 218.97.26.22_privatekey.rsa | sed 's/^#//' > /etc/racoon/certs/218.97.26.22 key.rsa _public pliku /etc/racoon/certs/218.97.26.22 _publickey.rsa możepowyżej wyglądać następująco: :Zawartość Wx/JbdY1v2ts+gFlwO8GPjngIMWLQ== c4FVqsdxl3+fVtMX4PE6eQ1dlFK82Z8oC+VxtctnbhBnXKtEgqRUoTuJzPN9bpG9OHixs+q3Xpp 0sAQOvJpnKIUHTcaUfZZocQEwvPmxEOD4/zzTt7H51/4VtRVJ2Od/xUsXa899KPAHDnV14vm PUB Nam będzie potrzebna część po słowie PUB czyli: kopiujewy i wklejamy w routerze wACCEPT pozycji Remote RSA10.0.0.0/24 Key. Patrz Rysunek 2. Musimy jeszcze pamiętać o firewallu: #vpn zezwolenie 500 -j ACCEPT udp --dport 4500 -j ACCEPT esp -j ah -j ACCEPT /sbin/iptables -A INPUT -p ipcomp -j ACCEPT #.............................................................. -A FORWARD --src 192.168.1.0/24 --dst -j ACCEPT /sbin/iptables -t nat -A POSTROUTING -p esp -j ACCEPT ah -j ACCEPT ACCEPT -p ipcomp -jDebianie ACCEPT -s 192.168.1.0/24 10.0.0.0/24 -j ACCEPT /sbin/iptables -t nat -Acały POSTROUTING -o eth0 -jiptablesa, gdzie eth0 jest interfejsem oAG241 adresie 218.97.26.22 . -d Koniecznie wpisy w POSTROUTING muszą być przed MASQUERADE. Jeśli jedną chcemy regułkę dopuści zamiast linii wykropkowanej zWAN LAN dopowyżej LAN wMASQUERADE ruch dopisać jeszcze --src 10.0.0.0/24 -j lub tylko port np. /sbin/iptables -A FORWARD -p tcp --src 10.0.0.0/24 --dport 5900 -jmusimy ACCEPT Reszty należy szukać w odpowiednich HOWTO racoon, ipsec, itp. 5/5