HOME / コンピュータTips / Solaris / stunnel
Date: 2024/10/06 | | Tags: Solaris opensolaris stunnel
Blastwave.orgのcswパッケージを利用してインストールする
pkg-get -i stunnel
Stunnelをクライアントモードとして利用すると、次のようなことができる。
注意事項として、
利用できるプロトコルはTCPであれば大抵可能である。
等々。
全然違う技術であるが、ユーザ的には似たように見えるので整理。
利用者側からみると、次のような違いがある。
あくまでもstunnenlをクライアントとして利用する話である。
ssh portforwarder | stunnel | |
基板技術 | ssh | ssl |
常駐プログラム | ない | ある |
事前処理 | 利用前にリモートサーバへ接続する | 何もいらない |
Port Listen | 動作時のみ | 動作時のみ |
^ | 利用ユーザが利用したいときのみ、起動する | コンピュータが起動している間ずっと起動している。 |
Port 再利用 | 接続先を変えれば良いので簡単 | 接続先を臨機応変に変えられないので面倒 |
実は、最後のことが言いたかったのだが、stunnelはそれゆえ、複数のサーバに接続する環境を用意したい場合、ポート番号を浪費するしかないのだ。
cswのstunnelは、下記に設定ファイルがある。
/opt/csw/etc/stunnel
stunnel.conf-sampleをコピーして、stunnel.confという名前で利用する。
Clientなのでcertはいらない。
;cert = /opt/csw/etc/stunnel/mail.pem
最初の方は、debugレベルを上げておくと良いだろう。
debug = 7
ログの書き出し先
output = /var/log/stunnel.log
クライアントモードに設定
client = yes
サーバの設定を無効にする。
;[pop3s] ;accept = 995 ;connect = 110 ;[imaps] ;accept = 993 ;connect = 143 ;[ssmtp] ;accept = 465 ;connect = 25 ;[https] ;accept = 443 ;connect = 80 ;TIMEOUTclose = 0
後は、下記に任せて、Clientモードの設定を記述する。
stunnelはchrootを利用したjailを作成して起動するが、デフォルトの設定は、下記のディレクトリにnobody:nogroupでpidファイルを出力する。
そこで、
chmod o+rwx /opt/csw/var/lib/stunnel
をして、Permissionを変更。
あとは、MANIFESTはないので適当なシェルスクリプトを作り、実行しなくてはいけない。
env LD_LIBRARY_PATH=/opt/csw/lib /opt/csw/bin/stunnel
一体、こんな環境は何のためにあるのか不思議であろうが、存在するのだ(笑)
利用シーン | クライアント | サーバ |
emacsのpukiwikiモードをWikiPlusの編集用URLで利用する | emacsのhttp.el | WikiPlusの編集用URL |
等々、結局は、何かの理由でSSLがしゃべれないClientを、SSLでしかしゃべらせたくないサーバに接続するためのものとなる。
で・・・たとえば、次のようにバインド
クライアント側(非SSL) | サーバ側(SSL) |
localhost:10800 | pro1.wikiplus.jp:443 |
localhost:10801 | basic1.wikiplus.jp:443 |
設定例
[wpro1] accept = localhost:10800 connect = pro1.wikiplus.jp:443 TIMEOUTclose = 0
[wbasic1] accept = localhost:10801 connect = basic1.wikiplus.jp:443 TIMEOUTclose = 0
後日、記述。