サーバー linux

【firewalld】特定IPのみ通信許可する方法

2018年2月11日

firewalldでファイアウォールで一部のIPのみポート通信を許可したい場合、新しくzoneを作成
し、そのzoneの通信を許可設定にしたらできるみたいです。

#新しくzoneを作成(仮としてnewZoneを作成)
firewall-cmd --permanent --new-zone=newZone

#firewalldを再読み込み
firewall-cmd --reload

#新しく作ったzone(newZone)に設定された制御は通信許可にする
firewall-cmd --permanent --zone=newZone --set-target=ACCEPT

#サービスの登録(登録されているサービス情報:firewall-cmd --get-services)
firewall-cmd --permanent --zone=newZone --add-service=ftp

#ポート番号(8080ポート)の登録
firewall-cmd --permanent --zone=newZone --add-port=8080/tcp

#IPアドレスの登録
firewall-cmd --permanent --zone=newZone --add-source=192.168.1.101/32
firewall-cmd --permanent --zone=newZone --add-source=192.168.0.1/24

#firewalldの再読み込み
firewall-cmd --reload

#登録情報の確認
firewall-cmd --get-active-zones

public
interfaces: ens1
newZone
sources: 192.168.1.101/32 192.168.0.1/24 #作成したZONEにIPアドレスが出てきたら登録できてる

#登録情報の確認(詳細)
firewall-cmd --list-all --zone=newZone
newZone (active) #←activeと表示されていれば有効化になっている
target: ACCEPT
icmp-block-inversion: no
interfaces:
sources: 192.168.1.101/32 192.168.0.1/24
services: ftp
ports: 8080/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

通信を破棄したい場合だと「firewall-cmd --permanent --zone=newZone --set-target=DROP 」
通信元にICMPエラーまたはTCPリセット返したい場合は「firewall-cmd --permanent --zone=newZone --set-target=REJECT」でできます。

-サーバー, linux
-,