私は、Raspberry Pi 3 b+ で OpenVPN クライアントを設定しようとしています。Raspberry Pi は CentOS 7 armhfp を実行しています。
私はarmhfpプラットフォーム用のEPELリポジトリからopenvpnをインストールしました。設定と関連キー、認証ファイルを/etc/openvpnに配置しました。
[root@raspberrypi openvpn]# ll
total 24
drwxr-x---. 2 root openvpn 4096 Jan 1 1970 client
-rwxrwxrwx. 1 root root 2186 Jan 25 22:17 mullvad_ca.crt
-rwxrwxrwx. 1 root root 985 Jan 1 1970 mullvad_us.conf
-rwxrwxrwx. 1 root root 19 Jan 25 22:17 mullvad_userpass.txt
drwxr-x---. 2 root openvpn 4096 Nov 18 14:06 server
-rwxrwxrwx. 1 root root 1301 Jan 25 22:17 update-resolv-conf
[root@raspberrypi openvpn]#
次のコマンドでサービスを開始しようとしています: systemctl start openvpn-client@mullvad_us
実行すると、次のステータスで失敗します。
[root@raspberrypi openvpn]# systemctl status openvpn-client@mullvad_us -l
● openvpn-client@mullvad_us.service - OpenVPN tunnel for mullvad_us
Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sun 2020-01-26 01:17:19 UTC; 3h 10min ago
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Process: 994 ExecStart=/usr/sbin/openvpn --suppress-timestamps --nobind --config %i.conf (code=exited, status=1/FAILURE)
Main PID: 994 (code=exited, status=1/FAILURE)
Jan 26 01:17:19 raspberrypi systemd[1]: Starting OpenVPN tunnel for mullvad_us...
Jan 26 01:17:19 raspberrypi openvpn[994]: Options error: In [CMD-LINE]:1: Error opening configuration file: mullvad_us.conf
Jan 26 01:17:19 raspberrypi openvpn[994]: Use --help for more information.
Jan 26 01:17:19 raspberrypi systemd[1]: openvpn-client@mullvad_us.service: main process exited, code=exited, status=1/FAILURE
Jan 26 01:17:19 raspberrypi systemd[1]: Failed to start OpenVPN tunnel for mullvad_us.
Jan 26 01:17:19 raspberrypi systemd[1]: Unit openvpn-client@mullvad_us.service entered failed state.
Jan 26 01:17:19 raspberrypi systemd[1]: openvpn-client@mullvad_us.service failed.
mullvad_us.conf ファイルの読み取りに失敗しているようです。完全な 777 権限を与え、所有権を openvpn:openvpn に変更しようとしました。また、問題の原因が selinux にある場合に備えて selinux を無効にしました。ファイルを /etc/openvpn/client に移動しましたが、これも成功しませんでした。
コマンドラインから openvpn を起動すると、正常に動作します。コマンド「nohup openvpn --config /etc/openvpn/mullvad_us.conf &」を実行すると、トンネルが正しく構築され、形成されます。
起動時に自動的に起動させることができません。これをヘッドレス方式で実行することを計画しており、VPN トンネルを起動するためだけに電源を入れるたびにデバイスに SSH で接続する必要はありません。
/etc/default/openvpn のファイルを編集するようにという記事をオンラインで見たことがありますが、そのファイルは何らかの理由で存在せず、実行している CentOS のフレーバーによるものだとしか思えません。この時点で、私はかなり困惑しています。どんな助けでもいただければ幸いです。
答え1
mullvad_us.conf、mullvad_ca.crt、mullvad_userpass.txt ファイルを /etc/openvpn/client に移動することで、これを動作させることができました。