免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1521 | 回复: 0
打印 上一主题 下一主题

ifconfig命令, ifup, ifdown [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-01 20:21 |只看该作者 |倒序浏览

這三個指令的用途都是在啟動網路介面,不過, 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      :可以設定不同的 MTU 數值,例如 mtu 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 , 則會秀出這張介面的相關資料,而不管該介面是否有啟動。所以如果您想要知道某張網路卡的 Hardware Address,直接輸入『 ifconfig "網路介面代號" 』即可喔! ^_^! 至於上表出現的各項資料是這樣的(資料排列由上而下、由左而右):

    • eth0:就是網路卡的代號,也有 lo 這個 loopback ;
    • HWaddr:就是網路卡的硬體位址,俗稱的 MAC 是也;
    • inet addr:IPv4 的 IP 位址,後續的 Bcase, Mask 分別代表的是 Broadcast 與 netmask 喔!
    • inet6 addr:是 IPv6 的版本的 IP ,我們沒有使用,所以略過;
    • MTU:就是
      MTU
      啊!
    • RX:那一行代表的是網路由啟動到目前為止的封包接收情況, packets 代表封包數、errors 代表封包發生錯誤的數量、 dropped 代表封包由於有問題而遭丟棄的數量等等
    • TX:與 RX 相反,為網路由啟動到目前為止的傳送情況;
    • collisions:代表封包碰撞的情況,如果發生太多次, 表示您的網路狀況不太好;
    • txqueuelen:代表用來傳輸資料的緩衝區的儲存長度;
    • RX bytes, TX bytes:總傳送、接收的位元組總量
    • Interrupt, Memory:網路卡硬體的資料, 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 可以暫時手動來設定或修改某個介面卡的相關功能, 並且也可以透過 eth0:0 這種虛擬的網路介面來設定好一張網路卡上面的多個 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 真是太簡單了!這兩支程式其實是 script 而已,他會直接到 /etc/sysconfig/network-scripts 目錄下搜尋對應的設定檔,例如 ifup eth0 時,他會找出 ifcfg-eth0 這個檔案的內容,然後來加以設定。 關於 ifcfg-eth0 的設定則請參考前一章
    連上 Internet
    的說明。
    不過,由於這兩支程式主要是搜尋設定檔 (ifcfg-ethx) 來進行啟動與關閉的, 所以在使用前請確定 ifcfg-ethx 是否真的存在於正確的目錄內,否則會啟動失敗喔! 另外,如果以 ifconfig eth0 .... 來設定或者是修改了網路介面後, 那就無法再以 ifdown eth0 的方式來關閉了!因為 ifdown 會分析比對目前的網路參數與 ifcfg-eth0 是否相符,不符的話,就會放棄該次動作。因此,使用 ifconfig 修改完畢後,應該要以 ifconfig eth0 down 才能夠關閉該介面喔!


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28949/showart_251891.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP