ConoHaで接続許可ポートをsshにしつつmoshも通す方法
ConoHaには「接続許可ポート」という機能があって、コントロールパネルからVPSへのポート制限を行うことができます。
この設定を「全て許可」で運用しても問題はありませんが、一般的には使うポートだけを許可するのが良いとされています。サーバー上で意図しないプログラムが動いていた場合などでも、外部からの通信を遮断することができるからです。
moshでポートが通らない
私は普段sshではなくmoshを使っています。moshはsshの代替のようなツールで、接続が切れた場合の自動再接続や、優れたローカルエコーがあるのでとても便利です。
moshの実際の挙動は、まずsshでサーバーに接続を行い、認証が完了した後にサーバー上でmosh-server
と言うコマンドが実行されてクライアントとの接続が確立します。なので、moshは単体では使えません。必ずsshとセットで使うことになります。
sshは22/tcp
を使いますが、moshは60000-61000/udp
を使います。上記のスクリーンショットのように、コントロールパネルからsshのポートだけを許可しても、udpを使うmoshは使うことができません。とは言っても「全て許可」での運用は避けたいものです。
セキュリティグループを使う
ConoHaにはセキュリティグループと言う機能があって、接続元のIPアドレスやポート番号を使ってパケットフィルタリングを行えます。前述の「接続許可ポート」もこのセキュリティグループを使って実装されています。なので、moshを使うにはセキュリティグループを使って60000-61000/udpを許可してあげればよいのです。
本来セキュリティグループはConoHa APIを使って作業するのですが、結構大変です。conoha-netというCLIツールを使うと簡単に操作することができます。
conoha-netやセキュリティグループの詳細は上の記事を読めばわかります。なのでここではやり方だけ解説します。
# conoha-netのインストール
# これはLinux向けですが、OSXやWindowsのインストール方法もREADME.mdにあります
curl -sL https://github.com/hironobu-s/conoha-net/releases/download/current/conoha-net-linux.amd64.gz | zcat > conoha-net && chmod +x ./conoha-net
# 環境変数の設定
# APIの設定については下記URLを参考にしてください
# https://github.com/hironobu-s/conoha-net#1-%E8%AA%8D%E8%A8%BC
export OS_USERNAME="gncu*****"
export OS_PASSWORD="********"
export OS_AUTH_URL="https://identity.tyo1.conoha.io/v2.0"
export OS_TENANT_ID="*******************************"
# VPS一覧を見てみる
./conoha-net list
NameTag IPv4 IPv6 SecurityGroups
my-vps 150.95.***.** 2400:8500:1302:829:***:***:***:*** gncs-ipv6-all, gncs-ipv4-all, default
# moshを通すためのルールを格納するセキュリティグループ(permit-mosh)を作る
./conoha-net create-group permit-mosh
# 60000-61000/udpを許可するルールをpermit-moshに追加する
./conoha-net create-rule -p 60000-61000 -P udp permit-mosh
# permit-moshをVPS(my-vps)にアタッチする
./conoha-net attach -n my-vps permit-mosh
# 正しく設定されたか確認
# permit-moshが追加されていればOK
./conoha-net list
NameT IPv4 IPv6 SecurityGroups
my-vps 150.95.***.** 2400:8500:1302:829:***:***:***:*** gncs-ipv6-all, permit-mosh, gncs-ipv4-all, default
これでmoshがつながるはずです。
mosh 150.95.***.**
Author And Source
この問題について(ConoHaで接続許可ポートをsshにしつつmoshも通す方法), 我々は、より多くの情報をここで見つけました https://qiita.com/hironobu_s/items/f65014018f8fa0d4eb24著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .