Założenia
Załóżmy, że zamierzamy uruchomić usługę IPSec VPN, Site-to-Site; w sieci złożonej według poniższego schematu:
Hillstone A – Urządzenie łączące się poprzez sieć lokalną. Posiada prywatny adres IP (192.168.16.2). Jest pierwszym węzłem (Peer) tunelu VPN.
Hillstone B – Urządzenie posługujące się zewnętrznym adresem IP (76.139.204.237), z przekierowanym ruchem sieciowym na adresy lokalne (12.168.168.XXX).
Hillstone C – Urządzenie posiada publiczny adres IP (91.211.138.135). Jest drugim węzłem (Peer) tunelu VPN.
Wirtualną sieć prywatną konfigurujemy w oparciu o protokół internetowej wymiany kluczy (ang. IKE, Internet Key Exchange)
1. Zdefiniowanie propozycji pierwszej i drugiej fazy negocjacji (Hillstone A, Hillstone C; opcjonalnie)
Wybieramy zakładkę Network -> VPN -> IPSec VPN, w sekcji P1 Proposal naciskamy New, a następnie w oknie Phase1 Proposal Configuration:
– nadajemy własną nazwę propozycji
– dobieramy odpowiadające nam metody/algorytmy uwierzytelniania, hashowania, szyfrowania, wymiany kluczy i czas ich ważności, zatwierdzając przyciskiem OK.
Wybieramy zakładkę Network -> VPN -> IPSec VPN, w sekcji P2 Proposal naciskamy New, a następnie w oknie Phase2 Proposal Configuration:
– nadajemy własną nazwę propozycji
– dobieramy protokół, odpowiadające nam metody/algorytmy uwierzytelniania, hashowania (od 1 do 3), szyfrowania (od 1 do 4), kompresji, wymiany kluczy i czas ich ważności, zatwierdzając przyciskiem OK.
Więcej szczegółów tutaj: (tu będzie odnośnik do części teoretycznej/opisowej)
2. Wprowadzenie parametrów węzła VPN (Hillstone A, wewnętrzny)
Wybieramy zakładkę Network -> VPN -> IPSec VPN [1] -> IKE VPN Configuration, w sekcji VPN Peer List naciskamy New, a następnie w oknie VPN Peer Configuration ustawiamy pola:
– Name – obowiązkowa nazwa
– Interface [2] – interfejs wychodzący do bramy (tu: „ethernet 0/7”)
– Type – typ adresacji, wskazujemy „Static IP”
– Peer IP oraz Peer ID IP (*) [3] – adres węzła po drugiej stronie tunelu (tu: „91.211.138.135”; adres urządzenia „Hillstone C”)
– Local ID Type oraz Peer ID Type – typ węzła lokalnego oraz węzła po drugiej stronie tunelu (tu; oba identyfikujemy po adresach; „IPv4”)
– Local IP [4] – adres węzła lokalnego (tu: „76.139.204.237”; adres urządzenia „Hillstone B”, reprezentowanego zewnętrznie przez modem)
– Proposal1 [5] – metody szyfrowania i długości kluczy stosowane przy negocjowaniu połączenia. Wybieramy z listy predefiniowanych profili, chyba że w pkt. 1 zdefiniowaliśmy własne. Identyczne po obu stronach tunelu!
– Pre-shared Key [6] – klucz wstępnej dostępności. Ustawiamy umowne hasło do nawiązania połączenia tunelowego. Identyczne po obu stronach tunelu!
– Connection Type – typ połączenia; wskazujemy obustronny – „Bidirectional”
– NAT Traversal [7] – włączamy, ponieważ jedna ze stron nie dysponuje adresem publicznym.
Pozostałe ustawienia pozostawiamy domyślne.
Konfigurację węzła zatwierdzamy naciskając OK.
(*) W interfejsie graficznym użytkownika, „Peer ID IP” może widnieć jako „Peer IP”
3. Wprowadzenie parametrów węzła VPN (Hillstone C, zewnętrzny)
Wybieramy zakładkę Network -> VPN -> IPSec VPN [1] -> IKE VPN Configuration, w sekcji VPN Peer List naciskamy New, a następnie w oknie VPN Peer Configuration ustawiamy pola:
– Name – obowiązkowa nazwa
– Interface [2] – interfejs wychodzący do bramy (tu: „ethernet 0/0”)
– Type – typ adresacji, wskazujemy „Static IP”
– Peer IP oraz Peer ID IP (*) [3] – adres węzła po drugiej stronie tunelu (tu: „76.139.204.237”; adres urządzenia „Hillstone B”, reprezentowanego zewnętrznie przez modem)
– Local ID Type oraz Peer ID Type – typ węzła lokalnego oraz węzła po drugiej stronie tunelu (tu; oba identyfikujemy po adresach; „IPv4”)
– Local IP [4] – adres węzła lokalnego (tu: „91.211.138.135”; adres urządzenia „Hillstone C”)
– Proposal1 [5] – metody szyfrowania i długości kluczy stosowane przy negocjowaniu połączenia. Wybieramy z listy predefiniowanych profili, chyba że w pkt. 1 zdefiniowaliśmy własne. Identyczne po obu stronach tunelu!
– Pre-shared Key [6] – klucz wstępnej dostępności. Ustawiamy umowne hasło do nawiązania połączenia tunelowego. Identyczne po obu stronach tunelu!
– Connection Type – typ połączenia; wskazujemy obustronny – „Bidirectional”
– NAT Traversal [7] – włączamy, ponieważ jedna ze stron nie dysponuje adresem publicznym.
Pozostałe ustawienia pozostawiamy domyślne.
Konfigurację węzła zatwierdzamy naciskając OK.
(*) W interfejsie graficznym użytkownika, „Peer ID IP” może widnieć jako „Peer IP”
4. Zdefiniowanie stref (Hillstone A, Hillstone C; opcjonalnie (*))
Wybieramy zakładkę Network -> Zone, naciskamy New, a następnie w oknie Zone Configuration uzupełniamy pola:
– Zone – nazwa strefy (obowiązkowa; tu: „VIR_IPSec”)
– Type – typ strefy – wskazujemy „Layer 3 Zone”
– Virtual Router – router wirtualny (tu: „trust-vr”; domyślny)
– Binding Interface – powiązany interfejs (tu: „tunnel1”; patrz pkt. 5)
Strefy definiujemy identycznie na obu urządzeniach!
Strefy zatwierdzamy naciskając OK.
(*) – Strefy nie są konieczne to samego zestawienia tuneli VPN, a same tunele można przypisać do strefy domyślnej „untrust” (patrz pkt .5); jednak ich zdefiniowanie jest zalecane do dalszego stosowania usług VPN, polityk bezpieczeństwa itp.
5. Zdefiniowanie interfejsów do tunelowania (Hillstone A, Hillstone C)
Wybieramy zakładkę Network -> Interface, naciskamy New -> Tunnel Interface, a następnie w oknie Tunnel Interface uzupełniamy następujące pola:
– Interface Name – nazwa interfejsu tunelowego zaczyna się od „tunnel”, obligatoryjnie nadajemy mu numer (tu: „1”)
– Binding Zone – typ powiązanej strefy – wskazujemy „Layer 3 Zone”
– Zone – wskazujemy strefę zdefiniowaną w pkt. 4 (tu: „VIR_IPSec”) lub domyślną „untrust”
Pozostałe ustawienia (adresy, protokoły, zaawansowane, etc.) pozostawiamy puste lub domyślne.
Interfejsy definiujemy identycznie na obu urządzeniach!
Interfejsy zatwierdzamy naciskając OK.
6. Połączenie węzłów i tuneli, dla usługi VPN z kluczem IKE (Hillstone A, Hillstone C)
Wybieramy zakładkę Network -> VPN -> IPSec VPN -> IKE VPN Configuration, naciskamy New, a następnie w oknie IKE VPN Configuration uzupełniamy następujące pola:
– Peer Name – nazwa węzła VPN, wskazujemy węzły zdefiniowane wcześniej (tu: „VPN_do_A” dla Hillstone A, patrz pkt. 2; oraz „VPN_do_B” dla Hillstone C; patrz pkt. 3)
– Name – obowiązkowa nazwa (tu: „tunel”) (*)
– P2 Proposal – metody szyfrowania i długości kluczy stosowane w drugiej fazie negocjowania połączenia. Wybieramy z listy predefiniowanych profili, chyba że w pkt. 1 zdefiniowaliśmy własne. Identyczne po obu stronach tunelu!
Pozostałe ustawienia (adresy, etc.) pozostawiamy puste lub domyślne.
(*) Nazwy węzłów/interfejsów/tuneli nie muszą się pokrywać. W podanym przykładzie są identyczne lub podobne dla wygody/porządku.
7. Przekierowanie ruchu w FireWallu brzegowym poprzez translację adresów sieciowych u źródła – SNAT (Hillstone B)
Wybieramy zakładkę Policy -> NAT -> SNAT [1], naciskamy New, a następnie w oknie SNAT Configuration uzupełniamy następujące pola:
– Virtual Router – router wirtualny (tu: „trust-vr”; domyślny)
– Source Address/Destination Address [3] – przekierowujemy dowolne wpisy adresowe („Address Entry”; „Any”)
– Ingress Traffic – wskazujemy na całą komunikację wejściową – „All Traffic” (*)
– Egress [3] – na wejściu wskazujemy interfejs wejściowy do sieci lokalnej (tu: „ethernet0/1”)
– Sticky [4] – włączamy (w sekcji Translated To)
Translację SNAT zatwierdzamy naciskając OK.
(*) W powyższym przykładzie zastane ustawienia SNAT nie kolidowały z pożądanymi. W praktyce można by ograniczyć ruch do wskazanego na schemacie interfejsu eth0/7.
8. Sprawdzenie poprawności zestawienia obu stron IPSec VPN
Wybieramy zakładkę Network -> VPN -> IPSec VPN -> IKE VPN Configuration [1], a następnie Configuration (prawy górny róg) -> IPSec VPN Monitor.
O poprawności połączenia informuje status „established” [2].