今回は、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
以上、お疲れさまでした。