汐留みずほ-2018年10月9日こんにちは、汐留みずほです。普段はインフラエンジニアとして仕事をしています。Firewalldを設定するとき、コマンドを忘れていてついついググってしまうことありませんか?私はあります。今回ブログにまとめたいと思います。本記事では、以下のようにeth0というインタフェースを持ち、グローバルIPアドレスが割り当てられているサーバーを例に解説してまいります。eth0の所属しているゾーンを確認するFirewalldには「ゾーン」という概念があり、ファイアウォール設定はゾーンに対しておこないます。インタフェースはゾーンに所属することになります。以下のコマンドでインタフェースの所属しているゾーンを確認します。eth0インタフェースeth0はゾーンpublicに所属していることがわかりました。ゾーンpublicに対して設定をおこなうことで、eth0を経由する通信の制御ができるようになります。ゾーンの設定を確認する続いて、以下のコマンドでゾーンpublicの設定を確認します。dhcpv6-clientとあるので、インターネットからeth0への通信はsshとdhcpv6-clientのみが許可されている状態であることがわかります。Firewalldはサーバの外部から内部に対しての通信のみを制御します。サーバの内部から外部への通信は全て許可するようになっています。ゾーンの設定を変更するサービス名で通信を許可する以下のコマンドでは、サービスhttpに対しての通信許可設定をゾーンpublicにおこなっています。この設定をおこなうことで、インターネット上からサーバーのhttp(TCP/80)に対して通信ができるようになります。--reloadsuccess--permanentを付与することで、永続的な設定変更とすることができます。--reloadを忘れないようにしてください。登録可能なサービスの確認は以下のコマンドでおこなうことができます。xmpp-serverポート番号/プロトコルで通信を許可する以下のコマンドでは、TCPプロトコルの10050番ポートに対しての通信許可設定をゾーンpublicにおこなっています。この設定をおこなうことで、インターネット上からサーバーの10050/tcpに対して通信ができるようになります。--reloadsuccessここで例として挙げたTCPプロトコルの10050番ポートは、Zabbixという監視ソフトウェアのサーバーからエージェントに対して通信する際に使用されているポートです。上記で許可した設定を削除します。サービス名で通信許可した場合の削除は以下のコマンドです。--reloadsuccessポート番号/プロトコルで通信許可した場合の削除は以下のコマンドです。--reloadsuccessおわりにいかがでしたでしょうか。簡単な設定でも、たまにしかおこなわないと忘れがちです。本記事がそんな際にお役に立てれば幸いです。~バーチャルをリアルでやった結果......編~汐留みずほネットワークが専門のインフラエンジニアです。最近はプログラミング教材に興味があります。エンジニアブログです。業務の内外で得たノウハウやソースコードなど、WEB系開発・インフラエンジニアに向けてお役立ち情報を公開しています。本連載ではComposerで公開されているパッケージの中から、フレームワークを問わず汎用的に使えるライブラリをサンプルコードと共に紹介します。本連載ではComposerで公開されているパッケージの中から、フレームワークを問わず汎用的に使えるライブラリをサンプルコードと共に紹介します。本連載ではComposerで公開されているパッケージの中から、フレームワークを問わず汎用的に使えるライブラリをサンプルコードと共に紹介します。