Konfiguracja tuneli VPN z wykorzystaniem policy-based routing (PBR)
Policy-Based Routing (PBR) to zaawansowana technika umożliwiająca elastyczne zarządzanie ruchem sieciowym na podstawie określonych polityk. PBR pozwala na kierowanie pakietów w tunelach VPN na podstawie różnych parametrów, takich jak adresy IP źródłowe, docelowe, porty czy protokoły. Tego typu konfiguracja pozwala na precyzyjne kontrolowanie, przez które tunel VPN przechodzi dany ruch, co jest szczególnie użyteczne w rozbudowanych sieciach, które wymagają specjalnych reguł routingu.
W tym artykule omówimy:
- Jak ustawić routing na podstawie polityk w tunelach VPN
- Jak kierować ruch na podstawie adresów źródłowych, docelowych, portów i protokołów
- Zastosowanie PBR do selektywnego kierowania ruchem przez różne tunele VPN
1. Co to jest Policy-Based Routing (PBR)?
Policy-Based Routing to technika, która pozwala na określenie, jak pakiety danych są kierowane w sieci, na podstawie zdefiniowanych reguł (polityk). Zamiast polegać wyłącznie na tradycyjnych trasach w tabeli routingu, PBR pozwala na kierowanie ruchu na podstawie dodatkowych informacji, takich jak:
- Adresy źródłowe i docelowe
- Porty TCP/UDP
- Protokół
- Inne cechy pakietu
PBR jest wykorzystywane w tunelach VPN, aby zapewnić, że różne rodzaje ruchu są kierowane przez odpowiednie tunele VPN, co zwiększa elastyczność oraz bezpieczeństwo.

2. Ustawienie routingu na podstawie polityk w tunelach VPN
🔹 Wstęp do konfiguracji PBR w tunelach VPN
Aby wykorzystać Policy-Based Routing (PBR) w konfiguracji tuneli VPN, trzeba przygotować odpowiednie reguły, które będą analizować parametry pakietów i kierować je do określonych tuneli. PBR pozwala na zastosowanie reguł na poziomie pakietów, co pozwala na pełną kontrolę nad trasami.
Przykład ogólnych kroków konfiguracji PBR:
- Tworzenie i definiowanie reguł routingu
Pierwszym krokiem jest określenie polityk routingu, które będą bazować na adresach IP źródłowych, docelowych lub portach. Można to zrobić przy pomocy narzędzi takich jakip rule
w systemie Linux. - Tworzenie tuneli VPN
W kolejnym etapie, należy skonfigurować odpowiednie tunele VPN. Może to być na przykład IPsec, OpenVPN, lub WireGuard, w zależności od wymagań sieci. - Tworzenie tabel routingu dla PBR
Dla każdej polityki routingu należy stworzyć osobną tabelę routingu, w której określimy, przez jaki tunel VPN mają przechodzić pakiety spełniające dane kryteria. - Implementacja reguł PBR
Po stworzeniu tuneli i tabel routingu, używamy komend takich jakip rule
do zdefiniowania reguł, które wskazują, jak pakiety mają być kierowane.
🔹 Przykład konfiguracji PBR dla tunelu IPsec
Załóżmy, że chcemy skonfigurować PBR w celu kierowania ruchu o określonych parametrach przez tunel IPsec. Załóżmy, że mamy dwa różne tunele IPsec i chcemy, aby ruch z adresów źródłowych z sieci 192.168.1.0/24 przechodził przez pierwszy tunel, a reszta ruchu przez drugi.
- Tworzenie dwóch tabel routingu:
echo "100 vpn1" >> /etc/iproute2/rt_tables
echo "200 vpn2" >> /etc/iproute2/rt_tables
- Ustawienie tras w tabelach routingu:
ip route add 0.0.0.0/0 dev tun0 table vpn1
ip route add 0.0.0.0/0 dev tun1 table vpn2
- Dodanie reguł routingu:
ip rule add from 192.168.1.0/24 table vpn1
ip rule add from 0.0.0.0/0 table vpn2
- Sprawdzenie konfiguracji:
ip rule show
ip route show table vpn1
ip route show table vpn2
3. Kierowanie ruchu na podstawie adresów źródłowych i docelowych, portów lub protokołów
🔹 Routing na podstawie adresów źródłowych i docelowych
PBR pozwala na precyzyjne kierowanie ruchem, uwzględniając adresy IP źródłowe i docelowe. Działa to szczególnie dobrze, gdy chcemy, aby ruch z określonych podsieci lub urządzeń przechodził przez różne tunele VPN.
Przykład:
Ruch z adresów 192.168.1.0/24 ma przechodzić przez tunel1, a ruch z 192.168.2.0/24 przez tunel2. Aby to skonfigurować:
ip rule add from 192.168.1.0/24 table vpn1
ip rule add from 192.168.2.0/24 table vpn2
🔹 Routing na podstawie portów lub protokołów
Możesz również ustawić polityki routingu na podstawie portów TCP/UDP lub protokołów. Na przykład, jeżeli chcesz, aby tylko ruch HTTP (port 80) przechodził przez jeden tunel, a cała reszta przez inny:
ip rule add from 192.168.1.0/24 to 0.0.0.0/0 sport 80 table vpn1
ip rule add from 192.168.1.0/24 to 0.0.0.0/0 sport 443 table vpn2
🔹 Zastosowanie PBR do selektywnego kierowania ruchem przez różne tunele VPN
Dzięki PBR możesz w prosty sposób skonfigurować różne tuneli VPN, aby przekazywały różny typ ruchu, zależnie od jego cech. Może to obejmować:
- Ruch wewnętrzny: Ruch między różnymi segmentami sieci (np. przez tunel VPN dedykowany dla połączeń z danym działem).
- Ruch zewnętrzny: Zewnętrzni użytkownicy mogą korzystać z różnych tuneli w zależności od ich adresu IP czy portu.
Przykład:
Aby kierować ruch przez różne tunele na podstawie portów (HTTP vs. HTTPS):
ip rule add from 192.168.1.0/24 sport 80 table vpn1
ip rule add from 192.168.1.0/24 sport 443 table vpn2
4. Korzyści z wykorzystania PBR w tunelach VPN
🔹 Elastyczność w zarządzaniu ruchem VPN
PBR pozwala na bardzo precyzyjne sterowanie ruchem przez tunel VPN, co daje administratorom pełną kontrolę nad tym, jak i gdzie ma być przesyłany ruch.
🔹 Zwiększenie bezpieczeństwa
Wykorzystanie różnych tuneli dla różnych typów ruchu może poprawić bezpieczeństwo sieci. Na przykład, poufne dane mogą być przesyłane przez bardziej zabezpieczony tunel VPN, a mniej krytyczny ruch przez inny.
🔹 Optymalizacja wydajności
Selektywne kierowanie ruchem w tunelach VPN pozwala na optymalizację pasma i zasobów, szczególnie w przypadku dużych sieci z różnorodnymi wymaganiami.
5. Podsumowanie
Policy-Based Routing (PBR) to bardzo potężna technika, która pozwala na pełną kontrolę nad ruchem w sieci VPN. Dzięki możliwości kierowania pakietów na podstawie wielu różnych parametrów (adresów IP, portów, protokołów), PBR jest idealnym rozwiązaniem w przypadku zaawansowanych implementacji VPN, które wymagają elastyczności i precyzyjnego zarządzania ruchem. Użycie PBR w tunelach VPN pozwala na:
- Lepszą kontrolę nad ruchem sieciowym
- Zwiększoną elastyczność w routingu
- Zwiększenie bezpieczeństwa i optymalizację zasobów