Konfiguracja OpenVPN w trybie site-to-site – bezpieczne połączenie między sieciami
Linux

Konfiguracja OpenVPN w trybie site-to-site – bezpieczne połączenie między sieciami

Konfiguracja OpenVPN w trybie site-to-site – bezpieczne połączenie między sieciami

OpenVPN to jedno z najpopularniejszych i najbezpieczniejszych rozwiązań VPN. Tryb site-to-site pozwala na bezpośrednie połączenie dwóch oddzielnych sieci lokalnych, umożliwiając swobodny przepływ danych między nimi.

W tym artykule pokażemy:
Jak skonfigurować OpenVPN w trybie site-to-site
Jak wygenerować certyfikaty i klucze dla serwera oraz klienta
Jak skonfigurować routing i przekierowanie ruchu między sieciami


1. Jak działa OpenVPN w trybie site-to-site?

W trybie site-to-site serwer VPN i klient VPN działają jako routery, tunelując cały ruch między dwiema sieciami lokalnymi.

🔹 Serwer OpenVPN: znajduje się w jednej sieci i nasłuchuje połączeń od klientów.
🔹 Klient OpenVPN: znajduje się w drugiej sieci i łączy się z serwerem, przekierowując ruch między podsieciami.

Konfiguracja OpenVPN w trybie site-to-site – bezpieczne połączenie między sieciami
Konfiguracja OpenVPN w trybie site-to-site – bezpieczne połączenie między sieciami

📌 Przykładowy schemat połączenia:

[LAN 1] — (192.168.1.0/24) — [Serwer OpenVPN] — INTERNET — [Klient OpenVPN] — (192.168.2.0/24) — [LAN 2]

2. Instalacja OpenVPN

📢 Na Debian/Ubuntu:

sudo apt update
sudo apt install openvpn easy-rsa

📢 Na CentOS/RHEL:

sudo yum install epel-release
sudo yum install openvpn easy-rsa

3. Generowanie certyfikatów i kluczy

OpenVPN wykorzystuje certyfikaty do szyfrowania ruchu.

📌 Przechodzimy do katalogu Easy-RSA:

cd /etc/openvpn/
mkdir easy-rsa
ln -s /usr/share/easy-rsa/* easy-rsa/
cd easy-rsa

📌 Inicjalizujemy Easy-RSA:

./easyrsa init-pki

📌 Tworzymy certyfikat CA:

./easyrsa build-ca

📌 Generujemy certyfikat i klucz serwera:

./easyrsa gen-req server nopass
./easyrsa sign-req server server

📌 Tworzymy klucz Diffie-Hellmana (do szyfrowania):

./easyrsa gen-dh

📌 Generujemy certyfikat i klucz klienta:

./easyrsa gen-req client nopass
./easyrsa sign-req client client

Pliki server.crt, server.key, ca.crt i dh.pem przenosimy do /etc/openvpn/server/, a pliki klienta do /etc/openvpn/client/.


4. Konfiguracja serwera OpenVPN

📢 Tworzymy plik konfiguracyjny serwera:

sudo nano /etc/openvpn/server.conf

📌 Dodajemy konfigurację:

port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key
dh /etc/openvpn/server/dh.pem
server 10.8.0.0 255.255.255.0
push "route 192.168.2.0 255.255.255.0"
keepalive 10 120
tls-auth /etc/openvpn/server/ta.key 0
cipher AES-256-CBC
auth SHA256
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

📌 Uruchamiamy OpenVPN:

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

📢 Sprawdzamy status:

sudo systemctl status openvpn@server

5. Konfiguracja klienta OpenVPN (druga sieć)

📢 Tworzymy plik /etc/openvpn/client.conf na kliencie:

client
dev tun
proto udp
remote SERWER_VPN_IP 1194
ca /etc/openvpn/client/ca.crt
cert /etc/openvpn/client/client.crt
key /etc/openvpn/client/client.key
tls-auth /etc/openvpn/client/ta.key 1
cipher AES-256-CBC
auth SHA256
persist-key
persist-tun
verb 3

📌 Uruchamiamy OpenVPN na kliencie:

sudo systemctl start openvpn@client
sudo systemctl enable openvpn@client

📢 Sprawdzamy status:

sudo systemctl status openvpn@client

6. Konfiguracja routingu między sieciami

📌 Na serwerze włączamy przekazywanie pakietów:

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

📌 Dodajemy reguły iptables (serwer VPN):

sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

📌 Na kliencie dodajemy trasę do drugiej sieci:

sudo route add -net 192.168.1.0/24 gw 10.8.0.1

7. Testowanie połączenia site-to-site

📌 Sprawdzamy tunel VPN:

ip a | grep tun

📌 Pingujemy urządzenia w drugiej sieci:

ping 192.168.1.1
ping 192.168.2.1

📢 Jeśli odpowiedzi wracają, połączenie site-to-site działa poprawnie! 🎉

Czytaj  Instalowanie pakietów w systemie Linux

8. Podsumowanie

OpenVPN w trybie site-to-site pozwala na połączenie dwóch sieci przez VPN.
Generowanie certyfikatów i kluczy zapewnia bezpieczeństwo transmisji.
Routing i przekierowanie pakietów umożliwia komunikację między urządzeniami.
OpenVPN to elastyczne i bezpieczne rozwiązanie VPN dla firm i sieci domowych.

📌 Teraz Twoje dwie sieci są bezpiecznie połączone przez OpenVPN!

Polecane wpisy
Jak sprawdzić uprawnienia użytkownika w systemie Linux
Jak sprawdzić uprawnienia użytkownika w systemie Linux

Jak sprawdzić uprawnienia użytkownika w systemie Linux Uprawnienia użytkownika w systemie Linux określają, jakie operacje użytkownik może wykonywać na plikach Czytaj dalej

Konfiguracja tuneli VPN z wykorzystaniem SD-WAN (Software-Defined Wide Area Network)
Konfiguracja tuneli VPN z wykorzystaniem SD-WAN (Software-Defined Wide Area Network)

Konfiguracja tuneli VPN z wykorzystaniem SD-WAN (Software-Defined Wide Area Network) SD-WAN (Software-Defined Wide Area Network) to nowoczesna technologia sieciowa, która Czytaj dalej