Centos7 で firewall を設定する

linuxの RedHat , CentOS 7移行ではファイアウォールの設定が 「iptables」から「firewalld」へ変更されています。

● firewalld の 起動の状態を確認

systemctl status firewalld
systemctl start firewalld
systemctl stop firewalld

● firewalld をシステム起動時に自動で起動するようにする

systemctl enable firewalld

● firewalld の設定を表示する

firewall-cmd --list-all-zones

デフォルトでは

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: dhcpv6-client ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

(active)が付いている public が有効なゾーンです。

● 5000番ポーと5001版ポートを開放する 設定ファイルを作成する

設定ファイルの格納場所は

/usr/lib/firewalld/services
/etc/firewalld/services

/etc/firewalld/services の方が優先されるようです。

「http.xml」を 元に 5000番ポーと5001版ポートを開放する 設定ファイル 「kestrel.xml」を作成する

cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services/kestrel.xml

ポートを変更します

vi /etc/firewalld/services/kestrel.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Kestrel</short>
  <description>Kestrel port 5001</description>
  <port protocol="tcp" port="5001"/>
</service>

ゾーンに作成した Kestrel を追加する

firewall-cmd --add-service=kestrel --permanent

firewall再起動

systemctl reload firewalld

再確認

firewall-cmd --list-all-zones
No.1261
07/03 15:11

edit