Ubuntu 14.04およびOpenSSHでOpenVPNサーバーを実行しています。
VPNインターフェイスのIPアドレスにバインドするようにSSHサーバーを設定しました。マイコンピュータが起動すると、そのIPへのバインディングが失敗します。
ログインすると、私が聞いていないことがわかりますnetstat
。sshd
再起動すると、sshd
コンピュータは正常に聞き始めます。私のVPNのIPは、sshd
私が受信するように設定された唯一のIPです。
始めに:
sshd[1016]: Set /proc/self/oom_score_adj from 0 to -1000
sshd[1016]: error: Bind to port 22 on 10.8.0.1 failed: Cannot assign requested address.
sshd[1016]: fatal: Cannot bind any address.
SSHを再起動します。
sshd[3481]: Set /proc/self/oom_score_adj from 0 to -1000
sshd[3481]: Server listening on 10.8.0.1 port 22.
私の推測では、sshd
VPNが実行される前にこれが始まったようです。sshd
正しくバインドできるように後で開始する方法はありますか?
やるべきことや確認すべきことの提案がありますか?
答え1
解決策が見つかりました。
OpenVPN 構成ファイルで/etc/openvpn/server.conf
実行するスクリプトを指定できます。戻る。 OpenVPNのマニュアルページを見るとman openvpn
わかります--up cmd
。/etc/openvpn/server.conf
設定ファイルに次の行を追加しました。
up "/etc/openvpn/up.sh"
このファイルは私が作成したもので、VPNの起動時に実行されます。今私の姿は次のとおりです。
#!/bin/sh
logger VPN is UP
service ssh restart
OpenVPNサーバーが起動するたびに、OpenSSHサーバーも再起動されます。同様に--down cmd
、サーバーのシャットダウン時にスクリプトを実行するには、サーバー構成ファイル内のファイルを使用して指定することもできます。
OpenVPN のマニュアルページでこれについての詳細を読むことができます。man openvpn
答え2
sshはupstartを使用しているように見えますが、openvpnはそうではありません。これにより、sshは起動を遅らせることができますが、テストされていません(インストールを混乱させたくありません)。
update-rc.d ssh defaults 99
テストされていないので:警告