CentOS 7からデフォルトのFirewalldでハマった(iptablesは今後使わない?)

シェアする

  • このエントリーをはてなブックマークに追加

CentOS 7をはじめて使ってみて、あまりにもCentOS 6と違って戸惑いました。

詳しくは、以下の記事にまとめました。

centos7logo
CentOS7はCentOS6以前のCentOSに比べて様々な点が異なっています。これまでにないぐらい違っていたので、私も結構苦労しました。多くのサーバー管理者...

 

今回は、CentOS 7から採用されたFirewalldでハマった話です。

 

スポンサードリンク

CentOS 7ではiptablesを使わない?

CentOS 7をインストール後にnginxをインストールしてnginxを起動しました。

 

外部からブラウザで

http://(ドメイン名 xxx)/

として開こうとしても表示されませんでした。

 

この種の問題は、過去の経験から iptables のせいだと確信して、サーバーで以下のコマンドを実行しました。

 

案の定、sshしかポートが空いていません。

 

しかし、よくよく調べてみたら、iptablesのサービスそのものは停止しているようです。

 

おかしい?

なんで、iptablesのサービスは止まっているのにiptablesそのものは動作しているように見えるのだろう。

 

スポンサードリンク

CentOS 7からiptablesに代わり登場したFirewalld

調べたところ、CentOS 7ではiptablesに代わり、Firewalldという概念が登場したようです。

詳しくは、Firewalldはiptablesの代替というよりも、iptablesをバックエンドにゾーン(zone)という概念を入れて、フロントエンドで動く仕組みのようなものでしょうか。

そして、Firewalldの設定の方が、iptablesの設定よりも優先されるようです。

 

例えば、/etc/sysconfig/iptablesを書き換えて、

# systemctl restart iptables.service

としてみると、その時は、/etc/sysconfig/iptablesの設定を読み込んでくれます。

 

ただ、システムを再起動すると/etc/sysconfig/iptablesの設定を読み込んでくれません。

 

混乱するので、今後はCentOSのデフォルトの設定どおり、Firewalldをサービスとして起動させて、iptablesの方はサービスとしては停止させたままにしておきます。

 

スポンサードリンク

Firewalldのよく使うコマンド

Firewalldで取り急ぎ覚えておくべきコマンドは以下の通りです。

 

# systemctl start firewalld   firewalldを起動
# systemctl stop firewalld    firewalldを停止
# systemctl enable firewalld    firewalldをサービスに登録
# systemctl disable firewalld    firewalldをサービスから解除
# firewall-cmd --list-all-zones   すべてのゾーンをリスト
# firewall-cmd --state    firewalldの状態を表示
# firewall-cmd --get-zones    ゾーンを取得
# firewall-cmd --list-all    現在のゾーンを表示

 

現在のゾーンを確認してみます。

 

現在、publicがデフォルトの設定であるとわかります。

 

Firewalldの設定ファイル

Firewalldの設定ファイルは、/etc/firewalld/zonesにゾーンごとにxml形式で保存します。

 

既存の/etc/firewalld/zones/public.xmlを修正して、<service name=”http”/>を追加します。

上記の場合、ssh(ポート22)とhttp(ポート80)が有効になります。

 

この後、

# systemctl restart firewalld

を実行するか、またはシステムを再起動したら、無事に

http://(ドメイン名 xxxx)/

でブラウザから接続できました。

 

最後まで読んでいただきありがとうござました。
この記事が気に入っていただけたらシェアしてくれると嬉しいです。

[関連書籍]

systemd・firewalldの導入、NetworkManagerへの完全移行、新しいアプリケーションと仮想化をはじめ、すべてが新しくなったサーバ構築を徹底解説!

 

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です