今回は、CentOS8でファイヤウォールの設定します。

例としてTelnetの通信をファイヤーウォールで許可および拒否し接続の可否を確かめます。
(TelnetはSSHの仲間で、リモートのコンピュータに接続するアプリケーションです。)

手順

1.Telnetのインストール
2.設定変更前状態確認
3.ファイヤーウォールの設定変更
4.ファイヤウオールの起動停止

1.Telnetのインストール

CentOS8にTelnetをインストールします。

# Telnetのインストール
[root@CE08TE181 ~]# dnf -y install telnet telnet-server
(省略)
インストール済み:
telnet-1:0.17-73.el8_1.1.x86_64 telnet-server-1:0.17-73.el8_1.1.x86_64
完了しました!
(省略)

# Telnet起動
[root@CE08TE181 ~]# systemctl enable --now telnet.socket
Created symlink /etc/systemd/system/sockets.target.wants/telnet.socket → /usr/lib/systemd/system/telnet.socket.

# Telnet起動確認
#   Active: active (listening)と表示されることを確認する。
[root@CE08TE181 ~]# systemctl status telnet.socket
● telnet.socket - Telnet Server Activation Socket
   Loaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled; vendor preset: disabled)
   Active: active (listening) since Sun 2021-01-10 23:32:25 JST; 1min 16s ago
     Docs: man:telnetd(8)
   Listen: [::]:23 (Stream)
 Accepted: 0; Connected: 0;
   CGroup: /system.slice/telnet.socket

2.設定変更前状態確認

ファイヤーウォールの起動確認

ファイヤウオールが起動していることを確認します。
「Active: active (running)」と表示されることを確認する。

[root@CE08TE181 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2021-01-10 09:31:10 JST; 14h ago
     Docs: man:firewalld(1)
 Main PID: 829 (firewalld)
    Tasks: 3 (limit: 11378)
   Memory: 39.3M
   CGroup: /system.slice/firewalld.service
           mq829 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

設定変更前状態確認

ファイヤーウォールの設定確認をします。
以下の場合、Telnetの許可設定がないため、TelnetでCE08TE181に接続はできません。

[root@CE08TE1181 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Telnet接続確認

TeraTermで、CE08TE181にTelnet接続を試してみます。

TeraTermを起動し、以下の手順で接続する。
・ホスト名:<CentOS8>のIPアドレス
・サービス:Telnet

しばくら待つと、エラーが表示されます。
CE08TE181のファイヤーウォールで、telnetの許可設定をしていないからです。

3.ファイヤーウォールの設定変更

ファイヤウオール設定変更

Telnetの許可設定をします。

# ファイヤーウォールの許可設定(telnetの接続ポート番号は23)
[root@CE08TE181 ~]# firewall-cmd --add-port=23/tcp --permanent
success
[root@CE08TE181 ~]# firewall-cmd --reload
success

# ファイヤーウォールの設定確認
# 23番ポートが表示されることを確認する
[root@CE08TE181~]# firewall-cmd --list-all
(省略)
ports: 23/tcp
(省略)

Telnet接続確認

TeraTermで、CE08TE181にTelnet接続を試してみます。

TeraTermを起動し、以下の手順で接続する。
・ホスト名:<CentOS8>のIPアドレス
・サービス:Telnet

下図のようにログインプロンプトが表示されればOKです。
ユーザ名とパスワードを入力してログインしてみましょう。
ユーザ名:root
パスワード:rootのパスワード

接続確認ができたら、exitで終了します。

4.ファイヤウォールの起動・停止

ファイヤウォールは、デフォルトで有効化されていますが、無効化することもできます。
無効化すると、全ての通信が許可されます。

# ファイヤーウォールの無効化
[root@CE08TE181 ~]# systemctl stop firewalld

# ファイヤーウォールの無効化確認
# Activeがinactiveになっていることを確認する
[root@CE08TE181 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2020-09-20 20:29:29 JST; 4s ago
(省略)

# ファイヤーウォールの有効化
[root@CE08TE181 ~]# systemctl start firewalld

# ファイヤーウォールの有効化確認
# Activeがactiveになっていることを確認する
[root@CE08TE181 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-09-20 20:31:16 JST; 2s ago

以上、お疲れさまでした。