настройка wireguard
set interfaces wireguard wg1 description
set interfaces wireguard wg1 address x.x.x.x/x
set interfaces wireguard wg1 peer to-wg0 address y.y.y.y
set interfaces wireguard wg1 peer to-wg0 allowed-ips z.z.z.z/z
set interfaces wireguard wg1 peer to-wg0 public-key публичный_ключ2
set interfaces wireguard wg1 peer to-wg0 port порт_подключения
set interfaces wireguard wg1 peer persistent-keepalive интервал
set interfaces wireguard wg1 private-key приватный_ключ1
где:
- x.x.x.x/x - адрес внутри туннеля на нашей стороне
- y.y.y.y - адрес к которому мы подключаемся для установки туннеля
- z.z.z.z/z - сеть (может быть несколько) с которой разрешаются пакеты (маршруты при этом не прокидываются, в отличии от debian или других клиентов)
- публичный_ключ2 - публичный ключ от закрытого ключа с другого конца (не от нашего!!!)
- порт_подключения - порт, на который мы подключаемся к хосто y.y.y.y
- интервал - интервал для поддержания туннеля, чтобы при обрыве он восстановился
- приватный_ключ1 - закрытый ключ от нашего узла
Точно такая же настройка требуется на другой стороне, только там надо сгенерировать закрытый ключ и перекинуть туда наш открытый (сгенерированный на основе нашего закрытого ключа)
Генерирование ключа можно произвести на любой машине, где стоит wg, в том числе и на самом vyos. Для генерирования приватного ключа используется команда wg genkey Для генерирования публичного ключа из стандартного ввода вывода wg pubkey Для упрощения жизни можно сгенерировать закрытый ключ в файл (wg genkey > /tmp/priv.key) а затем вывести из него ключ в стандартный ввод-вывод и сгенерировать открытую часть (echo /tmp/priv.key | wg pubkey > /tmp/pub.key) Далее можно открытую часть закинуть на другую сторону, а закрытую использовать в своём конфиге.