ifconfigに関する世界観です。Linuxネットワークも参照してください。
ネットワーク設定の確認と変更に行う。特に良く使うコマンドだから、覚えていた方が良いが、とても複雑だ。設定を確認する以下のコマンドが分かっていればそれで何とかなる。
net-tools由来のコマンドであるため、現在は非推奨。
ifconfigに「-a」オプションをつけて実行すると、NIC(ネットワークインターフェース)ごとのネットワークの設定内容を表示する。
# ifconfig -a (ネットワークインターフェースの設定が表示される)
loは「ループバックインターフェース」で、自分自身との通信のために使われる。
ifconfigによるネットワークインターフェースの設定は以下のように行う。
ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255
この例では、ネットワークインターフェース名eth0に対し、IPアドレスを192.168.0.2、サブネットマスクを255.255.255.0、ブロードキャストアドレスを192.168.0.255に設定する。
詳しい説明は以下の記事が参考になる。
まず、ifconfigに続いてインタフェース名を指定する。ここでは「eth0」。
IPアドレスをビットにすると以下のようになる。
192 168 0 2 11000000 10101000 00000000 00000010
サブネットマスクは、ネットワーク部を1、ホスト部を0としたもの。ネットワークの外部と内部を区別するために必要。
255 255 255 0 11111111 11111111 11111111 00000000
ブロードキャストアドレスは、ブロードキャスト通信(1対多の通信で、同一ネットワークの全ホストと通信を行う)のために必要。IPアドレスと同じネットワーク部を持ち、ホスト部を1とする。たとえばARPやDHCPなどでネットワーク内部にあるすべての機器と通信するために使用する。
192 168 0 255 11000000 10101000 00000000 11111111
これらに加えてrouteコマンドで、どのホストがゲートウェイとなるかを登録する。ゲートウェイは外部のネットワークとの接続を内部のネットワークの中で共有するホストのアドレスのことで、具体的にはルータのアドレス。
route add default gw 192.168.1.1
詳しくは以下のページが参考になります。
2024.02.08編集
起動と停止は:
ifconfig eth0 up ifconfig eth0 down
従来使われてきた、ifconfigやnetstatなどのネットワークコマンドは、net-toolsというソフトウェアパッケージに含まれてきた。
だが、net-toolsは長い間新しいバージョンがリリースされておらず、型遅れのような状況にある。
なので、現在はnet-tools関連のコマンドを使うことは推奨されない。代わりに、iproute2のipコマンドなどを使うことが推奨される。
また、ifconfigは低レベルなコマンドインターフェースとしては柔軟だが、低レベルすぎて、簡単にネットワークの設定を行うことができない。
そのため、多くの場合、より高レベルのネットワーク設定機構を使う。たとえばDebianではifupdownを用いることが一般的である。
詳しくは以下のページが参考になります。
詳細はiproute2とLinuxネットワーク(2.設定)を参照のこと。
netstatを参照のこと。
routeを参照のこと。
ネットワークやネットワーク入門やネットワークの雑多なことを参照のこと。