2014年10月11日土曜日

Raspberry PiからUPnPでポートを開けてみる

常時稼働してるRaspberry Piに出先からSSHで接続してなにかやるときにポートも開けれると便利なのでUPnPのクライアントを入れてみた。

Linux用のUPnPクライアントと言うと前はigdctl.plを使用していたんだけれども、MiniUPnPっていうツールが簡単にセットアップできそうだったので使ってみた。

インストールはapt-getコマンドからできるので便利。

sudo apt-get install miniupnpc
でインストールできる。

コマンドの使い方は
192.168.x.xにTCPの80番を開ける場合は

upnpc -a 192.168.x.x 80 80 tcp

で開けることができる。ポート番号を2回入れてるのは内側と外側のため。
基本は同じでも大丈夫だけど外から80番にアクセスしてきた時192.168.x.xの8080に飛ばす場合は
upnpc -a 192.168.x.x 8080 80 tcp
となる。
当然のことながらこのツールでポートを開ける場合はルーターがUPnPに対応してて、その機能が有効になっていることが必要なのをお忘れなく。

upnpc -l
とすればUPnPで開けているポートの一覧も作成できる。

開けたポートを閉じるときは外部ポート番号とプロトコルの種類だけでOK
例えば80番のTCPをこのコマンドで開けていてそれを閉じるときは

upnpc -d 80 tcp
で閉じられるはず。
他のツールで開けられているポートを閉じようとした時は501エラーが帰ってきたので
おそらくこのツールで開けたポートしか閉じられないのかな?

閉じたかどうかはupnpc -lで確認しておいたほうがいいかも。

今使ってるAtermはUPnPの動作はかなり安定してるけど、ルーターによっては結構不安定だったりするので常時使うポートはちゃんとルーターの設定画面から設定したほうがいいのかもしれない。


0 件のコメント:

コメントを投稿