歴史は繰り返されるという話。インターネットの初期の開発者は、サーバーのネットワークを直接構成してモニタリングしながらサービスを作りました。そして、分野がますます細分化するにつれて、サーバーのネットワーク構成は専門エンジニアの領域に発展してきました。しかし、クラウドはシステムエンジニアリングの専門分野を取り入れながら、開発者に基本的で論理的な部分のシステムエンジニアリングの役割を求めています。そしてDevOpsはシステムエンジニアと開発者の両方に基本的なシステム知識を求めています。そのため、開発者がサービスをモニタリングするために必要なネットワークコマンドであるifconfigについて学びたいと思います。
ifconfigは「interface configuration」の略で、Linuxのネットワーク管理のためのインタフェース設定ユーティリティです。Linuxのコマンドラインインターフェイスの中で、ifconfigはtopで最もよく使われています。
ifconfig コマンドは、現在のネットワーク構成情報を表示し、ネットワークインターフェイスにIPアドレス、ネットマスクまたはbroadcastアドレスを設定し、ネットワーク インターフェイスのエイリアスを作成し、ハードウェア アドレスを設定し、ネットワーク インターフェイスを有効または無効にするなど、さまざまな所で使用されます。
引数を持たないifconfigコマンドは、アクティブなインターフェースの詳細を表示します。ただし、ifconfigだけでは無効なネットワークインタフェースを見ることはできません。
-aオプションが入ると、無効なネットワークインタフェースを表示できます。無効なネットワークカードがない場合は、-aオプションがある場合とない場合が同じように見えます。以下の lo は、ループバック インターフェイスで内部通信用のネットワーク インターフェイスを無効にした状態です。
インターフェイスが多すぎる場合は、必要なインターフェイスだけを見ることも可能です。
インターフェイスにdownオプションを使用すると、ネットワークインターフェイスカードが有効になります。Ifconfig enp0s3で確認すると、Flagsが異なることがわかります。
インターフェイスにアップオプションを使用すると、ネットワークインターフェイスカードが有効になります。ifconfig [interface]で確認すると、flagsが異なることを確認できます。
ネットワークインターフェースでアイピー設定を変更する方法は、インターフェース情報とip情報を入力することで可能です。
ネットワークインターフェースにネットマスク設定を変更する方法は、インターフェース情報とネットマスクオプションとマスク情報を入力することで可能です。
ネットワークインターフェースにブロードキャスト設定を変更する方法は、インターフェース情報、ブロードキャストオプション、およびマスク情報を入力することで可能です。
インターフェイスに関する情報を一度に変更するのが楽な場合があります。その場合は、一度にオプションをすべて入れてください。
ネットワークインターフェイスにMacアドレス設定を変更する方法は、インターフェイス情報とhw ether、そして変更するMacアドレス情報を入力することで可能です。
エイリアスを使用して、ネットワークインターフェイスに複数のIPを設定できます。コマンドを実行した後にifconfigで確認すると、新しいネットワークインターフェイスが追加されたことを確認できます。
ネットワークインターフェイスの管理とモニタリングのためのコマンドラインベースのツールはたくさんありますが、ifconfigが最も基本的なものです。開発者であっても最近システムエンジニアが自社にない場合が多いため、サービスのネットワーク入出力量を確認する必要がある場合や、ネットワーク構成を変更する必要がある場合には、直接簡単な命令を利用できる必要があります。そして、ネットワークに対するモニタリングの必要性が高まるにつれて、Cacti、Zabbix、Muninなどのモニタリングツールを導入することをお勧めします。