Generic Routing Encapsulation (GRE) to protokół tunelowania dla wirtualnych sieci prywatnych, oparty o enkapsulację trasowania.
Aby tunelowanym informacjom zapewnić bezpieczeństwo, StoneOS zapenia obsługę GRE over IPSec.
Założenia
Załóżmy, że zamierzamy połączyć dwie sieci lokalne tunelem GRE VPN; według poniższego schematu: (*)
(*) – adresy z klasy 10.10.1.XX zostały użyte do celów testowych/laboratoryjnych. W praktyce, przy tunelowaniu odległych sieci lokalnych, w analogiczne miejsca wpisujemy adresy publiczne (routowalne).
1. Konfiguracja interfejsów (*)
Wybieramy zakładkę Network -> Interface, wskazujemy na interfejs który zamierzamy konfigurować i naciskamy Edit, a następnie w oknie Ethernet Interface ustawiamy opcje:
– Binding Zone [1] – strefa powiązana – (tu, dla wszystkich: “Layer 3 Zone”)
– Zone [2] – używamy stref predefiniowanych:
——“trust” (domyślna zaufana dla LAN; “ethernet0/3” w Hillstone A, “ethernet0/2” w Hillstone B)
——“untrust” (domyślna niezaufana dla WAN; “ethernet0/2” w Hillstone A, “ethernet0/1” w Hillstone B)
– Type – typ adresacji – (tu, dla wszystkich: “Static IP”)
– IP Address [3] – adres IP – według powyższego schematu lub poniższych zrzutów ekranu.
– Netmask [4] – maska sieciowa – (tu, dla wszystkich: “255.255.255.0”; 24-bitowa)
2. Ustalenie polityki zezwalającej na ruch sieciowy (Hillstone A i B)
Na obu urządzeniach wybieramy zakładkę Policy -> Security Policy -> Policy, naciskamy New -> Policy, a następnie w oknie Policy Configuration uzupełniamy pola:
– Source Zone – strefa źródłowa ruchu sieciowego – Any (dowolna)
– Source Address – adres źródłowy – Any (dowolny)
– Destination Zone – strefa docelowa ruchu sieciowego – Any (dowolna)
– Destination Address – adres docelowy – Any (dowolny)
– Service – dopuszczone usługi – Any (wszystkie)
3. Zdefiniowanie logicznych interfejsów tunelowych (Hillstone A i B)
Na obu urządzeniach wybieramy zakładkę Network -> Intreface [1], naciskamy ⊕New -> Tunnel Interface, a następnie w oknie Tunnel Interface ustawiamy:
– Interface Name [2] – numerowanie interfejsu o domyślnej nazwie „tunnel” (tu: „tunnel4”).
– Binding Zone [3] – typ przypisanej strefy (tu: „Layer 3 Zone”).
– Zone [4] – nazwa strefy (tu: „VPNHub”, domyślna dla VPN).
– Management [5] – zezwalamy na odpowiedzi PING.
– Tunnel Binding [6] – jeśli wcześniej wykonaliśmy pkt. 4, naciskamy ⊕New i przypisujemy profil GRE.
Interfejs tunelu zatwiedzamy naciskając [OK].
4. Profile GRE (Hillstone A i B)
Wybieramy zakładkę Network -> VPN -> GRE VPN [1], naciskamy New, a następnie w oknie GRE VPN Configuration:
– Name [2] – nazwa własna profilu GRE.
– Source Address Type/Source Interface/Source IP Address [3] – typ lokalnego źródła GRE (tu: interfejs „ethernet0/2” dla Hillstone A i „ethernet0/1” dla Hillstone B).
– Destination Address [4] – docelowy adres wyjściowy po przeciwnej stronie tunelu (tu: interfejs „10.10.1.2” dla Hillstone A i „10.10.1.1” dla Hillstone B).
– Egress Interface [5] – fizyczny interfejs wyjściowy (tu: interfejs „ethernet0/2” dla Hillstone A i „ethernet0/1” dla Hillstone B).
– Tunnel Interface [6] – interfejs tunelowy zdefiniowany w pkt. 3.
– Tunnel Interface Gateway [7] – aby GRE był otwarty na wszystkie adresy, wpisujemy wartości zerowe.
5. Routingi do enkapsulacji (Hillstone A i B)
Wybieramy zakładkę Network -> Routing -> Destination Route [1], naciskamy ⊕New, a następnie w oknie Destination Route Configuration ustawiamy:
– Virtual Router [2] – router wirtualny (tu: „trust-vr”; domyślny).
– Destination/Netmask [3] – adres i maska sieci lokalnej po przeciwnej stronie tunelu (zgodnie z założeniami „172.16.222.0/24” dla Hillstone A i „192.168.24.0/24” dla Hillstone B).
– Next-hop [4] – typ następnego punktu przeskoku dla trasowania (tu: „Interface”).
– Interface [5] – interfejs tunelowy zdefiniowany w pkt. 3.