Кратко описаны типы VPN и передача маршрутов удаленным клиентам.
Проброс маршрутов удаленным клиентам:
- PPTP/L2TP/SSTP: proxy-arp, default gateway, cmak, static route, rip, классовая маршрутизация/vlsm;
- IPsec IKEv2: Split network;
- Open/VPN: Push route / Add route;
- WireGuard: AllowedIPs;
- Windows: Add-VpnConnectionRoute / Class-маршруты (10.0.0.0/8_8, 172.16.0.0/12_16 и 100.64.0.0/10_8);
Пример в Windows через PowerShell:
Маршрут будет автоматически добавляться при поднятии VPN интерфейса.
.> Get-VpnConnection
.> Add-VpnConnectionRoute -ConnectionName "vpn-name" -DestinationPrefix 100.64.100.0/24 -PassThru
.> Remove-VpnConnectionRoute -ConnectionName "vpn-name" -DestinationPrefix 100.64.100.0/24 -PassThru
PPPoE: - Point-to-point protocol over Ethernet:
- Режим: Туннельный
- Сетевой уровень: поверх L2
- Работа через NAT: -
- Порт: -
- MAC Протокол: 8863 (pppoe-discovery), 8864 (pppoe-session)
- Поддержка Bridge: -
Поддержка организации L2:
Например, с помощью EoIP, BCP, VXLAN, VPLS, L2TPv3, OpenVPN - mode ethernet.
EoIP - Ethernet over IP:
- Режим: Туннельный
- Сетевой уровень: поверх L3
- Работа через NAT: Нет (Белый IP Сервер/Клиент)
- Порт: -
- IP Протокол: 47(gre)
- Поддержка Bridge: Да
PPTP - Point-to-Point Tunneling Protocol:
- Режим: Туннельный
- Сетевой уровень: поверх L3
- Работа через NAT: Клиент + (Наличие белого IP у Сервера)
- Порт: 1723(tcp)
- IP Протокол: 47(gre)
- Поддержка Bridge: Нет/BCP*
L2TP - Layer 2 Tunneling Protocol:
- Режим: Туннельный
- Сетевой уровень: поверх L3
- Работа через NAT: Клиент + (Наличие белого IP у Сервера)
- Порт: 1701(udp)
- IP Протокол: 115(l2tp)
- Поддержка Bridge: Нет/BCP*
SSTP - Secure Socket Tunneling Protocol:
- Режим: Туннельный
- Сетевой уровень: поверх L3
- Работа через NAT: Клиент/Сервер + (Серый IP Сервер/Клиент)
- Порт: 443(tcp)
- IP Протокол: 6(TCP)
- Поддержка Bridge: Нет/BCP*
OpenVPN:
- Режим:
- Сетевой уровень: поверх L3
- Работа через NAT: Клиент + (Наличие белого IP у Сервера)
- Порт: 1194,443(tcp) + UDP начиная с ROS v7
- IP Протокол: 6(TCP), 17(udp)
- Поддержка Bridge: Да/Нет
*BCP - Bridge Control Protocol - Должен быть включен на стороне сервера и клиента.
Организация L3:
IPsec/IPsec IKEv2 - IP Security:
- Режим: Транспортный/Туннельный
- Сетевой уровень: поверх L3
- Работа через NAT: Клиент + (Наличие белого IP у Сервера)
- Порт: 500(udp) IKE, 4500(udp) NAT-Traversal
- IP Протокол: 50(ipsec-esp), 51(ipsec-ah)
- Поддержка Bridge: Нет
GRE - Generic Routing Encapsulation:
- Режим : Туннельный
- Сетевой уровень: поверх L3
- Работа через NAT: Нет (Белый IP Сервер/Клиент)
- Порт: -
- IP Протокол: 47(gre)
- Поддержка Bridge: Нет
IPIP - IP over IP:
- Режим: Туннельный
- Сетевой уровень: поверх L3
- Работа через NAT: Нет (Белый IP Сервер/Клиент)
- Порт: -
- IP Протокол: 94(ipip)
- Поддержка Bridge: Нет
WireGuard:
- Режим: Туннельный
- Сетевой уровень: поверх L3
- Работа через NAT: Клиент + (Наличие белого IP у Сервера)
- Порт: -
- IP Протокол: 17(udp)
- Поддержка Bridge: Нет
VPN over IPsec:
L2TP/IPsec:
Между белыми адресами туннельный трафик бегает по 50(ipsec-esp) протоколу, если где-то NAT - по udp/4500. Для обмена данными во время согласования IKE - применяется udp/500.
- Режим: Транспортный
- Сетевой уровень:
- Работа через NAT: Клиент + (Наличие белого IP у Сервера)
- Порт: 1701(udp), 500(udp), 4500(udp)
- IP Протокол: 50(ipsec-esp)
EoIP/GRE/IPIP +/IPsec:
- Режим: Транспортный
- Работа через NAT: Нет (Белый IP Сервер/Клиент)
EoIP/GRE/IPIP +/IPsec over PPTP/L2TP/SSTP:
- Работа через NAT: Клиент + (Наличие белого IP у Сервера)