Linuxネットワークコマンド——ifconfig、ifup、ifdown

15391 ワード

ifconfig、ifup、ifdownの概要
この3つのコマンドの用途はすべてネットワークインタフェースを起動することですが、ifupとifdownは/etc/sysconfig/network-scripts内のifcfg-ethx(xは数値)だけで起動または閉じる操作を行い、ifcfg-ethxファイルを手動で調整しない限り、ネットワークパラメータを直接変更することはできません.ifconfigについては、インタフェースIPを直接手動で与えるか、ネットワークパラメータを調整することができます.次は別々に話しましょう.  
一、ifconfig
ifconfigは主に手動で起動し、ネットワークインタフェースの修正に関するパラメータを観察することができ、修正できるパラメータは多く、IPパラメータやMTUなどを含めて修正することができ、その文法は以下の通りである.
[root@linux ~]# ifconfig {interface} {up|down}  <==        
[root@linux ~]# ifconfig interface {options}    <==        Interface,      ,   eth0、eth1、ppp0  
Options,      ,    :
    Up down,   (up)     (down)      (       )
    mtu,        MTUMTU 1500 (    byte)
    netmask,       
    broadcast,      
  :

   :         (     ifconfig)
[root@linux ~]# ifconfig
eth0 Link encap:Ethernet  HWaddr 00:0F:EA:A3:06:A2
      inet addr:192.168.10.100  Bcast:192.168.10.255  
Mask:255.255.255.0
      inet6 addr: fe80::20f:eaff:fe73:682/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:3439 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2735 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:646935 (631.7 KiB)  TX bytes:562313 (549.1 KiB)
      Interrupt:209 Memory:fb000000-0

一般的にifconfigを直接入力すると、現在起動しているカードがリストされ、このカードにIPが設定されているかどうかにかかわらず表示されます.入力ifconfig eth0であれば、インタフェースが起動するかどうかにかかわらず、このインタフェースに関するデータが表示されます.したがって、あるNICのHardware Addressを知りたい場合は、「ifconfig " "」と直接入力します.上記のコードに現れる各データについては、(データ配列は上から下へ、左から右へ)である.
  • eth 0:NICのナンバープレート、loというloopbackもあります.
  • HWaddr:NICのハードウェアアドレスで、MACと呼ばれる習慣があります.
  • inet addr:IPv 4のIPアドレスであり、後続のBcase、MaskはそれぞれBroadcastとNetmaskを表す.
  • inet 6 addr:IPv 6バージョンのIPで、私たちは使用していないので省略します.
  • RX:その行は、ネットワークが起動してからこれまでのパケット受信状況を表し、packetsはパケット数を表し、errorsはパケットにエラーが発生した数を表し、droppedはパケットが問題で破棄された数を表す.
  • TX:RXとは逆に、ネットワークが起動してから現在までの転送状況である.
  • collitions:パケットが衝突した場合を表し、何度も発生した場合は、ネットワークの状況があまりよくないことを示します.
  • txqueuelen:データを転送するためのバッファの格納長を表します.
  • RX Bytes、TX Bytes:合計転送、受信バイト数.
  • Interrupt、Memory:NICハードウェアのデータ、IRQ分岐とメモリアドレス.上記の資料を観察することで、あなたのネットワークの状況、特にRX、TX内のerrorの数、深刻なcollisionの状況が発生しているかどうか、大体理解することができます.
  •    :        
    [root@linux ~]# ifconfig eth0 192.168.100.100
    #           ,        IP     class   ,
    #        netmask    network, broadcast   IP   
    
    [root@linux ~]# ifconfig eth0 192.168.100.100 netmask 255.255.255.128 \
    > mtu 8000 
    #       ,     MTU    
    
    [root@linux ~]# ifconfig eth0 MTU 9000
    #         MTU   ,       
    
    [root@linux ~]# ifconfig eth0:0 192.168.50.50
    #        , eth0:0 。          ,         ,
    #                IP     
    
    [root@linux ~]# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0F:EA:A3:06:A2
              inet addr:192.168.10.100 Bcast:192.168.10.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:3669 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2892 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:667547 (651.9 KiB)  TX bytes:584799 (571.0 KiB)
              Interrupt:209 Memory:fb000000-0
    
    eth0:0    Link encap:Ethernet  HWaddr 00:0F:EA:A3:06:A2
              inet addr:192.168.200.2 Bcast:192.168.200.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Interrupt:209 Memory:fb000000-0
    #    ,             。  。        。
    
    [root@linux ~]# ifconfig eth0:0 down
    #    eth0:0     。       eth1 ,           
    # ifconfig eth1 up      
    
    [root@linux ~]# /etc/init.d/network restart
    #            ,   ifcfg-ethx      

    ifconfigを使用すると、一時的に手動でアダプタカードの関連機能を設定または変更することができ、eth 0:0という仮想ネットワークインタフェースを通じて1枚のネットワークカード上の複数のIPを設定することもできます.手動の方が簡単です.また、/etc/init.d/network restartを使用してネットワークインタフェース全体を再起動できるため、手動で設定したデータはすべて失効します.また、あるネットワークインタフェースを起動するが、IPパラメータを持たせない場合は、ifconfig eth0 upに直接渡せばよい.この操作は、APが存在するかどうかを検出するためにワイヤレスカードを起動する必要があるため、ワイヤレスカードでよく行われます.
    二、ifupとifdown
    リアルタイムで手動でネットワークインタフェースパラメータを変更すると、ifconfigで実現できます.プロファイル、すなわち/etc/sysconfig/network-scripts内のifcfg-ethxなどのファイルの設定パラメータで直接起動する場合は、ifdownまたはifupで実現する必要があります.
    
    [root@linux ~]# ifup   {interface}
    [root@linux ~]# ifdown {interface}
    
    [root@linux ~]# ifup eth0

    ifupとifdownは本当に簡単ですね.この2つのプログラムは、実際にはscriptです./etc/sysconfig/network-scriptsディレクトリの下で対応するプロファイルを直接検索します.たとえば、ifup eth0です.ifcfg-eth 0というファイルの内容を見つけて設定します.ifcfg-eth 0の設定については、以下の説明を参照してください.ただし、この2つのプログラムは主に設定ファイル(ifcfg-ethx)を検索して起動と停止を行うため、使用前にifcfg-ethxが本当に正しいディレクトリ内に存在するかどうかを確認してください.そうしないと起動に失敗します.また、ifconfig eth0でネットワークインタフェースを設定または変更した場合、ifdown eth0で閉じることはできません.ifdownは現在のネットワークパラメータがifcfg-eth 0と一致するかどうかを分析するので、一致しないと、今回の操作を放棄します.したがって、ifconfigを使用して修正が完了すると、ifconfig eth0 downでインタフェースを閉じることができるはずです.
    三、ifcfg-eth 0の構成
    ネットワークインタフェースプロファイルifcfg-eth 0は/etc/sysconfig/network-scriptこのディレクトリの下に、ネットワークインタフェース(NIC)のスクリプトファイル(制御ファイル)が格納され、ifcfg-eth 0はデフォルトの最初のネットワークインタフェースであり、マシンに複数のネットワークインタフェースがある場合、名前の字はifcfg-eth 1、ifcfg-eth 2、ifcfg-eth 3...構成項目説明(形式:設定項目=値):
  • DEVICEインタフェース名(デバイス、NIC)
  • USERCTL[yes|no](root以外のユーザがデバイスを制御できるかどうか)
  • BOOTOPROTO IPの構成方法[none|static|bootp|dhcp](ブート時にプロトコルを使用しない|静的割当てIP|BOOTPプロトコル|DHCPプロトコル)
  • HWADDR MACアドレス
  • ONBOOTシステム起動時にネットワークインタフェースが有効かどうか(yes/no)
  • TYPEネットワークタイプ(通常はEthemet)
  • NETMASKネットワークマスク
  • IPADDR IPアドレス
  • IPV 6 INIT IPV 6が有効かどうか(yes/no)
  • GATEWAYデフォルトゲートウェイIPアドレス
  • BROADCASTブロードキャストアドレス
  • NETWORKネットワークアドレスは、例えば、
  • に設定することができる.
    DEVICE=eth0        
    BOOTPROTO=static        
    BROADCAST=192.168.1.255        
    HWADDR=00:0C:2x:6x:0x:xx        
    IPADDR=192.168.1.23        
    NETMASK=255.255.255.0        
    NETWORK=192.168.1.0        
    ONBOOT=yes        
    TYPE=Ethernet