我正在使用 strongswan 和 swanctl 连接到 IPSec VPN。我在使用该ipsec
命令时遇到了一些麻烦,但在更改为之后swanctl
,启动连接就可以正常工作了。
我现在的问题似乎是 DNS 信息未更新。我可以通过 IP 连接到远程服务器,如果我手动添加名称服务器,名称解析就可以正常工作resolv.conf
,但resolv.conf
连接时不会自动更新。
Strongswan 配备了解析插件这应该可以解决这个问题,但我似乎无法让它工作。当我尝试使用该ipsec
命令连接时,名称服务器已更新,因此似乎网关服务器正在发送信息。
swanctl --stats
报告resolve
插件已加载。
有人能帮我解决这个问题吗?
答案1
DNS 服务器仅当作为配置属性接收时才会安装,并且仅与虚拟 IP 地址一起请求(当然,还必须配置服务器以将 DNS 服务器发送回客户端)。检查日志以了解实际发生的情况(例如,是否已接收服务器,或者在安装接收的 DNS 服务器时是否可能出现错误)。
考虑到你发布的配置你的其它问题不包含vips = 0.0.0.0
(参见虚拟IP在 strongSwan wiki 上),服务器不会请求虚拟 IP 地址,因此也不会请求 DNS 服务器。尝试更改该设置会发生什么。VPN 服务器必须是相应配置为客户端分配虚拟IP和DNS服务器。
类似地,如果您使用 NetworkManager 插件,则必须选中“请求内部 IP 地址”选项来请求虚拟 IP 和 DNS 服务器。