0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Conoha VPSで任意のポートを開放する方法

Last updated at Posted at 2023-01-08

方法

3つあります。

  • A. conoha-netコマンドを使う
    • ポート開放できればそれでいい人向け
    • ネットワーク機能に絞っているのでサブコマンド名が短い
  • B. openstackコマンドを使う
    • ポート開放以外にもCLIで積極的にConohaを操作してみたい人向け
    • サブコマンド名が長い
  • C. 「接続許可ポート」で「全て許可」を選択してfirewalld/iptables等で開ける
    • 勉強したくない人向け

手順

A/B. conoha-net/openstackコマンドを使う

  • 全体の流れ
    クライアントを導入
    -> セキュリティグループ作成
    -> セキュリティグループにルールを追加
    -> セキュリティグループをサーバーにアタッチ
  1. コントロールパネル https://manage.conoha.jp/API/ からAPIユーザを作成

  2. コントロールパネルを見ながら認証に必要な情報をファイルに書き出す

    $ cat conoharc
    export OS_TENANT_ID=1234567890abcdef1234567890abcdef #テナントID
    export OS_USERNAME=gncu12345678 #ユーザー名
    export OS_PASSWORD=tsuyotsuyoPasuw@-do #パスワード
    export OS_AUTH_URL=https://identity.[リージョン].conoha.io/v2.0 #Identity ServiceのエンドポイントURL
    
  3. クライアントのインストール

    • conoha-net
    • openstack
      • sudo dnf install python3-openstackclient
        または sudo yum install python-openstackclient (python2系はこっち)
        または pip install python-openstackclient
  4. 認証テスト

    • conoha-net
      $ source conoharc
      $ ./conoha-net list
      NameTag     IPv4     IPv6     SecurityGroups      #この1行が見えればok
      
    • openstack
      $ source conoharc
      $ openstack security group list
      +--------------------------------------+---------+-------------+---------+------+
      | ID                                   | Name    | Description | Project | Tags |
      +--------------------------------------+---------+-------------+---------+------+
      | afd90680-9ace-46eb-957c-44b34e4b323c | default | default     | None    | []   |   #defaultが見えればok
      +--------------------------------------+---------+-------------+---------+------+
      
  5. セキュリティグループの作成

    • conoha-net
      $ ./conoha-net create-group test-group-a
      
    • openstack
      $ openstack security group create test-group-b
      
  6. ルールの追加(例:12345/tcp受信を開放する場合

    • conoha-net
      $ ./conoha-net create-rule -p 12345 -P tcp test-group-a
      
    • openstack
      $ openstack security group rule create --dst-port 12345 --protocol tcp test-group-b
      
  7. 追加されたルールの確認

    • conoha-net
      $ ./conoha-net list-group
      UUID                                     SecurityGroup     Direction     EtherType     Proto     IP Range     Port
      8c44791a-4ff8-44eb-b660-b7a0d8f569c5     test-group-a      ingress       IPv4          tcp                    12345 - 12345
      a9a3bf17-c442-4a61-b119-c6e9d4355404     test-group-a      egress        IPv4          ALL                    ALL
      cd590260-fece-4929-ac52-d5d93c34aabe     test-group-a      egress        IPv6          ALL                    ALL
      
    • openstack
      $ openstack security group rule list test-group-b
      +--------------------------------------+-------------+-----------+-----------+-------------+-----------+-
      | ID                                   | IP Protocol | Ethertype | IP Range  | Port Range  | Direction | 
      +--------------------------------------+-------------+-----------+-----------+-------------+-----------+-
      | 022a83b6-80c4-4394-bbb7-f07549112396 | tcp         | IPv4      | 0.0.0.0/0 | 12345:12345 | ingress   | 
      | b65fa2e5-f736-4b95-adb6-25e2a26d3bb5 | None        | IPv6      | ::/0      |             | egress    | 
      | fc59cbf8-ad44-4a63-80cc-3947037cda32 | None        | IPv4      | 0.0.0.0/0 |             | egress    | 
      +--------------------------------------+-------------+-----------+-----------+-------------+-----------+-
      
  8. セキュルティグループをサーバーにアタッチ(即時反映)

    • conoha-net
      $ conoha-net attach -n [サーバー名] test-group-a
      
    • openstack
      $ openstack server add security group [サーバー名] test-group-b
      
  9. (補足)セキュルティグループの外し方

    • conoha-net
      $ conoha-net detach -n [サーバー名] test-group-a
      
    • openstack
      $ openstack server remove security group [サーバー名] test-group-b
      

C. firewalld/iptables等で開ける

  1. コントロールパネルから「接続許可ポート」で「全て許可」を選択

  2. OSでfirewalld/iptablesを有効化して設定

あとがき

conoha-net/openstackコマンドでポート開放する方法が通常は推奨されます。
Conohaに限らずほとんどのIaaSでは、仮想サーバーのポート管理サービスはデフォルトで無効化されています。
これはポート管理する役割がIaaS側にあるからです。ポート管理を仮想サーバー内のサービスでやるのは巨大なデプロイメントでは大変な作業になります。

個人ユースではfirewalld/iptablesでも間に合うと思いますが、自宅サーバでポートスキャン&&sshリバースブルートフォースの被害にあった自分からすると、ログイン失敗のログがsyslogに大量に流れてきたり無駄なCPUリソースを食ったりするのであまりおすすめしません。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?