...
| Блок кода | ||
|---|---|---|
| ||
ESR-1(config)# security zone-pair WAN DMZ ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# match destination-nat ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Настройка сервера удаленного доступа к корпоративной сети по WireGuard-протоколу
WireGuard – простой, быстрый и современный VPN, использующий современную криптографию (ChaCha20, Poly1305, Curve25519, BLAKE2s, SipHash24, HKDF). WireGuard надежно инкапсулирует IP-пакеты поверх UDP. В основе WireGuard лежит концепция под названием «Маршрутизация криптоключей», которая работает путем связывания открытых ключей со списком IP-адресов туннеля, разрешенным находиться внутри туннеля. Каждый сетевой интерфейс имеет закрытый ключ и список пиров. У каждого узла есть открытый ключ. Открытые ключи короткие и простые и используются узлами для аутентификации друг друга. Их можно передавать для использования в файлах конфигурации любым внешним методом аналогично тому, как можно отправить открытый ключ SSH для доступа к серверу.
С алгоритмом настройки можно ознакомиться по ссылке в разделе: Алгоритм настройки сервера удаленного доступа к корпоративной сети по WireGuard-протоколу.
Пример настройки сервера удаленного доступа по WireGuard-протоколу с общим IP-адресом
Задача:
Настроить WireGuard-сервер на кластере маршрутизаторов ESR для подключения удаленных пользователей к ЛВС.
- адресация внутри туннеля – 128.66.100.0/24;
- VRRP адрес WireGuard-сервера внутри туннеля – 128.66.100.1;
- порт подключения к серверу – 43020.
Исходная конфигурация кластера:
| Блок кода | ||
|---|---|---|
| ||
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/2
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
exit
interface gigabitethernet 1/0/3
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
exit
interface gigabitethernet 2/0/3
mode switchport
spanning-tree disable
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
exit |
Решение:
Сконфигурируем необходимые сетевые интерфейсы:
| Блок кода |
|---|
ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# ip address 203.0.113.254/24
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# ip address 203.0.113.253/24
ESR-1(config-if-gi)# exit |
Сконфигурируем зону безопасности WAN и зону безопасности SSH_ACCESS, настроем firewall для приема маршрутизатором WireGuard-трафика из зоны безопасности WAN, а также разрешим прохождение трафика из зоны SSH_ACCESS в зону LAN по протоколу SSH:
| Блок кода |
|---|
ESR-1(config)# object-group service ssh
ESR-1(config-object-group-service)# port-range 22
ESR-1(config-object-group-service)# exit
ESR-1(config)# object-group service wireguard
ESR-1(config-object-group-service)# port-range 43020
ESR-1(config-object-group-service)# exit
ESR-1(config)# security zone WAN
ESR-1(config-security-zone)# exit
ESR-1(config)# security zone SSH_ACCESS
ESR-1(config-security-zone)# exit
ESR-1(config)# security zone-pair WAN self
ESR-1(config-security-zone-pair)# rule 1
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol vrrp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# rule 2
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol ah
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# rule 3
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol icmp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# rule 4
ESR-1(config-security-zone-pair-rule)# match protocol tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group wireguard
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit
ESR-1(config)# security zone-pair SSH_ACCESS LAN
ESR-1(config-security-zone-pair)# rule 1
ESR-1(config-security-zone-pair-rule)# match protocol tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group ssh
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit |
Укажем принадлежность интерфейсов к зоне безопасности:
| Блок кода |
|---|
ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# security-zone WAN
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# security-zone WAN
ESR-1(config-if-gi)# exit |
Настроем vrrp адрес на интерфейсе, с которого в дальнейшем будем принимать и отправлять WireGuard трафик:
| Блок кода |
|---|
ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# vrrp id 4
ESR-1(config-if-gi)# vrrp ip 203.0.113.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
ESR-1(config-if-gi)# vrrp authentication algorithm md5
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# vrrp id 4
ESR-1(config-if-gi)# vrrp ip 203.0.113.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
ESR-1(config-if-gi)# vrrp authentication algorithm md5
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit |
Настроим object-group с пулом адресов клиентов для подключения к WireGuard серверу:
| Блок кода |
|---|
ESR-1(config)# object-group network client_pool
ESR-1(config-object-group-network)# ip address-range 128.66.100.10-128.66.100.20
ESR-1(config-object-group-network)# exit |
Сконфигурируем WireGuard сервер, укажем его принадлежность к зоне SSH_ACCESS, настроим mtu, port, локальный адрес:
| Блок кода |
|---|
ESR-1(config)# remote-access wireguard wg
ESR-1(config-wireguard-server)# security-zone SSH_ACCESS |
Настроем WireGuard сервер, укажем mtu, port, локальный адрес, а также укажем приватный ключ сервера:
| Блок кода |
|---|
ESR-1(config-wireguard-server)# mtu 1420
ESR-1(config-wireguard-server)# port 43020
ESR-1(config-wireguard-server)# local-address 128.66.100.1/24
ESR-1(config-wireguard-server)# private-key server.priv |
Перейдем в настройку peer, укажем разрешенные адреса клиентов, а также публичный клиентский ключ, после чего включим peer:
| Блок кода |
|---|
ESR-1(config-wireguard-server)# peer 1
ESR-1(config-wireguard-server-peer)# access-addresses object-group client1
ESR-1(config-wireguard-server-peer)# public-key client.pub
ESR-1(config-wireguard-server-peer)# enable
ESR-1(config-wireguard-server-peer)# exit |
Включим WireGuard сервер:
| Блок кода |
|---|
ESR-1(config-wireguard-server)# enable
ESR-1(config-wireguard-server)# exit |
Применим конфигурацию на Active устройстве.
Информацию о WireGuard
Настройка BGP
Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (далее АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.
...
Пример настройки eBGP с общим IP-адресом
Задача:
Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
...
Рисунок 7 — Схема реализации eBGP с общим IP-адресом
Исходная конфигурация кластера:
| Блок кода | ||
|---|---|---|
| ||
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/2
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
exit
interface gigabitethernet 1/0/3
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
exit
interface gigabitethernet 2/0/3
mode switchport
spanning-tree disable
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
exit |
Решение:
Сконфигурируем необходимые сетевые интерфейсы:
...
Пример настройки eBGP с каждым участником кластера по индивидуальным IP-адресам
Задача:
Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
...
| Блок кода | ||
|---|---|---|
| ||
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/2
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
exit
interface gigabitethernet 1/0/3
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
exit
interface gigabitethernet 2/0/3
mode switchport
spanning-tree disable
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
exit |
Решение:
Сконфигурируем необходимые сетевые интерфейсы:
...