ネットワークの管理の変化
Linuxのシステム管理において基本と言えるのがネットワーク管理。今回はネットワーク関連のコマンドの変化について紹介します。【連載コラム:Linuxシステム管理標準教科書を読む(9)】
Linuxの基本的なスキルを習得したら、Linuxサーバーをシステムとして長期に運用管理していくためのスキルを身につけるのはいかがでしょうか。このコラムでは、「Linuxシステム管理標準教科書」の全体調整を担当した筆者が改めて大切なポイントを解説していきます。
ネットワークの管理は、Linuxのシステム管理において基本であり、かつ重要なポイントでもあります。初期設定の段階はもちろん、運用中のシステムの設定変更やトラブル対応においても、各種ネットワーク関連のコマンドを活用できる必要があります。
教科書には基本的なコマンドを解説していますが、ディストリビューションのバージョンアップ等でコマンドが変化しているところもあるので、まずネットワーク関係で変化している点について解説します。
目次
ifconfigコマンドからipコマンドへの変化
教科書ではifconfigコマンドとipコマンドの両方を解説していますが、新しいバージョンのディストリビューションでは、徐々にipコマンドを使用するように変化してきています。
行えることは大きくは変わりませんが、ifconfigコマンドとrouteコマンドのように分かれていたものが、ipコマンドではサブコマンドの指定によってそれぞれ対応できるようになるなどの変化がありますので、しっかりと動作を確認しておきましょう。
netstatコマンドからssコマンドへの変化
教科書ではnetstatコマンドを使ってポートの待ち受け状態などを確認しています。netstatコマンドはオプションによって様々な情報を表示できる便利なコマンドですが、新しいバージョンのディストリビューションではssコマンドを使用するように変化してきています。
ssは「socket statistics」の頭文字を取ったもので、ネットワークのソケットの状態を表示するコマンドという意味です。ssコマンドもnetstatコマンド同様、様々なオプションで表示する情報を変化させることができるので、どのようなオプションがあるのか、そしてよく使うオプションのパターンなどを把握しておきましょう。
ssコマンドの例
以下はIPv4のTCP待ち受けポートを数値で表示するssコマンドの実行例です。
$ sudo ss -ltn4p
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 10 127.0.0.1:53 0.0.0.0:* users:(("named",pid=1187,fd=27))
LISTEN 0 10 127.0.0.1:53 0.0.0.0:* users:(("named",pid=1187,fd=25))
LISTEN 0 10 192.168.156.101:53 0.0.0.0:* users:(("named",pid=1187,fd=37))
LISTEN 0 10 192.168.156.101:53 0.0.0.0:* users:(("named",pid=1187,fd=38))
LISTEN 0 4096 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=1162,fd=7))
LISTEN 0 4096 127.0.0.1:953 0.0.0.0:* users:(("named",pid=1187,fd=33))
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1172,fd=3))
networkサービスからNetworkManagerへの変化
教科書ではNetworkManagerを停止して、networkサービスを有効にして解説を行っていますが、新しいバージョンのディストリビューションではNetworkManagerを使用することが増えてきています。
networkサービスでは各種設定ファイルを直接編集してネットワークの設定を変更することが多くありましたが、NetworkManagerでは各種ツールを使って設定を変更し、設定ファイルを直接修正することは基本的にありません。このような作業方法の違いをしっかりと認識しておく必要があります。
NetworkManagerで設定ファイルを直接修正すると?
NetworkManagerの特徴として、設定ツールを使って設定を行い、NetworkManager用の設定ファイルを生成します。そしてネットワーク設定を行う際に、そのNetworkManager用の設定ファイルを読み込んで、各種Linux用の設定ファイルを生成、適用するようになっています。つまり、従来のLinux用ネットワーク設定ファイル自体は残っています。
たとえば、/etc/resolve.confのように名前解決の際に参照するDNSサーバーのIPアドレスを記述するファイルはNetworkManagerでも使われています。
では、それらのLinux用ネットワーク設定ファイルを直接修正するとどうなるでしょうか?実は修正は適用されて、Linux自体の動作は設定ファイルの修正に従います。NetworkManagerは、あくまでLinuxのネットワーク全体を統合的に管理するためのフロントエンドツールとして機能しており、Linuxのネットワーク機能自体を大きく変更しているわけではありません。
しかし、上記の通りNetworkManagerがLinux用ネットワーク設定ファイルを生成しているので、直接行った修正も、システムが再起動されるとあらためて設定ファイルが生成されるので、修正は上書きされてしまいます。NetworkManagerを使ってネットワークを管理する場合には、必ずNetworkManagerのフロントエンドツールを使って設定を修正するようにしてください。
iptablesからfirewalldへの変化
パケットフィルタリングは教科書ではiptablesを使って解説していますが、新しいバージョンのディストリビューションではfirewalldを使って設定を行うようになりつつあります。パケットフィルタリングという基本的な機能は大きくは変わっていませんが、設定などを行うフロントエンドツールが変わった、ということで、設定方法などについても理解しておく必要があります。
- 筆者紹介
宮原 徹 氏
Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。
<Linuxシステム管理標準教科書とは>
「Linuxシステム管理標準教科書」(システム管理教科書)は2015年4月にリリースされた標準教科書シリーズの1冊です。Linuxシステムの運用管理という観点で書かれており、システム管理者という業務において知っておかなければならない基本的なトピックが解説されています。「Linux標準教科書」「Linuxサーバー構築標準教科書」でコマンド操作やサーバー構築の基本を学んだら、このシステム管理教科書を読んで、単にLinuxを使うのではなく、システムとして長期的に管理運用していくためのスキルを身につけてください。
バックナンバー
第8回:SSHサーバーの設定
第7回:SSHによるリモートログイン
第6回:ファイルシステムの管理
第5回:サービスの管理
第4回:ネットワークの管理
第3回:root権限の管理