连接到“unix”//var/run/charon.ctl'失败:连接被拒绝

连接到“unix”//var/run/charon.ctl'失败:连接被拒绝

我试图在这个网站和其他网站上找到一些答案,试图找出问题,但我的尝试失败了。规则非常简单:我想在我的 Yubikey 插入时建立我的 Ipsec 隧道。

  • 我的规则在文件中/etc/udev/rules.d/local.rules

其中脚本如下:

SUBSYSTEM=="input", ACTION=="add", ENV{ID_MODEL}=="Yubikey_4_OTP+U2F+CCID" , RUN+="/usr/local/bin/Yubikey.sh"

然后脚本/usr/local/bin/Yubikey.sh包含:

#!/bin/sh
ipsec restart 
if (ipsec status | grep none);then
     ipsec up connection
fi

当插入任何输入设备时,这会调用脚本,然后如果之前没有启动隧道,则脚本应重新启动 ipsec 并启动隧道。但是,隧道不会启动,因为我在运行ipsec status命令时收到以下错误:

connecting to 'unix:///var/run/charon.ctl' failed: Connection refused
failed to connect to stroke socket 'unix"//var/run/charon.ctl'

答案1

默认情况下,仅允许 root 访问该套接字(以及由 StrongSwan 创建的其他套接字)。有改变这一点的选项。例如,与卡戎集团强天鹅配置文件作为已配置组成员的用户也可以访问该套接字。您的系统上可能还存在一些内核级安全模块(例如 AppArmor),可以阻止对套接字的访问(检查系统日志中的条目,并可能相应地调整策略)。

您可能需要考虑切换到而不是使用已弃用的 ipsec/starter/中风维西/斯旺克特尔

答案2

因此,经过更多研究后,我发现作为服务/usr/local/bin/Yubikey.sh调用的脚本中的问题ipsec导致笔画套接字charon.ctl失败。相反,我不得不将其更改为:

#!/bin/sh
service strongswan restart

因此,我必须使用 Strongswan 而不是 ipsec,因为在最近的发行版中,ipsec 命令已重命名为强天鹅

相关内容