charon {
# Section to define file loggers, see LOGGER CONFIGURATION in
# strongswan.conf(5).
filelog {
# <filename> is the full path to the log file.
/var/log/strongswan.log {
# Loglevel for a specific subsystem.
# <subsystem> = <default>
# If this option is enabled log entries are appended to the existing
# file.
append = yes
# Default loglevel.
default = 2
# Enabling this option disables block buffering and enables line
# buffering.
# flush_line = no
# Prefix each log entry with the connection name and a unique
# numerical identifier for each IKE_SA.
ike_name = yes
# Adds the milliseconds within the current second after the
# timestamp (separated by a dot, so time_format should end with %S
# or %T).
# time_add_ms = no
# Prefix each log entry with a timestamp. The option accepts a
# format string as passed to strftime(3).
# time_format =
}
}
}
问题很可能是 Windows 客户端提出了弱 Diffie-Hellman (DH) 组(1024 位 MODP)。strongSwan 不再使用该组,除非用户明确配置它。
你有两个选择:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters\NegotiateDH2048_AES256
。将其设置1
为启用(仍建议使用其他算法),或2
强制使用 256 位 AES-CBC 和 2048 位 MODP DH(仅建议使用这些算法)。ike=aes256-aes128-sha256-sha1-modp3072-modp2048-modp1024
的内容,将其添加到最后,以便其他客户端可以使用更强的 DH 组)。选项 1 绝对是首选。
要找出问题所在,第一步是打开日志记录,看看在连接过程中会发生什么。这是我在服务器上使用的示例配置。
/etc/strongswan.d/charon-logging.conf
您可以使用它并分析日志文件以发现问题。如果您无法弄清楚,请在此处发布连接日志,我会尽力帮助您。