ネットワークの管理
ネットワーク管理で重要なIPアドレスなどの設定からパケットフィルタリングについてまで、最近の状況について解説します。【連載コラム:Linuxシステム管理標準教科書を読む(4)】
Linuxの基本的なスキルを習得したら、Linuxサーバーをシステムとして長期に運用管理していくためのスキルを身につけるのはいかがでしょうか。このコラムでは、「Linuxシステム管理標準教科書」の全体調整を担当した筆者が改めて大切なポイントを解説していきます。
ネットワークの管理は、IPアドレスなどの設定からパケットフィルタリングについて解説しています。ディストリビューションの種類やバージョンによっても変わるため、システム管理教科書がリリースされた2015年当時とは変わっている部分もあります。今回は現時点でどのように変わっているのかを解説します。【連載コラム:Linuxシステム管理標準教科書を読む(4)】
目次
networkサービスとNetworkManager
システム管理教科書リリース時では、NetworkManagerに対応していないサービスがいくつかあったため、networkサービスを中心に解説していますが、現在ではNetworkManagerを使用するディストリビューションが増えてきています。
教科書に書かれている内容については基礎知識として知っておいて欲しい内容ですが、実際のサーバー構築、運用においては、NetworkManagerを使うことになるので、両方を覚えておく必要があります。
NetworkManagerの操作
NetworkManagerでは、設定は直接設定ファイルを編集するのではなく、設定ツールを使って変更するように変わっています。そのためのツールもGUIだけでなくテキストベースのツールやコマンドラインツールも用意されているので、それらを使ってIPアドレス等の設定ができるようにしておきましょう。
iptablesからnftablesへの変化
パケットフィルタリングはLinuxでは主にファイアーウォール機能を実現するために使われています。不要なパケットをフィルターして受け付けず、必要なパケットだけを通過させます。この機能はLinuxカーネルのnetfilterとして実装されており、基本的な機能としては変化していませんが、フィルターの制御を行うツールが従来のiptablesからnftablesへと変化しています。
nftablesを操作する方法
nftablesを操作するためにnftコマンドが用意されていますが、設定が複雑になるため、firewalldやufw(Uncomplicated FireWall)などのフロントエンドのソフトウェアで設定を行います。iptablesからツールへ変更されましたが、必要なサービスのための通信パケットを指定して通過を許可する設定を行う、という点で大きな変化はありませんので、あくまでツールの使い方を覚えるだけだと考えておくとよいでしょう。
サーバー管理標準教科書第4版では、ディストリビューションのバージョンアップに合わせて、サービスへのアクセス許可をfirewalldで行っています。
firewalldの使い方の例
以下は、firewalldを使って、HTTPを許可する例です。
$ sudo firewall-cmd --add-service=http --zone=public
success
--zoneはどのネットワークに対して設定を有効にするかを指定しています。複雑なネットワークでない限り、publicとしておけば外向けのネットワークに対して有効になります。
この指定は、一時的にfirewalldに対して操作しているので、システム再起動を行うと無効になってしまいます。永続的に設定を有効にするのであれば、以下のように実行します。
$ sudo firewall-cmd --add-service=http --zone=public --permanent
$ sudo firewall-cmd --reload
--permanentオプションを付けることで、設定ファイルに書き込まれることになります。逆にこの場合には即時有効にはならないので、--reloadオプションで設定ファイルを再読み込みさせて、設定を適用する必要があります。
単純にサーバーに対してパケットフィルタリングを設定するだけでよいのであれば、firewall-cmdコマンドの基本的な使い方を習得しておけばよいでしょう。それ以上のことを行う場合には、もちろんLinuxで行うこともできなくはないですが、より適したネットワーク製品の利用も考慮する必要があります。
- 筆者紹介
宮原 徹 氏
Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。
バックナンバー
第3回:root権限の管理
第2回:SSH
第1回:ユーザーとグループの管理