CentOS 7のファイアウォールでssh・httpを通す方法

こんにちは、さるまりんです。

最近CentOS 7で試すことが増えてきまして、やるたびに忘れるのでメモします。

開発用は公開用で環境を構築すると、sshでサーバーにアクセスしたいですし、httpサーバーを公開したいとなります。

が、それ以外はちょっと、というときに特定のポート以外を制限すします。

これまでCentOS 5やCentOS 6ではiptablesでやってました。

これがCentOS 7になってfirewalldに変更になりました。

OSをインストールして、最初のyum updateをした後の流れは次の通りです。

CentOS 7のfirewalldでsshとhttpのみ許可する

以下rootで実行します。

まずはfirewalldを起動します。

systemctl start firewalld

そして自動起動設定をします。

systemctl enable firewalld

これをしないと、サーバー再起動したときにfirewalldが起動してきません。

デフォルトゾーンをdropに変更して、デフォルトで「拒否」するようにします。

firewall-cmd --set-default-zone=drop

で、ようやくです。

sshとhttpを許可します。

firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent

ここで注意です。--permanentをつけないと再起動したときに設定が戻ってしましますので忘れずに。

最後にこの設定を適用するために再起動します。

firewall-cmd --reload

これでsshとhttpでアクセスできるようになっているはずです。

これがなかなか覚えられない。。

CentOS 7になって色々変わりましたね。

ifconfigするのにip aになってたりservicesystemctlになってたり。

いろんなこと勉強ですね。慣れていこうと思います。

読んでくれてありがとうございました。

ではまた!