[root@localhost ~]# systemctl start firewalld |
起動中の確認 | [root@localhost ~]# firewall-cmd --state |
有効サービス | [root@localhost ~]# firewall-cmd --list-all |
起動 | [root@localhost ~]# systemctl start firewalld |
停止 | [root@localhost ~]# systemctl stop firewalld |
再起動 | [root@localhost ~]# systemctl restart firewalld |
zoneの設定を確認 | [root@localhost ~]# firewall-cmd --get-active-zones |
設定を反映 | [root@localhost ~]# firewall-cmd --reload |
サービス名称の一覧 | [root@localhost ~]# firewall-cmd --get-services |
プロトコルとポート番号 | [root@localhost ~]# firewall-cmd --info-service=pop3 |
許可サービス追加 | [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=pop3 |
許可サービス削除 | [root@localhost ~]# firewall-cmd --permanent --zone=public --remove-service=pop3 |
許可ポート追加 | [root@localhost ~]# firewall-cmd --add-port=10000/tcp --zone=public --permanent |
許可ポート削除 | [root@localhost ~]# firewall-cmd --remove-port=10000/tcp --zone=public --permanent |
–permanent は、変更を継続的に適用するためのオプションです。OS再起動後も設定内容は持続します。 –zone=public は、ゾーンとしてpublicを使う設定です。指定できるゾーンについてはdmzやexternalなど何種類かありますが、デフォルトのpublicだけでとりあえずは事足りますので、このまま決まったお約束のオプションだと思って差し支えないでしょう。最後の –add-service=pop3 で、pop3サービスが追加されます。
初期状態で9つのゾーンが用意されています。(※自分でもゾーンを新規に作成することもできます。)
下記は初期に定義されてるゾーンの一覧です。
ゾーン | 通信許可サービス | 説明 |
block | なし 外部からの接続はすべて遮断 | 設定変更不可 遮断時は「CIMP Pohibited」を返し、内部からの通信時は戻りの通信も許可される |
dmz | ssh | dmz用に定義されたゾーン |
drop | なし 外部からの通信はすべて遮断 | 設定変更不可 内部からの通信は送信できるが、外部からの戻りの通信は遮断されるため、結果的にすべての通信が出来ない |
external | ssh | IPマスカレード有効でルータなど外部ネットワークとの接続で使用するために定義されたゾーン |
home | dhcpv6-client ipp-client mdns samba-client ssh | 自宅などで使用するために定義されたゾーン |
internal | dhcpv6-client ipp-client mdns samba-client ssh | 内部ネットワークで使用するために定義されたゾーン |
public | dhcpv6-client ssh | 公共の場所で使用するために定義されたゾーン |
trusted | すべての通信を許可 | 設定変更不可 |
work | dhcpv6-client ipp-client ssh | 職場などの業務エリアで使用するために定義されたゾーン |
サービス名 | プロトコルとポート番号 |
http | TCP 80 |
https | TCP 443 |
pop3(メール受信) | TCP 110 |
pop3s(暗号化通信によるメール受信) | TCP 995 |
imap (メール受信などの操作) | TCP 143 |
smtp(メール送信) | TCP 25 |
smtps(暗号化通信によるメール送信) | TCP 465 |
submission-port(op25b) | TCP 587 |
ssh、sftp | TCP 22 |
特定アドレスからのSSHを許可する
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="xxx.xxx.xxx.xxx" port protocol="tcp" port="22" accept" |
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="xxx.xxx.xxx.0/24" port protocol="tcp" port="22" accept" |
特定アドレスからのSMTPをドロップする
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="61.107.0.0/16" port protocol="tcp" port="25" drop" |
特定アドレスからのSMTPを拒否する
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="61.107.0.0/16" port protocol="tcp" port="25" reject" |
信頼するアドレスを追加する
[root@localhost ~]# firewall-cmd --zone=trusted --permanent --add-source=xxx.xxx.xxx.xxx/24 |
信頼するアドレスを削除する
[root@localhost ~]# firewall-cmd --zone=trusted --permanent --remove-source=xxx.xxx.xxx.xxx/24 |
特定IPアドレスからのアクセスをドロップする
[root@localhost ~]# firewall-cmd --zone=drop --permanent --add-source=181.214.206.233 |
一度拒否したIPアドレスの設定を解除する
[root@localhost ~]# firewall-cmd --zone=drop --permanent --remove-source=192.168.0.0/24 |
[root@localhost ~]# firewall-cmd --set-log-denied <option> |
option
実行サンプル
[root@localhost ~]# firewall-cmd --set-log-denied off ←ログ出力停止 |