...
- адресация внутри туннеля – 110.0.0.0/30;
- порт подключения к серверу – 43020;
- адрес WireGuard-сервера внутри туннеля – 110.0.0.1.
Решение:
Создадим ключевую пару x25519, которая будет использоваться в работе WireGuard:
| Блок кода |
|---|
esr# crypto generate private-key x25519 filename wg_server_private.key esr# crypto generate public-key x25519 private-key wg_server_private.key filename wg_server_public.key |
Для успешной работы необходимо совершить обмен открытыми криптографическими ключами с удаленной стороной любым удобным способом. На данном этапе настройки открытым криптографическим ключом является файл с именем именем wg_server_public.key, который хранится в в crypto:public-key:
| Блок кода |
|---|
esr# show crypto certificates public-key File name -------------------------------------------------------------------------------------------------------------- wg_server_public.key |
Создадим object-group network со списком IP-адресов, которым будет разрешено прохождение через туннель:
| Блок кода |
|---|
esr(config)# object-group network WG_CLIENTS esr(config-object-group-network)# ip address-range 10.40.0.10-10.40.0.20 |
...
| Блок кода |
|---|
esr(config-wireguard-server)# peer 1 esr(config-wireguard-server-peer)# public-key wg_client_public.key esr(config-wireguard-server-peer)# access-addresses object-group WG_CLIENTS |
Для усиления криптостойкости установим заранее известный симметричный ключ:
| Блок кода |
|---|
esr(config-wireguard-server-peer)# pre-shared-key base64 r4u48oYTouJ+j1GrAtVWRIZqlQ2YLjEZEvc+Yttc6R4= |
...
| Блок кода |
|---|
esr# show remote-access counters wireguard server WG |
...
Очистить счётчики сессий WireGuard-сервера можно командой:
...
| Блок кода |
|---|
esr# show remote-access configuration wireguard WG |
| Scroll Pagebreak |
|---|
Пример настройки правил Firewall для совместной работы с WireGuard-сервером
...
Настроить правила Firewall таким образом, чтобы разрешить обращения клиентов на 80 порт сервера 10.50.0.10, остальное взаимодействие запретить.
Решение:
Создадим зоны безопасности WAN, SERVERS, WIREGUARD и назначим их на соответствующие интерфейсы и включим Firewall:
| Блок кода |
|---|
esr(config)# security zone WAN esr(config-security-zone)# exit esr(config)# security zone SERVERS esr(config-security-zone)# exit esr(config)# security zone WIREGUARD esr(config-security-zone)# exit esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# security-zone WAN esr(config-if-gi)# no ip firewall disable esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/2 esr(config-if-gi)# security-zone SERVERS esr(config-if-gi)# no ip firewall disable esr(config-if-gi)# exit esr(config)# remote-access wireguard WG esr(config-wireguard-server)# security-zone WIREGUARD esr(config-wireguard-server)# no ip firewall disable esr(config-wireguard-server)# exit |
...
