【必見】ifconfigコマンドでネットワーク管理を完全マスター

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年5月)

✔このような方へ向けて書かれた記事となります

「ifconfigってどんなことができるのだろうか?」

「ifconfigの基本を教えてほしい」

「ifconfigの実例が見てみたい」

✔当記事を通じてお伝えすること

  • ifconfigとは?
  • ifconfigの基本やその書き方
  • ifconfigの活用実例

当記事では、ifconfigについての基本だけでなく、その活用例などを具体的にわかりやすく解説しています。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間17万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

ifconfigの基礎知識

ifconfigにおける基本的なことから学びましょう。

応用した使い方を知る前に必ず知っておきたい内容です。

  • ifconfigとは何か
  • ifconfigの重要性
  • ifconfigコマンドの基本構文
  • ifconfigのインストール
  • ifconfigの基本的なオプション

ifconfigとは何か

ifconfigは、ネットワークインターフェースの設定や管理をおこなえるコマンドです。

以下のようなネットワーク操作が簡単にできます。

  • IPアドレスやサブネットマスクの設定
  • ネットワークのトラブルシューティング

ifconfigの重要性

ifconfigは、ネットワークの基本的な設定や管理を行うための非常に重要なツール。

なぜならネットワークに関して、ifconfigで以下のようなことができるからです。

  • 新しいサーバーのネットワークインターフェースにIPアドレスを設定
  • サーバーの既存の設定を確認
  • ネットワークトラブルの現状把握

ifconfigの使い方を理解することは、ネットワーク管理において重要なスキルといえるでしょう

ifconfigコマンドの基本構文

ifconfigコマンドは、ターミナル上で実行することができます。

引数なしで実行すると、システムに存在するすべてのネットワークインターフェースの情報が表示されます。

$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:fb:d2:9b:b1  txqueuelen 0  (イーサネット)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
#続きます

特定のインターフェースについて調べる場合は、インターフェース名を引数として指定します。

$ ifconfig lo
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (ローカルループバック)
        RX packets 81796  bytes 7980579 (7.9 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 81796  bytes 7980579 (7.9 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfigのインストール

ほとんどのLinuxディストリビューションには、ifconfigがデフォルトでインストールされています。

もしインストールされていない場合には、パッケージマネージャを使って簡単にインストールすることができます。

sudo apt install net-tools

ifconfigの基本的なオプション

ifconfigには、いくつかの基本的なオプションがあります。

例えば、こちらです。

  • ifconfig eth0 up:インターフェースを有効化
  • ifconfig eth0 down:インターフェースを無効化
  • ifconfig eth0 192.168.1.10 netmask 255.255.255.0:IPアドレスやサブネットマスクを設定

ifconfigでできること

ifconfigでできることをまとめて見ていきます。

何ができるかを理解すれば、ifconfigをどこで使うかが明確になるでしょう。

  • ネットワークインターフェースの情報表示
  • IPアドレスの設定と変更
  • サブネットマスクとブロードキャストアドレスの設定
  • ネットワークインターフェースの有効化と無効化

ネットワークインターフェースの情報表示

ifconfigを使うことで、以下のような情報を簡単に確認できます。

  • ネットワークインターフェースのIPアドレス
  • サブネットマスク
  • ブロードキャストアドレス
  • MACアドレス

これらの情報は、ネットワークの状態や接続先を把握する上で非常に重要です。

 IPアドレスの設定と変更

 ifconfigを使用して、ネットワークインターフェースのIPアドレスを設定や変更できます。

例えば、こちら。

ifconfig eth0 192.168.1.100

こちらでは、eth0インターフェースのIPアドレスを192.168.1.100に設定しています。

サブネットマスクとブロードキャストアドレスの設定

サブネットマスクやブロードキャストアドレスも、ifconfigを使って簡単に設定できます。

例えば以下は、IPアドレス、サブネットマスク、ブロードキャストアドレスを一度に設定する方法です。

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255

ネットワークインターフェースの有効化と無効化

ifconfigを使って、ネットワークインターフェースを有効化(up)や無効化(down)できます。

これにより、ネットワークの接続状態を切り替えたり、トラブルシューティングを行ったりすることができます。

インターフェースを有効化

ifconfig インターフェース名 up

インターフェースを無効化

ifconfig インターフェース名 down

ifconfigのコマンド構文一覧

ifconfigでのオプションなどを活用した構文の一覧をご紹介します。

達成したいことにより、さまざまな構文を使いこなしてください。

コマンド構文説明具体例
ifconfigネットワークインターフェースの情報を表示する。ifconfig eth0
ifconfig [interface] [address]指定したインターフェースにIPアドレスを設定する。ifconfig eth0 192.168.1.100
ifconfig [interface] netmask [mask]インターフェースのサブネットマスクを設定する。ifconfig eth0 netmask 255.255.255.0
ifconfig [interface] broadcast [address]インターフェースのブロードキャストアドレスを設定する。ifconfig eth0 broadcast 192.168.1.255
ifconfig [interface] up指定したインターフェースを有効化する。ifconfig eth0 up
ifconfig [interface] down指定したインターフェースを無効化する。ifconfig eth0 down
ifconfig -aすべてのインターフェースの情報を表示する。ifconfig -a
ifconfig [interface] promisc指定したインターフェースをプロミスキャスモードに設定する。ifconfig eth0 promisc
ifconfig [interface] -promisc指定したインターフェースのプロミスキャスモードを解除する。ifconfig eth0 -promisc

ifconfigの応用

ifconfigの応用した使い方をご覧いただきます。

ここまでの内容を理解した方は、応用した使い方も頭に入れておきましょう。

  • 複数のネットワークインターフェースを同時に管理する方法
  • ネットワークのトラブルシューティングに役立つifconfigの使用方法
  • ifconfigの代わりに使えるコマンド:ipコマンド
  • IPv6とifconfigの関係
  • DHCPとifconfigの連携

複数のネットワークインターフェースを同時に管理する方法

ifconfigを使って、複数のネットワークインターフェースを一度に管理することも可能です。

例えば、`ifconfig -a`コマンドを実行することで、すべてのインターフェースの情報を表示できます。

ifconfig -a

ネットワークのトラブルシューティングに役立つifconfigの使用方法

ifconfigは、ネットワークのトラブルシューティングにも役立ちます。

例えば、IPアドレスが正しく設定されているかどうかや、ネットワークインターフェースが正常に動作しているかを確認できます。

また、ネットワークインターフェースを一時的に無効化して、問題の切り分けを行うことも可能です。

確認するためには以下のコマンドが使えます。

ifconfig [interface]

例はこちらです。

ifconfig lo

これらのコマンドは一般ユーザーでは実行できない場合があります。

できない場合はsudoを前につけて管理者権限で実行してください。

ifconfigの代わりに使えるコマンド:ipコマンド

ifconfigに代わるネットワーク管理コマンドとして、ipコマンドがあります。

ipコマンドは、より新しいLinuxディストリビューションで標準的に利用されており、ifconfigよりも柔軟で強力な機能を提供しています。

ただし、使い方が少し異なるため、切り替える際はipコマンドについて学習する必要があります。

ipコマンドについての詳しい記事はこちら。

IPv6とifconfigの関係

IPv6は、インターネットプロトコルの新しいバージョンで、従来のIPv4よりも大幅にアドレス空間が拡大されています。

ifconfigを使ってIPv6アドレスの設定や管理も行うことができますが、一部のオプションや表記方法が異なるため、IPv6に対応したifconfigの使い方を学ぶことが重要です。

DHCPとifconfigの連携

DHCP(Dynamic Host Configuration Protocol)は、ネットワークに接続する機器に自動的にIPアドレスを割り当てるプロトコルです。

ifconfigを使って、DHCPサーバーからIPアドレスを取得したり、設定を更新したりできます。

これにより、ネットワーク管理がより簡単になります。

DHCPサーバーから新たなIPアドレスを取得する

sudo dhclient -v [interface]

[interface]の部分には、IPアドレスを取得したいネットワークインターフェースの名前を入れます。

たとえば、eth0というインターフェースで新たなIPアドレスを取得したい場合は、次のようになります。

sudo dhclient -v eth0

-vオプションは任意で、これを付けると動作が詳細に表示されます。

取得したIPアドレスの確認

ifconfig [interface]

このコマンドでネットワークインターフェースの設定を確認します。

出力結果の中に、新たに取得したIPアドレスが表示されます。

DHCPリースの更新

更新は以下の手順でおこないます。

1.DHCPリースの解放

sudo dhclient -r [interface]

2.新たなリースを取得

sudo dhclient -v [interface]

これにより、DHCPサーバーから新たなIPアドレスが割り当てられます。

ただし、具体的なコマンドは使用しているLinuxディストリビューションや設定により異なる場合があります。

よくあるifconfigのエラーと対処法

よくあるエラーを一覧にまとめました。

事前に把握しておけば、エラーに遭遇する回数を減らせます。

エラーメッセージ原因対処法
Device not found指定したネットワークインターフェースが存在しない。インターフェース名を確認し、存在するインターフェース名を指定してコマンドを再実行する。
Permission denied管理者権限が必要な操作を行おうとした。sudoを使用して管理者権限でコマンドを実行する。
Invalid argumentコマンドに誤ったオプションや引数が指定された。コマンドの構文や引数を確認し、適切な形式でコマンドを再実行する。
SIOCSIFADDR: No such device指定したインターフェースが存在しないか、インターフェースのドライバがロードされていない。インターフェース名を確認し、存在するインターフェース名を指定して再試行する。または、必要なドライバをロードする。
SIOCSIFNETMASK: Invalid argumentネットマスクの設定に誤りがある。ネットマスクを正しい形式(例えば255.255.255.0)で指定して再試行する。
inet addr: not found指定したインターフェースにIPアドレスが設定されていない。dhclient等を使用してIPアドレスを取得または手動で設定する。

上記は一部のエラーメッセージの例です。遭遇したエラーメッセージがここにない場合は、エラーメッセージをGoogleなどで検索し、対処法を探すと良いでしょう。

まとめ

当記事では、ifconfigの基本的な使い方や応用的な利用方法を紹介しました。

  • ネットワークインターフェースの情報表示
  • その設定変更
  • トラブルシューティング

ifconfigの使用方法を実際の環境で試してみることで、理解を深められます。

より新しいipコマンドやIPv6についても学習することで、現代のネットワーク環境に適応できるスキルが身につくでしょう。

タイトルとURLをコピーしました