コンテンツにスキップ

FreeBSD/ifconfig

出典: フリー教科書『ウィキブックス(Wikibooks)』

FreeBSDのifconfigコマンドは、ネットワークインタフェースの設定、管理、および診断を行うための基本的なツールです。ネットワークインターフェースの状態の表示や設定、トラブルシューティングに使用されます。

主な機能と使用方法

[編集]

1. インターフェースの状態表示

[編集]

ifconfigコマンドを引数なしで実行すると、システムに存在するネットワークインターフェースの情報が表示されます。インターフェースのIPアドレスやネットマスク、MACアドレス、インターフェースの状態(up/down)などの詳細を確認できます。

ifconfig
出力例
em0: flags=8843<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
    ether 00:1e:67:89:ab:cd
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active

2. インターフェースの設定

[編集]

特定のインターフェースに対して、IPアドレスやネットマスクを設定することができます。例えば、em0インターフェースに静的IPアドレスを設定する場合は以下のように実行します。

ifconfig em0 inet 192.168.1.100 netmask 255.255.255.0

3. インターフェースの有効化・無効化

[編集]

インターフェースを有効化(up)または無効化(down)するには、以下のコマンドを使用します。

  • インターフェースの有効化
    ifconfig em0 up
    
  • インターフェースの無効化
    ifconfig em0 down
    

4. インターフェースのMACアドレス変更

[編集]

インターフェースのMACアドレスを変更することもできます。例えば、em0のMACアドレスを変更する場合は以下のようにします。

ifconfig em0 ether 00:11:22:33:44:55

5. インターフェースの詳細情報表示

[編集]

ifconfigコマンドに-vオプションを付けることで、インターフェースの詳細情報を表示することができます。

ifconfig -v em0

6. インターフェースの診断

[編集]

ネットワークインターフェースのエラーやパケットのドロップ、衝突などを診断するために、ifconfigで表示されるエラー情報を確認できます。

ifconfig em0
出力例
em0: flags=8843<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
    ether 00:1e:67:89:ab:cd
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    input errors 0 dropped 0 overruns 0 frame 0
    output errors 0 dropped 0 overruns 0 carrier 0

7. 設定の永続化

[編集]

ifconfigコマンドで設定したネットワーク設定を永続化するには、FreeBSDの設定ファイル/etc/rc.confに設定を追加します。例えば、em0に静的IPアドレスを設定する場合、次のように記述します。

/etc/rc.conf
ifconfig_em0="inet 192.168.1.100 netmask 255.255.255.0"

これにより、システム起動時に自動的にこの設定が適用されます。

FreeBSDのifconfigの特徴

[編集]
  • インターフェース名の命名規則:FreeBSDでは、ネットワークインターフェース名は通常、em0(Intel製Ethernet)やre0(Realtek製Ethernet)など、ハードウェアの種類に基づいて決まります。
  • 設定ファイルの活用:設定を永続化するために/etc/rc.confファイルを使用します。
  • 診断機能の強化ifconfigは、ネットワークのエラーやパケットのドロップ情報を表示するなど、トラブルシューティングに役立つ情報を提供します。