CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
今回は、Red Hat Enterprise Linux 7(RHEL7)の新機能、「firewalld」を解説します。Red Hat Enterprise Linux(RHEL)の環境で、iptablesによるパケットフィルタリングを設定する場合、これまではiptablesサービスを利用していました。設定ファイル「/etc/sysconfig/iptables」に、iptablesのさまざまな設定を記載して、iptablesサービスを再起動するというのが定番の流れです。
一方、firewalldの環境では、「firewalldサービス」がiptablesの設定を管理します。ただし、firewalldを使用する場合、システム管理者は、iptablesの存在を意識する必要はありません。firewalldの管理コマンド(firewall-cmd)でフィルタリングの設定を行うと、その裏でiptablesの設定が自動的に行われます。firewall-cmdはオプションが複雑なため、最初はすこし面倒に感じるかもしれませんが、まずは、今回の記事を通して「firewalldの考え方」を理解してください。
firewalldは、「iptablesサービスの代替」というよりは、iptablesをバックエンドにした、まったく新しいファイアウォール機能を提供するものと考えるとよいでしょう。図1のように、サーバに搭載されたNICポートごとに仮想的なファイアウォールを設置して、それぞれについて受信を許可するポートを指定します。
図1 firewalldのモデル
より正確に言うと、図2の「ゾーン」が事前に用意されており、各NICポートについて、適用するゾーンを指定します。それぞれのゾーンにおけるフィルタリングの設定を変更すると、そのゾーンを適用したNICポートに対して、対応するフィルタリング処理が行われるようになります。
図2 firewalldが提供するゾーン一覧
従来のiptablesサービスと異なる点として、サーバの稼働中でも比較的自由にフィルタリングの設定を変更できるという特徴があります。iptablesサービスの場合でも、iptablesコマンドを直接に実行すれば、動的な設定変更を行うことは可能です。しかしながら、設定するチェーンの選択やルールの追加順序など、iptablesの仕組みを理解した上で適切な設定を行う必要がありました。一方、firewalldの環境では、基本的には、設定対象のゾーンと接続を許可するポートを指定するだけです。実際のiptablesの設定内容を意識する必要はありません。IPマスカレードなどの処理も、管理コマンドから動的に設定変更することができます。
実は、この点にfirewalldが開発された背景があります。これまでのサーバ環境では、システム構築時にパケットフィルタリングの設定を行ってしまえば、その後の運用中に頻繁に設定変更することはありませんでした。ところが、Linux KVMやOpenStackなどの仮想化ホストとして利用する場合、仮想ネットワークの設定変更に応じて、頻繁にフィルタリングの設定が変わります。
特に、アプリケーションが独自にフィルタリングを設定する場合、iptablesサービスで管理者が設定した内容と、アプリケーションが設定する内容が矛盾するなどの問題が起こることがあります。今後、システム管理者とアプリケーションが、どちらもfirewalldのインターフェースを通じて設定を行うようになれば、このような問題を回避することができます。
RHEL7の環境では、同じサーバ上のアプリケーションが相互に情報を交換する、「D-Bus」と呼ばれる仕組みが提供されており、アプリケーションは、D-BusのAPIを通して、firewalldの設定を行うことができます。開発コミュニティのWebページを見ると、まずは、Linux KVMの管理デーモンであるLibvirtをfirewalldに対応させる計画があるようです(*1)。
firewalldの管理コマンド(firewall-cmd)の具体的な利用方法については、筆者の公開資料を参考にしてください(*2)。資料のタイトルに「Linux女子部」とありますが、現在、「Linux女子部」の方と、この資料を使ったfirewalldの勉強会を計画しています。日程などは、近々、発表する予定ですのでご期待ください。
さて、今週末は、沖縄で開催されるイベント「SDN/クラウドプログラムコンテスト」に審査委員として参加する予定です。次回は、こちらの話題をお届けしたいと思います。
*1)「Fedoraプロジェクトのfirewalld開発ページ」
++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
CTC教育サービス Linuxのページ
http://www.school.ctc-g.co.jp/linux/
筆者書籍紹介 Software Design plusシリーズ 「独習Linux専科」サーバ構築/運用/管理 ――あなたに伝えたい技と知恵と鉄則 本物の基礎を学ぶ!新定番のLinux独習書 中井悦司 著 B5変形判/384ページ 定価3,129円(本体2,980円) ISBN 978-4-7741-5937-9 詳しくはこちら(出版社WEBサイト) |
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes