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  Linux karta sieciowa jak sprawdzić

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

Polecane wpisy
Jak zainstalować WordPress z LAMPem na Ubuntu
Jak zainstalować WordPress z LAMPem na Ubuntu

Jak zainstalować WordPress z LAMPem na Ubuntu – Kompletna instrukcja WordPress to jedna z najpopularniejszych platform do tworzenia stron internetowych Czytaj dalej

Przydatne Skrypty i Aliasy dla Efektywnego Korzystania z Terminala
Przydatne Skrypty i Aliasy dla Efektywnego Korzystania z Terminala

Terminal jest potężnym narzędziem, które pozwala na wykonywanie wielu zadań w systemie Linux. Jednak korzystanie z terminala może być czasem Czytaj dalej