(最終更新月:2023年5月)
✔このような方へ向けて書かれた記事となります
「ifconfigってどんなことができるのだろうか?」
「ifconfigの基本を教えてほしい」
「ifconfigの実例が見てみたい」
✔当記事を通じてお伝えすること
- ifconfigとは?
- ifconfigの基本やその書き方
- ifconfigの活用実例
当記事では、ifconfigについての基本だけでなく、その活用例などを具体的にわかりやすく解説しています。
ぜひ最後までご覧ください。
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についても学習することで、現代のネットワーク環境に適応できるスキルが身につくでしょう。