WireGuard-клієнт

Встановіть необхідні пакунки. Вкажіть параметри конфігурації для VPN-клієнта:

# Встановити пакунки
opkg update
opkg install wireguard-tools
 
# Параметри конфігурації
VPN_IF="vpn"
VPN_SERV="АДРЕСА_СЕРВЕРА"
VPN_PORT="51820"
VPN_ADDR="192.168.9.2/24"
VPN_ADDR6="fd00:9::2/64"

Згенеруйте та обміняйтесь ключами між сервером і клієнтом:

# Генерація ключів
umask go=
wg genkey | tee wgserver.key | wg pubkey > wgserver.pub
wg genkey | tee wgclient.key | wg pubkey > wgclient.pub
wg genpsk > wgclient.psk
 
# Приватний ключ клієнта
VPN_KEY="$(cat wgclient.key)"
 
# Попередньо розділений ключ (PSK)
VPN_PSK="$(cat wgclient.psk)"
 
# Публічний ключ сервера
VPN_PUB="$(cat wgserver.pub)"

Вважаємо VPN-мережу загальнодоступною. Призначаємо інтерфейс VPN до зони WAN для мінімізації налаштувань файрвола:

# Налаштування файрвола
uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci del_list firewall.wan.network="${VPN_IF}"
uci add_list firewall.wan.network="${VPN_IF}"
uci commit firewall
service firewall restart

Налаштуйте VPN-інтерфейс та пірів:

# Налаштування мережі
uci -q delete network.${VPN_IF}
uci set network.${VPN_IF}="interface"
uci set network.${VPN_IF}.proto="wireguard"
uci set network.${VPN_IF}.private_key="${VPN_KEY}"
uci add_list network.${VPN_IF}.addresses="${VPN_ADDR}"
uci add_list network.${VPN_IF}.addresses="${VPN_ADDR6}"
 
# Додати пір (сервер)
uci -q delete network.wgserver
uci set network.wgserver="wireguard_${VPN_IF}"
uci set network.wgserver.public_key="${VPN_PUB}"
uci set network.wgserver.preshared_key="${VPN_PSK}"
uci set network.wgserver.endpoint_host="${VPN_SERV}"
uci set network.wgserver.endpoint_port="${VPN_PORT}"
uci set network.wgserver.persistent_keepalive="25"
uci set network.wgserver.route_allowed_ips="1"
uci add_list network.wgserver.allowed_ips="0.0.0.0/0"
uci add_list network.wgserver.allowed_ips="::/0"
uci commit network
service network restart

Вирішіть проблеми гонки (race conditions) та за потреби налаштуйте динамічне підключення.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/06/06 12:54
  • by vazaz