...
Настроить WireGuard-сервер на маршрутизаторе для подключения удаленных пользователей к серверам организации.
- адресация внутри туннеля – 10.10.10туннеля – 110.0.0.0/2430;
- порт подключения к серверу – 43020;
- адрес WireGuard-сервера внутри туннеля – 10110.100.100.1.
Решение:
Предварительно нужно выполнить следующие действия:
- загрузить на ESR приватный ключ сервера и публичный ключ клиента;
- создать object-group network, в которой будет указан список IP-адресов, которым будет разрешено проходить через туннель.
Импортируйте по tftp приватный ключ сервера и публичный ключ клиентаСоздадим ключевую пару x25519, которая будет использоваться в работе WireGuard:
| Блок кода |
|---|
esr# copy tftp://192.168.16.10:/server.priv crypto:private-key/server.priv esr# copy tftp://192.168.16.10:/client.pub crypto:public-key/client.pubcrypto 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 со списком Создайте object-group network, в которой будет указан список IP-адресов, которым будет разрешено проходить прохождение через туннель:
| Блок кода |
|---|
esr(config)# object-group network clientWG_wgCLIENTS esr(config-object-group-network)# ip address-range 10.40.0.10-10.1040.0.220 |
Создайте профиль WireGuard-сервера, задайте локальный адрес сервера, порт для прослушивания и выставьте MTU:
| Блок кода |
|---|
esr(config)# remote-access wireguard WG esr(config-wireguard-server)# local-address 10110.100.100.1/2430 esr(config-wireguard-server)# port 43020 esr(config-wireguard-server)# mtu 1420 |
...
| Блок кода |
|---|
esr(config-wireguard-server)# private-key wg_server_private.privkey esr(config-wireguard-server)# ip firewall disable |
...
| Блок кода |
|---|
esr(config-wireguard-server)# peer 1 esr(config-wireguard-server-peer)# public-key wg_client_public.pubkey esr(config-wireguard-server-peer)# access-addresses object-group client_wgWG_CLIENTS |
Для усиления криптостойкости установим заранее известный симметричный ключ:
| Блок кода |
|---|
esr(config-wireguard-server-peer)# pre-shared-key base64 r4u48oYTouJ+j1GrAtVWRIZqlQ2YLjEZEvc+Yttc6R4= |
Включите туннель и WireGuard-сервер:
...
