トンネルを利用しているアプリケーションが無通信状態になったときに
プロキシサーバがタイムアウトを感知して切断してきます。
それを防ぐにはSSHトンネルを
シェルも使える設定(Nオプションをつけない)で開き、
何か定期的に文字を出力するようなコマンドを実行しておけばいいのです。
そのようなコマンドはシェルスクリプトで作ってもいいのですが、
UNIX(POSIX)全般で使えるようここはC言語で組んでみましょう。
SSHトンネルを作るユーザでログインして以下を実行します。
$ cd ~ $ mkdir keepalive $ cd keepalive $ touch keepalive.cここでファイル"keepalive.c"の内容を以下のようにします。
#includeそして以下を実行してコンパイルします。int main(void) { while(1){ printf("\n"); sleep(60); } }
$ gcc -o keepalive keepalive.c
実際にトンネルを張った後に
$ ./keepalive/keepaliveを実行しておけば、60秒に1度通信が発生して
トンネルのタイムアウト切断を防ぐことができます。
なお、sshのコマンドの末尾に"./keepalive/keepalive"をつけて
自動実行させてもだめなのでご注意を。
0 件のコメント:
コメントを投稿