目次

05 CentOS7 firewalld

アクティブゾーンの確認

# firewall-cmd --get-active-zones
public
  interfaces: ens160

アクティブゾーンの確認

# firewall-cmd --get-default-zone
public

任意のゾーンのFW設定確認

# firewall-cmd --zone=management --list-all
management (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: 
  sources: 10.15.0.0/16
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

※「–permanent」 オプションを指定することで、恒久的に設定を確認できます。

サービス

サービスの一覧

「/usr/lib/firewalld/services」以下にxmlファイルがあり、ポートを記述してあります。

# ls /usr/lib/firewalld/services/

登録可能なサービス一覧

# firewall-cmd --get-services

サービスの追加

# firewall-cmd --add-service=https --zone=public 

サービス追加(恒久的)

# firewall-cmd --add-service=https --zone=public --permanent

※「–permanent」 オプションを指定することで、恒久的に設定します。

サービス削除

# firewall-cmd --remove-service=https --zone=public

ポート単位

開放

firewall-cmd --add-port=8080/tcp --zone=public --permanent

削除

firewall-cmd --remove-port=8080/tcp --zone=public --permanent

ネットワーク単位で許可

新しくzoneを作成する事で可能です。

 firewall-cmd --permanent --new-zone=management
 firewall-cmd --permanent --zone=management --set-target=ACCEPT
 firewall-cmd --permanent --zone=management --add-source=10.15.0.0/16
 firewall-cmd --reload
 firewall-cmd --get-active-zone
management
  sources: 10.15.0.0/24

ネットワーク削除

firewall-cmd --permanent --zone=management --remove-source=10.15.0.0/16

Nat

eth1から入るものをIPマスカレードでeth0から出ていく

firewall-cmd --get-active-zones
firewall-cmd --permanent --zone=internal --change-interface=eth1
firewall-cmd --permanent --zone=internal --add-masquerade

firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth1 -o eth0 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

firewall-cmd --reload