Я намагався налаштувати Root Server у загальнодоступному Інтернеті за допомогою StrongSwan, щоб використовувати його як VPN-сервер. План полягає в тунелі всього Інтернет-трафіку для деяких пристроїв через цей сервер. Я також встановив сервер OpenVPN для того самого, який працює добре, але деякі пристрої підтримують IPSec лише тому мені це потрібно, тому, будь ласка, не підкажете використовувати OpenVPN замість цього;) Проблема, з якою я стикаюся, полягає в тому, що спілкування між клієнтом і сервером це призводить до тайм-ауту незалежно від того, якого клієнта я використовую. У серверних журналах при спробі підключення я отримую багато таких повідомлень:
Feb 22 16:05:30 htzsv001 charon: 14[IKE] retransmit 5 of request with message ID 0
Перебуваючи на клієнті, я або взагалі нічого не отримую, або помилка 0x2027, що стосується Timeout від того, що я знайшов в Інтернеті. Основна користь - підключення маршрутизатора FritzBox до VPN, тому дозвольте мені показати, що тут налаштовано конфігурацію, хоча інші конфігурації явно виглядають по-різному, і оскільки я отримую проблему на всіх пристроях, я вважаю, що це більш загальна проблема або проблема з конфігурацією сервера.
Налаштування сервера:
# ipsec.conf - strongSwan IPsec configuration file
config setup
conn %default
left=VPN Server fqdn
leftsubnet=0.0.0.0
authby=secret
auto=start
conn avm2swan
ike=aes256-sha-modp1024
esp=aes256-sha1-modp1024
right=DynDNS Of my Home
rightid=DynDNS Of my Home
rightsubnet=192.168.0.0/24
ikelifetime=3600s
keylife=3600s
На FritzBox я імпортував таку конфігурацію:
vpncfg {
connections {
enabled = yes;
editable = no;
conn_type = conntype_lan;
name = Server fqdn;
boxuser_id = 0;
always_renew = yes;
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 0.0.0.0;
remote_virtualip = 0.0.0.0;
remotehostname = Server fqdn;
keepalive_ip = 0.0.0.0;
localid {
fqdn = DynDNS Of my Home;
}
remoteid {
fqdn = Server Hostname;
}
mode = phase1_mode_idp;
phase1ss = "all/all/all";
keytype = connkeytype_pre_shared;
key = "Password set in ipsec.secrets";
cert_do_server_auth = no;
use_nat_t = yes;
use_xauth = no;
use_cfgmode = no;
phase2localid {
ipnet {
ipaddr = 192.168.0.0;
mask = 255.255.255.0;
}
}
phase2remoteid {
ipnet {
ipaddr = Server IP;
mask = 255.255.255.192;
}
}
phase2ss = "esp-all-all/ah-none/comp-all/pfs";
accesslist = "permit ip any 192.168.0.0 255.255.255.0";
}
ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
"udp 0.0.0.0:4500 0.0.0.0:4500";
}
Рядок, в якому я абсолютно не впевнений, є
mask = 255.255.255.192;
У розділі phase2remoteid я просто поставив Netmask, що якщо ifconfig дає мені інтерфейс на сервері, можливо, він повинен бути 0,0.0,0? Все інше мені здається розумним, але, можливо, у мене тут є якісь більші непорозуміння?