ufw で複数ポートを許可する設定をするには

こんにちは。エクセルソフトの田淵です。

Kong の Meetup 用にハンズオンの資料を作成しています。

Azure に Ubuntu を立てて、Docker がない方でもハンズオンが出来るようにと、複数の Kong フロントエンドを立てられるようにしています。

するとやらなければいけないのが、複数の Kong で開放するポートにアクセスできるように ufw を設定すること。

基本的な使い方は以下など沢山情報がありますので参考にしてください。

Azure の Ubuntu Server はデフォルトで ufw が入っていて、OpenSSH だけが allow されている状態です。

$ ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To Action From
-- ------ ----
22/tcp (OpenSSH) ALLOW IN Anywhere
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)

今回、複数の Kong で使用するポートを範囲で allow したかったのですが、その情報があまりなかったのでメモしておきます。

範囲でポートを公開する方法

$ sudo ufw allow 1000:1020/tcp

これで 1000番~2010番までが allow されます。

アプリケーションとして登録する方法

毎回コマンドでオン/オフするのは面倒なので、OpenSSH のようにアプリケーションとして登録したいと思います。

/etc/ufw/applications.d/ に所定の形式でファイルを作成して、$ sudo ufw reload すると $ sudo ufw app list でアプリリストに表示され、かつ、$sudo ufw allow XXX とアプリ名だけで allow や deny ができます。便利ですね。

早速作ってみましょう。今回は /etc/ufw/applications.d/Kong というファイルを作成し、例えば次のように中身を作成します。

[Kong] #認識されるアプリ名
title=Kong API Management #アプリのタイトル
description=Kong API management server #アプリの説明
ports=8000,8001,8443,8444/tcp|18000:18050/tcp|28000:28050/tcp #ポートの指定

後は、次のコマンドで Kong を追加できます。

$ sudo ufw allow Kong
Rule added
Rule added (v6)

削除は

$ sudo ufw delete allow Kong
Rule deleted
Rule deleted (v6)

です。無事に変更されたか確認してみましょう。念のため(必要かは分かりません)$ sudo ufw reload をして、$ sudo ufw status verbose してみましょう。

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To Action From
-- ------ ----
22/tcp (OpenSSH) ALLOW IN Anywhere
18000:18050/tcp (Kong) ALLOW IN Anywhere
28000:28050/tcp (Kong) ALLOW IN Anywhere
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
18000:18050/tcp (Kong (v6)) ALLOW IN Anywhere (v6)
28000:28050/tcp (Kong (v6)) ALLOW IN Anywhere (v6)

問題なく登録されていますね。稼働している Kong にアクセスしてみても問題なく帰ってきます。

$ curl -i http://XXX.XXX.XXX.XXX:28001/
HTTP/1.1 200 OK
Date: Wed, 07 Mar 2018 10:40:51 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.12.2

...略

設定ファイルの書き方を残しておきたかったので、メモしました。

API Management ツールの Kong について気になる方は

をご覧ください。

以上です。

タイトルとURLをコピーしました