許多windows非常熟悉ipconfig命令列工具,它被用來獲取網路介面配置資訊並對此進行修改。Linux系統擁有一個類似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登入或使用sudo以便在Linux機器上使用ifconfig工具。依賴於ifconfig命令中使用一些選項屬性,ifconfig工具不僅可以被用來簡單地獲取網路介面配置資訊,還可以修改這些配置。
1.命令格式:
1 |
ifconfig [網路裝置] [引數] |
2.命令功能:
ifconfig 命令用來檢視和配置網路裝置。當網路環境發生改變時可通過此命令對網路進行相應的配置。
3.命令引數:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
up 啟動指定網路裝置/網路卡。 down 關閉指定網路裝置/網路卡。該引數可以有效地阻止通過指定介面的IP資訊流,如果想永久地關閉一個介面,我們還需要從核心路由表中將該介面的路由資訊全部刪除。 arp 設定指定網路卡是否支援ARP協議。 -promisc 設定是否支援網路卡的promiscuous模式,如果選擇此引數,網路卡將接收網路中發給它所有的資料包 -allmulti 設定是否支援多播模式,如果選擇此引數,網路卡將接收網路中所有的多播資料包 -a 顯示全部介面資訊 -s 顯示摘要資訊(類似於 netstat -i) add 給指定網路卡配置IPv6地址 del 刪除指定網路卡的IPv6地址 <硬體地址> 配置網路卡最大的傳輸單元 mtu<位元組數> 設定網路卡的最大傳輸單元 (bytes) netmask<子網掩碼> 設定網路卡的子網掩碼。掩碼可以是有字首0x的32位十六進位制數,也可以是用點分開的4個十進位制數。如果不打算將網路分成子網,可以不管這一選項;如果要使用子網,那麼請記住,網路中每一個系統必須有相同子網掩碼。 tunel 建立隧道 dstaddr 設定一個遠端地址,建立點對點通訊 -broadcast<地址> 為指定網路卡設定廣播協議 -pointtopoint<地址> 為網路卡設定點對點通訊協議 multicast 為網路卡設定組播標誌 address 為網路卡設定IPv4地址 txqueuelen<長度> 為網路卡設定傳輸列隊的長度 |
4.使用例項:
例項1:顯示網路裝置資訊(啟用狀態的)
命令:
1 |
ifconfig |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20 inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0 TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:68 errors:0 dropped:0 overruns:0 frame:0 TX packets:68 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB) |
說明:
eth0 表示第一塊網路卡, 其中 HWaddr 表示網路卡的實體地址,可以看到目前這個網路卡的實體地址(MAC地址)是 00:50:56:BF:26:20
inet addr 用來表示網路卡的IP地址,此網路卡的 IP地址是 192.168.120.204,廣播地址, Bcast:192.168.120.255,掩碼地址Mask:255.255.255.0
lo 是表示主機的回壞地址,這個一般是用來測試一個網路程式,但又不想讓區域網或外網的使用者能夠檢視,只能在此臺主機上執行和檢視所用的網路介面。比如把 HTTPD伺服器的指定到回壞地址,在瀏覽器輸入 127.0.0.1 就能看到你所架WEB網站了。但只是您能看得到,區域網的其它主機或使用者無從知道。
第一行:連線型別:Ethernet(乙太網)HWaddr(硬體mac地址)
第二行:網路卡的IP地址、子網、掩碼
第三行:UP(代表網路卡開啟狀態)RUNNING(代表網路卡的網線被接上)MULTICAST(支援組播)MTU:1500(最大傳輸單元):1500位元組
第四、五行:接收、傳送資料包情況統計
第七行:接收、傳送資料位元組數統計資訊。
例項2:啟動關閉指定網路卡
命令:
1 2 3 |
ifconfig eth0 up ifconfig eth0 down |
輸出:
說明:
ifconfig eth0 up 為啟動網路卡eth0 ;ifconfig eth0 down 為關閉網路卡eth0。ssh登陸linux伺服器操作要小心,關閉了就不能開啟了,除非你有多網路卡。
例項3:為網路卡配置和刪除IPv6地址
命令:
1 2 3 |
ifconfig eth0 add 33ffe:3240:800:1005::2/64 ifconfig eth0 del 33ffe:3240:800:1005::2/64 |
輸出:
說明:
ifconfig eth0 add 33ffe:3240:800:1005::2/64 為網路卡eth0配置IPv6地址;
ifconfig eth0 add 33ffe:3240:800:1005::2/64 為網路卡eth0刪除IPv6地址;
練習的時候,ssh登陸linux伺服器操作要小心,關閉了就不能開啟了,除非你有多網路卡。
例項4:用ifconfig修改MAC地址
命令:
1 |
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
[root@localhost ~]# ifconfig eth0 down //關閉網路卡 [root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址 [root@localhost ~]# ifconfig eth0 up //啟動網路卡 [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:AA:BB:CC:DD:EE inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0 TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:68 errors:0 dropped:0 overruns:0 frame:0 TX packets:68 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB) [root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //關閉網路卡並修改MAC地址 [root@localhost ~]# ifconfig eth0 up //啟動網路卡 [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20 inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0 TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:68 errors:0 dropped:0 overruns:0 frame:0 TX packets:68 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB) |
說明:
例項5:配置IP地址
命令:
輸出:
1 2 3 |
[root@localhost ~]# ifconfig eth0 192.168.120.56 [root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 [root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255 |
說明:
1 |
ifconfig eth0 192.168.120.56 |
給eth0網路卡配置IP地:192.168.120.56
1 |
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 |
給eth0網路卡配置IP地址:192.168.120.56 ,並加上子掩碼:255.255.255.0
1 |
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255 |
/給eth0網路卡配置IP地址:192.168.120.56,加上子掩碼:255.255.255.0,加上個廣播地址: 192.168.120.255
例項6:啟用和關閉ARP協議
命令:
1 2 3 |
ifconfig eth0 arp ifconfig eth0 -arp |
輸出:
1 2 |
[root@localhost ~]# ifconfig eth0 arp [root@localhost ~]# ifconfig eth0 -arp |
說明:
ifconfig eth0 arp 開啟網路卡eth0 的arp協議;
ifconfig eth0 -arp 關閉網路卡eth0 的arp協議;
例項7:設定最大傳輸單元
命令:
1 |
ifconfig eth0 mtu 1500 |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
[root@localhost ~]# ifconfig eth0 mtu 1480 [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1480 Metric:1 RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0 TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:597062089 (569.4 MiB) TX bytes:2643973 (2.5 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:9973 errors:0 dropped:0 overruns:0 frame:0 TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB) [root@localhost ~]# ifconfig eth0 mtu 1500 [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0 TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:597072333 (569.4 MiB) TX bytes:2650581 (2.5 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:9973 errors:0 dropped:0 overruns:0 frame:0 TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB) [root@localhost ~]# |
說明:
設定能通過的最大資料包大小為 1500 bytes
備註:用ifconfig命令配置的網路卡資訊,在網路卡重啟後機器重啟後,配置就不存在。要想將上述的配置資訊永遠的存的電腦裡,那就要修改網路卡的配置檔案了。
本系列文章:
每天一個 Linux 命令(1):ls命令
每天一個 Linux 命令(2):cd命令
每天一個 Linux 命令(3):pwd命令
每天一個 Linux 命令(4):mkdir命令
每天一個 Linux 命令(5):rm 命令
每天一個 Linux 命令(6):rmdir 命令
每天一個 Linux 命令(7):mv命令
每天一個 Linux 命令(8):cp 命令
每天一個 Linux 命令(9):touch 命令
每天一個 Linux 命令(10):cat 命令
每天一個 Linux 命令(11):nl 命令
每天一個 Linux 命令(12):more 命令
每天一個 Linux 命令(13):less 命令
每天一個 Linux 命令(14):head 命令
每天一個 Linux 命令(15):tail 命令
每天一個 Linux 命令(16):which命令
每天一個 Linux 命令(17):whereis 命令
每天一個 Linux 命令(18):locate 命令
每天一個 Linux 命令(19):find 命令概覽
每天一個 Linux 命令(20):find命令之exec
每天一個 Linux 命令(21):find命令之xargs
每天一個 Linux 命令(22):find 命令的引數詳解
每天一個 Linux 命令(23):Linux 目錄結構
每天一個 Linux 命令(24):Linux 檔案型別與副檔名
每天一個 Linux 命令(25):Linux 檔案屬性詳解
每天一個 Linux 命令(26):用 SecureCRT 來上傳和下載檔案
每天一個 Linux 命令(27):linux chmod 命令
每天一個 Linux 命令(28):tar 命令
每天一個 Linux 命令(29): chgrp 命令
每天一個 Linux 命令(30): chown 命令
每天一個 Linux 命令(31): /etc/group 檔案詳解
每天一個 Linux 命令(32):gzip 命令
每天一個 Linux 命令(33):df 命令
每天一個 Linux 命令(34): du 命令
每天一個 Linux 命令(35): ln 命令
每天一個 Linux 命令(36): diff 命令
每天一個 Linux 命令(37): date 命令
每天一個 Linux 命令(38): cal 命令
每天一個 Linux 命令(39): grep 命令
每天一個 Linux 命令(40): wc 命令
每天一個 Linux 命令(41): ps 命令
每天一個 Linux 命令(44): top 命令
每天一個 Linux 命令(45): free 命令
每天一個 Linux 命令(46): vmstat 命令
每天一個 Linux 命令(47): iostat 命令
每天一個 Linux 命令(48): watch 命令
每天一個 Linux 命令(49): at 命令
每天一個 Linux 命令(50): crontab 命令
每天一個 Linux 命令(51): lsof 命令