From 26f8a97c213cf20bde5c7e238f1696dd74e04f47 Mon Sep 17 00:00:00 2001 From: shats Date: Thu, 22 Jan 2026 23:34:09 +0700 Subject: [PATCH] fix(NetworkConfigManager): update GRE tunnel configuration to use DNS domain for remote address if available, improving flexibility in server address handling --- frontend/src/NetworkConfigManager.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/NetworkConfigManager.jsx b/frontend/src/NetworkConfigManager.jsx index 76d9829..a7dbe32 100644 --- a/frontend/src/NetworkConfigManager.jsx +++ b/frontend/src/NetworkConfigManager.jsx @@ -1433,8 +1433,8 @@ function NetworkConfigManager() { // Для GRE туннелей - создаем туннель, опционально с IPSec через ipsec-secret if (iface.type === 'GRE') { - const remoteServerIp = iface.server2Info?.ip || iface.server2Name; - const localServerIp = server.ip || serverName; + // Используем DNS домен для remote-address, если он есть, иначе IP + const remoteAddress = iface.server2Info?.dns || iface.server2Info?.ip || iface.server2Name; // Проверяем наличие пароля: ipsecPasswordId должен быть не пустым и пароль должен быть загружен const hasIpsecPassword = iface.ipsecPasswordId && @@ -1445,12 +1445,12 @@ function NetworkConfigManager() { if (hasIpsecPassword) { // GRE туннель с IPSec через ipsec-secret (автоматическая настройка) code += `# Создание GRE туннеля с IPSec (автоматическая настройка через ipsec-secret)\n`; - code += `/interface gre add name="${iface.interfaceName}" remote-address=${remoteServerIp} local-address=${localServerIp} keepalive=10s ipsec-secret="${iface.ipsecPassword}"\n`; + code += `/interface gre add name="${iface.interfaceName}" remote-address=${remoteAddress} keepalive=10s ipsec-secret="${iface.ipsecPassword}"\n`; code += '\n'; } else { // GRE туннель без IPSec (голый GRE) code += `# Создание GRE туннеля (без IPSec)\n`; - code += `/interface gre add name="${iface.interfaceName}" remote-address=${remoteServerIp} local-address=${localServerIp} keepalive=10s\n`; + code += `/interface gre add name="${iface.interfaceName}" remote-address=${remoteAddress} keepalive=10s\n`; code += '\n'; } }