refactor(NetworkConfigManager): update GRE tunnel creation to use ipsec-secret for IPSec configuration; streamline code generation for improved clarity
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 1m39s
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 1m39s
This commit is contained in:
@@ -1129,7 +1129,7 @@ function NetworkConfigManager() {
|
||||
code += `# Local IP: ${iface.localIp}\n`;
|
||||
code += `# Remote IP: ${iface.remoteIp}\n`;
|
||||
|
||||
// Для GRE туннелей - создаем туннель, опционально с IPSec
|
||||
// Для GRE туннелей - создаем туннель, опционально с IPSec через ipsec-secret
|
||||
if (iface.type === 'GRE') {
|
||||
const remoteServerIp = iface.server2Info?.ip || iface.server2Name;
|
||||
const localServerIp = server.ip || serverName;
|
||||
@@ -1141,24 +1141,9 @@ function NetworkConfigManager() {
|
||||
iface.ipsecPassword.trim() !== '';
|
||||
|
||||
if (hasIpsecPassword) {
|
||||
// GRE туннель с IPSec
|
||||
code += `# Создание GRE туннеля с IPSec\n`;
|
||||
code += `/interface gre add name="${iface.interfaceName}" remote-address=${remoteServerIp} local-address=${localServerIp} keepalive=10s\n`;
|
||||
code += '\n';
|
||||
|
||||
// Создаем IPSec peer
|
||||
code += `# Настройка IPSec peer для ${iface.interfaceName}\n`;
|
||||
code += `/ip ipsec peer add name="${iface.interfaceName}-peer" address=${remoteServerIp}/32 local-address=${localServerIp} exchange-mode=ike2 passive=no\n`;
|
||||
code += '\n';
|
||||
|
||||
// Создаем IPSec identity
|
||||
code += `# Настройка IPSec identity для ${iface.interfaceName}\n`;
|
||||
code += `/ip ipsec identity add peer="${iface.interfaceName}-peer" auth-method=pre-shared-key secret="${iface.ipsecPassword}"\n`;
|
||||
code += '\n';
|
||||
|
||||
// Создаем IPSec policy
|
||||
code += `# Настройка IPSec policy для ${iface.interfaceName}\n`;
|
||||
code += `/ip ipsec policy add src-address=${iface.localIp}/30 dst-address=${iface.remoteIp}/30 sa-src-address=${localServerIp} sa-dst-address=${remoteServerIp} peer="${iface.interfaceName}-peer" tunnel=yes\n`;
|
||||
// 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 += '\n';
|
||||
} else {
|
||||
// GRE туннель без IPSec (голый GRE)
|
||||
|
||||
Reference in New Issue
Block a user