LoginSignup
15

More than 5 years have passed since last update.

CentOS7のfirewalldについて

Last updated at Posted at 2016-02-07

CentOS6 → 7 になって大きな変更点の一つであるのがDefaultアクセス制御方式がiptablesからfirewalldに変わったことです。もちろんiptablesが使えないわけではありません。手間はかかりますが、インストールしたらiptablesも使えます。また、その場合はfirewalldは無効にします。₍両方使っても意味がないので₎

CentOS7ではfirewalldがDefaultで有効状態なっているとのことですが、私の場合₍「Opscode centos-7.0」のvagrantのBoxを使っている₎はなぜか最初は無効状態でした。
ということで、firewalldの起動、停止、追加などを調べてみました。

自動起動設定になっているかの確認

# systemctl is-enabled firewalld

自動起動にする

# systemctl enable firewalld.service

起動させる

# systemctl start firewalld.service

リストを確認

# firewall-cmd --list-all
public (default, active)
  interfaces: enp0s3
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

ルール追加

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

--permanent オプションはOSの再起動時にも有効にするためのものです。また、すぐ反映はしなくなり、以下の手順で行うreloadをしてあげる必要があります。もし、つけない場合はreloadしなくても即反映はしますが、OS再起動したらなくなってしまいます。
上記の例、一般的にport番号が80である「http」をサービス名で追加を行っています。
firewall-cmd --zone=public --add-port=80/tcp --permanent とport指定で追加をするのと同じです。

リロード

# firewall-cmd --reload
# firewall-cmd --list-all
public (default, active)
  interfaces: enp0s3
  sources:
  services: dhcpv6-client http ssh
  ports: 8080/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

ルール削除

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

※OS再起動時にも反映されるように「--permanent」オプションを忘れないようにしましょう。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15