QNAP TS-253 Pro(QTS 4.2.0)があり、OpenVPNサーバーが構成されて正常に実行されています。クライアント証明書を使用してVPN接続を保護したいので、Webインターフェイスの組み込み構成はまったく役に立ちません。
そこで、SSH/SCPを介して構成ファイルと証明書ファイルを/ etc/openvpnにインポートし、OpenVPNサーバーを再起動すると、QNAPNASを再起動するまで正常に機能しました。 。設定はQNAPの工場出荷時のデフォルトに戻りました。
/ etc/openvpnディレクトリは/ mnt/ext/opt/vpnopenvpn /へのシンボリックリンクにすぎないようですetc/openvpn /、これは私のQNAPのWebインターフェイスからの元の構成を保持します。次に試したのは、そこで構成を編集することで、次回の起動時に構成が置き換えられないことを望んでいましたが、これは解決策ではありませんでした。再起動して、/ mnt/ext/opt/vpnopenvpn/etc/openvpn /に工場出荷時のデフォルトのOpenVPN構成ファイルが見つかりました。
QNAPの公式フォーラムの多くのスレッド、非公式のブログ投稿、およびQNAP自体のいくつかのinit.dスクリプトを調べて、工場出荷時のデフォルト設定の自動ロールアウトをオフにするか、QNAPに作業をロールアウトさせる方法を見つけました。 / etc/openvpnへの構成。
これが私の失敗した試みのリストです:
QTSを停止して構成ファイルを書き換える方法を知っている人はいますか? QNAPが再起動されるたびにOpenVPN構成を手動でコピーしたくありません...
固定IP番号用のサーバーサイドOpenVPN構成が必要だったため、同様のソリューションを探していました。私の解決策は、私の場合は行210で、daemon_mgrを開始する直前にvpn_openvpn.shファイルに行を追加することでした。
<snip>
usr/bin/openssl verify -CAfile /etc/openvpn/keys/ca.crt /etc/openvpn/keys/myserver.crt 2>/dev/null | /bin/grep "OK" >/dev/null
echo client-config-dir clientconfig >>/etc/openvpn/server.conf
if [ $? == 0 ] && [ ! -f ${PIDFILE} ]; then
</snip>
エコーで始まる行を追加しました。この時点で、/ etc/openvpn /server.confの構成を変更することもできるはずです。
ここに追加すると、OpenVPNサーバーの再起動後もこの行は存続しますが、すでに苦痛を感じているように、起動時に多くのファイルが再作成されます。ここでautorun.shが役立ちます。使用方法は次のとおりです ここ 正確な構文は、取得したQNAP NASのタイプに基づいています。
ここにsed行を追加して、起動時に「修正」を再作成できます。
sed "210i echo client-config-dir clientconfig >>/etc/openvpn/server.conf" /etc/init.d/vpn_openvpn.sh >/etc/init.d/vpn_openvpn.sh.tmp
rm /etc/init.d/vpn_openvpn.sh
mv /etc/init.d/vpn_openvpn.sh.tmp
chmod +x /etc/init.d/vpn_openvpn.sh
/etc/init.d/vpn_openvpn.sh restart
あなたの場合、autorun.shは次のようになります。
sed "210i /bin/sed -i -e 's/client-cert-not-required/#client-cert-not-required/g' /etc/openvpn/server.conf" /etc/init.d/vpn_openvpn.sh >/etc/init.d/vpn_openvpn.sh.tmp
rm /etc/init.d/vpn_openvpn.sh
mv /etc/init.d/vpn_openvpn.sh.tmp /etc/init.d/vpn_openvpn.sh
chmod +x /etc/init.d/vpn_openvpn.sh
/etc/init.d/vpn_openvpn.sh restart
それが機能するかどうか教えてください
編集:いくつかの再考の後、あなたはそれをさらに短くすることができます
sed -i "210i /bin/sed -i -e 's/client-cert-not-required/#client-cert-not-required/g' /etc/openvpn/server.conf" /etc/init.d/vpn_openvpn.sh
/etc/init.d/vpn_openvpn.sh restart
QNAP構成でプッシュするデフォルトゲートウェイを削除するには:
sed -i -e '/if \[ $? == 0 \] && \[ ! -f ${PIDFILE} \]; then/a\/bin\/sed -i -e \"s/Push \\"redirect-gateway def1\\"/#Push \\"redirect-gateway def1\\"/g\" /etc/openvpn/server.conf' /etc/init.d/vpn_openvpn.sh
なぜデフォルトでこれを行うことができないのか、そしてなぜQNAPがデバイスを構成して構成を上書きし、すべて奇妙な慣習にあり、異なるディレクトリがそのような悪い習慣であり謎であるのか。
Linuxでこのような基本的なものを実行するために、このような難しい回避策や自動実行ファイルは必要ありません。それはまるで彼らがLinuxをそれよりももっと混乱させて難しくしたかったかのようです。