'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

デフォルトでは、ルートのみがこのソケット(およびStrongSwanによって作成された他のソケット)にアクセスできます。持つこれを変更するオプション。例えば、カロングループ存在するStrong Swan 構成ファイル構成済みグループのメンバーであるユーザーもソケットにアクセスできます。システムには、ソケットへのアクセスをブロックするいくつかのカーネルレベルのセキュリティモジュール(AppArmorなど)があります(システムログでエントリを確認し、それに応じてポリシーを調整することもできます)。

代わりに、廃止予定の ipsec/starter/Stroke を使用して切り替えることを検討できます。訪問/スウォンテル

答え2

そのため、さらに調査を行った後、ストロークソケットが失敗するサービスという/usr/local/bin/Yubikey.shスクリプトで問題を発見しました。代わりに、次のように変更する必要がありました。ipseccharon.ctl

#!/bin/sh
service strongswan restart

したがって、最近のリリースでは、ipsecコマンドの名前が次のように変更されたため、ipsecの代わりにStrongswanを使用する必要があります。強い白鳥

関連情報