「ポート用語」を理解するために必要なファイアウォールの定義から説明します。 ファイアウォールは、どのようなデータパケットがネットワークへの出入りを許可されるか、一連のルールを強制するソフトウェアまたはファームウェアです。
このガイドのテーマに沿って、UbuntuやCentOSのようなLinuxディストリビューションでポートを開きたいと思います。 どちらのディストリビューションでも、異なるツール (ファイアウォール パッケージ) を使用して設定することができますが、結果は同じです。
Tools that we will be used:
– UFW
– Firewalld
最初に Ubuntu のシナリオを見てみましょう:
この配布には UFW (Uncomplicated Firewall) サービスがデフォルトでプリインストールされています。 これは設定全体を簡素化するもので、あらゆる人に使いやすいものです。
Check the service status with standard systemctl command:
$ sudo systemctl status ufw
Enable command:
$ sudo ufw enable
Syntax to open specific TCP port.exeでUFWを有効化します。
$ sudo ufw allow (port)/tcp
例えば:
$ sudo ufw allow 53/tcp
構文は、特定のポートに参照する名前もサポートしています:
$ sudo ufw allow https
ポート21でTCPとUDPパケットの受信を許可するには、次のコマンドを入力してください。
$ sudo ufw allow 21
特定のIPアドレスの例:
$ sudo ufw allow from 190.34.21.113 to any port
設定を確認してみましょう:
$ sudo ufw status verbose
コマンドは3列の仮のテーブルを表示してくれます。
説明:
– To – 特定のプロトコルについて書かれています
– Action – 許可されているか拒否されているか書かれています
– From – ソースについて書かれています e.g.
説明:
– To – プロトコルについて書かれています。というように、任意の場所や、上で紹介したような1つのIPアドレスを指定します
もう、CentOSの出番ですね。
Firewalld はより高度なツールで、その設定にゾーンを使用します。
Firewalld は iptables のフロントエンドコントローラで、永続的なネットワークトラフィックルールを実装するために使用されます。 stardand systemctl コマンドでサービスを開始します:
$ sudo systemctl start firewalld
Enable it:
$ sudo systemctl enable firewalld
このコマンドはサービスの状態について知らせてくれます。 表示されるのは2文だけです。 “running” or “no running”
$ sudo firewall-cmd --state
デフォルトゾーンはpublicです。 この短いチュートリアルでは、これを変更しませんが、変更したい場合は、次のコマンドを使用します:
$ sudo firewall-cmd --set-default-zone=work
ポート 1112 で tcp トラフィックを追加してみましょう:
$ sudo firewall-cmd --zone=public --add-port=1112/tcp --permanent
リロードしてこれらの変更を即時に適用するには、Firewalld 状態をリロードしなければなりません。
$ sudo firewall-cmd --reload
リストコマンドを使用して、新しいルールの読みやすいレビューを得ることができます。