Я пытался настроить Root-сервер в общедоступном Интернете с помощью StrongSwan, чтобы использовать его в качестве VPN-сервера. Планируется туннелирование всего интернет-трафика для некоторых устройств через этот сервер. Я также настроил сервер OpenVPN для того же, который работает нормально, но некоторые устройства поддерживают только IPSec, поэтому мне это тоже нужно, поэтому, пожалуйста, не намекайте на использование OpenVPN;) Проблема, с которой я сталкиваюсь, заключается в том, что связь между клиентом и сервером приводит к тому, что тайм-аут не зависит от того, какой клиент я использую. В журналах сервера при попытке подключения я получаю много таких сообщений:
Feb 22 16:05:30 htzsv001 charon: 14[IKE] retransmit 5 of request with message ID 0
Находясь на клиенте, я либо ничего не получаю, либо ошибка 0x2027, которая относится к тайм-ауту из того, что я нашел в Интернете. Основной вариант использования - это подключение маршрутизатора 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 я просто поместил маску сети, которую ifconfig дает мне для интерфейса на сервере, может быть, это будет 0.0.0.0? Все остальное выглядит разумным для меня, но, может быть, у меня есть некоторые большие недоразумения здесь?