Konfiguracja GRE z IPsec – Kompletny przewodnik
Linux

Konfiguracja GRE z IPsec – Kompletny przewodnik

Konfiguracja GRE z IPsec – Kompletny przewodnik

GRE (Generic Routing Encapsulation) to protokół umożliwiający enkapsulację pakietów różnych protokołów wewnątrz pakietów IP. Sam GRE nie zapewnia szyfrowania, dlatego w celu zabezpieczenia ruchu dodajemy warstwę IPsec.

W tym artykule pokażę, jak skonfigurować tunel GRE z szyfrowaniem IPsec na systemach Linux (Debian/Ubuntu/CentOS).

Dowiesz się:
Jak skonfigurować interfejsy GRE
Jak zabezpieczyć tunel GRE przy użyciu IPsec
Jak testować i monitorować tunel


1. Instalacja wymaganych pakietów

📢 Na Debian/Ubuntu:

sudo apt update
sudo apt install iproute2 strongswan

📢 Na CentOS/RHEL:

sudo yum install iproute2 strongswan

2. Konfiguracja interfejsów GRE

Założenia:
🔹 Serwer 1: 192.168.1.1 (publiczny adres IP)
🔹 Serwer 2: 192.168.2.1 (publiczny adres IP)
🔹 Tunel GRE: 10.10.10.1 (Serwer 1) ↔ 10.10.10.2 (Serwer 2)

Konfiguracja GRE na Serwerze 1

Konfiguracja GRE z IPsec – Kompletny przewodnik
Konfiguracja GRE z IPsec – Kompletny przewodnik

📢 Tworzymy interfejs GRE:

sudo ip tunnel add gre1 mode gre remote 192.168.2.1 local 192.168.1.1 ttl 255
sudo ip addr add 10.10.10.1/30 dev gre1
sudo ip link set gre1 up

📢 Dodajemy trasę:

sudo ip route add 10.10.10.2 via 10.10.10.1 dev gre1

📌 Sprawdzamy status interfejsu:

ip addr show gre1

Konfiguracja GRE na Serwerze 2

📢 Tworzymy interfejs GRE:

sudo ip tunnel add gre1 mode gre remote 192.168.1.1 local 192.168.2.1 ttl 255
sudo ip addr add 10.10.10.2/30 dev gre1
sudo ip link set gre1 up

📢 Dodajemy trasę:

sudo ip route add 10.10.10.1 via 10.10.10.2 dev gre1

📌 Sprawdzamy status interfejsu:

ip addr show gre1

📌 Testujemy GRE (pingujemy drugi serwer):

ping 10.10.10.1  # Z serwera 2
ping 10.10.10.2  # Z serwera 1

3. Konfiguracja IPsec do szyfrowania tunelu GRE

Konfiguracja IPsec na obu serwerach

📢 Edytujemy /etc/ipsec.conf:

sudo nano /etc/ipsec.conf

📌 Dodajemy konfigurację:

config setup
    charondebug="ike 2, knl 2, cfg 2"

conn GRE-IPsec
    authby=secret
    auto=start
    keyexchange=ikev2
    left=192.168.1.1
    right=192.168.2.1
    type=transport
    esp=aes256-sha256
    ike=aes256-sha256-modp2048
    leftprotoport=47
    rightprotoport=47

📢 Edytujemy /etc/ipsec.secrets:

sudo nano /etc/ipsec.secrets

📌 Dodajemy wpis:

192.168.1.1 192.168.2.1 : PSK "SuperSilneHaslo"

📌 Restartujemy IPsec:

sudo systemctl restart strongswan
sudo systemctl enable strongswan

📢 Sprawdzamy status IPsec:

sudo ipsec status

📌 Sprawdzamy, czy tunel GRE działa przez IPsec:

sudo ip xfrm state

📌 Testujemy tunel GRE z szyfrowaniem:

ping 10.10.10.2 -I 10.10.10.1

4. Dodanie reguł iptables (zapory sieciowej)

📢 Umożliwiamy ruch GRE oraz IPsec:

sudo iptables -A INPUT -p gre -j ACCEPT
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
sudo iptables -A INPUT -p esp -j ACCEPT
sudo iptables -A FORWARD -i gre1 -j ACCEPT

📢 Zapisujemy reguły:

sudo apt install iptables-persistent
sudo netfilter-persistent save

5. Automatyczne uruchamianie tunelu GRE i IPsec po restarcie

📢 Tworzymy skrypt startowy:

sudo nano /etc/network/if-up.d/gre-ipsec

📌 Dodajemy zawartość:

#!/bin/bash
ip tunnel add gre1 mode gre remote 192.168.2.1 local 192.168.1.1 ttl 255
ip addr add 10.10.10.1/30 dev gre1
ip link set gre1 up
ip route add 10.10.10.2 via 10.10.10.1 dev gre1
ipsec restart

📢 Nadajemy uprawnienia do wykonywania:

sudo chmod +x /etc/network/if-up.d/gre-ipsec

6. Testowanie i monitorowanie

📢 Sprawdzamy status tunelu GRE:

ip tunnel show
ip addr show gre1

📢 Sprawdzamy status IPsec:

ipsec statusall

📢 Sprawdzamy szyfrowanie ruchu GRE:

sudo ip xfrm state

📢 Pingujemy tunel:

ping 10.10.10.2 -I 10.10.10.1

7. Podsumowanie

GRE zapewnia wsparcie dla różnych protokołów, a IPsec dodaje bezpieczeństwo
Uwierzytelnienie i szyfrowanie IPsec chronią dane przed podsłuchem
Łatwa konfiguracja i zarządzanie interfejsami GRE oraz regułami IPsec
Skalowalność i wsparcie dla wielu połączeń GRE/IPsec

Czytaj  Systemy operacyjne, Microsoft Windows, Linux, MacOS, Unix

🎯 Po wdrożeniu tej konfiguracji masz w pełni funkcjonalny, szyfrowany tunel GRE przez IPsec!

Polecane wpisy
Użyj silnych haseł Linux
Użyj silnych haseł Linux

Użyj silnych haseł Linux Hasła są pierwszą linią obrony przed nieautoryzowanym dostępem do serwera Linux. Silne hasło jest trudne do Czytaj dalej

Konfiguracja tuneli VPN z wykorzystaniem StrongSwan – Kompletny przewodnik
Konfiguracja tuneli VPN z wykorzystaniem StrongSwan – Kompletny przewodnik

Konfiguracja tuneli VPN z wykorzystaniem StrongSwan – Kompletny przewodnik StrongSwan to jedna z najpopularniejszych implementacji IPsec VPN na systemach Linux. Czytaj dalej