【linux】網路配置
1. IP address
IP address(Internet Protocol address),即網路協議地址。這個地址就是給因特網上的每一個主機或路由器的每一個介面分配一個在全世界範圍是唯一的32個二進位制(0、1)組成的識別符號。IP地址的結構使我們可以在因特網上很方便地進行尋值。目前使用最廣泛的網際協議是IPv4(Internet Protocol Version 4),為解決32位IP地址的耗盡,推出了具有更大地址空間的新版本IP協議,即IPv6。
2. 子網掩碼
1985年起在IP地址中新增加了一個“子網號欄位”,使兩級IP地址{<網路號>,<主機號>}變成為三級IP地址{<網路號>,<子網號>,<主機號>}。這種做法叫“劃分子網”,可以很大程度提高IP地址空間的利用率,使用起來也很靈活。
由於32位IP地址本身以及資料報的首部都沒有包含任何關於子網劃分的資訊,我們不知道源主機或者目的主機所連線的網路是否進行了子網的劃分,這時“子網掩碼”就派上了大用場。
子網掩碼中的1對應IP地址的網路號和子網號,0對應主機號。使用子網掩碼的好處是:不管網路有沒有劃分子網,只要把子網掩碼和IP地址進行逐位的與運算,就能得到網路地址。
如上圖,IP地址172.17.5.3與子網掩碼255.255.0.0作與運算即可得到網路地址為172.17.0.0。IP地址192.168.5.3與子網掩碼255.255.255.0作與運算即可得到網路地址為192.168.5.0。
3. 網路管理命令
- ping
作用:檢測網路是否通暢
上圖連線ip地址為172.25.56.250,接收到了5個數據報,0丟包率,網路通暢。
這種情況是網路不通的一種表現。 - ifconfig
作用:配置網路或顯示當前網路介面狀態,這個命令必須以root使用者來執行。
可以看到網絡卡號為eth0,IP地址是172.25.56.150,子網掩碼是255.255.255.0等資訊。 - ifconfig device ip/24
作用:配置裝置的IP地址,device是網絡卡號,ip是要配置的地址,24是子網掩碼,等同於255.255.255.0。
通過ifconfig可以檢視到ip地址變成了172.25.56.100。
但是ip的配置檔案並沒有改動,這個命令只是臨時設定ip地址,這點需要注意。
- ifconfig device down
作用:使指定的網路介面無效 - ifconfig device up
作用:啟用一個網路介面
先關閉eth0這個網絡卡介面,使用ping測試網路不通。重新啟用eth0,ping網路恢復通暢。 - ip addr show
作用:和ifconfig一樣,顯示當前網路介面狀態,但是這個命令可以顯示一個網絡卡的多個ip地址,建議使用。
4. 圖形方式設定ip
- 圖形介面
命令格式:nm-connection-editor
即可看到下圖介面
選中"System eth0",點選"Delete"按鈕。下面我們一起重新配置一下網路吧。
1)點選"Add"按鈕,進入下圖
2)選擇"Ethernet",點選"Create"
3)改名稱。connection name是連線名,可以隨便設定,我們將其設為網絡卡號(裝置名),更加清晰。mac地址直接選中即可。
4)在IPv4 Settings中,Method選擇Manual。
5)設定Addresses,點選"Add"建立。Adresses以172.25.56.111為例,Netmask以255.255.255.0或者24為例,Gateway點選一下先不填寫,再點選"Save"儲存退出。
由於修改的是配置檔案,我們要重啟一下network服務,然後檢視。
- 文字化圖形(init 3進入到無圖形模式,init 5進入到圖形模式)
命令格式:nmtui
由於在無圖形模式下,無法使用nm-connection-editor啟動圖形配置網路的視窗,命令nmtui啟動文字化圖形可以幫助我們配置網路。我在圖形模式下簡單作一介紹,無圖形模式同理。輸入nmtui進入下圖,這種文字化圖形無法使用滑鼠,鍵盤上下左右鍵選擇
1)選擇"Edit a connection"和"OK"
2)刪掉之前用nm-connection-editor建立的eth0,我們重新配置一下網路。
3)選擇"Add"和"Ethernet"
4)profile name不做要求,設定什麼都可以,Device要填寫網絡卡號。IPv4 CONFIGURATION選擇Manual。
5)1:點選IPv4 CONFIGURATION右側的Show。
2:在Addresses裡面新增ip地址,這次我們給一個網絡卡配置兩個ip地址。/24表示子網掩碼,等同於nm-connection-edior裡的Netmask一欄,Gateway我們暫時先不配置,只要不聯網就沒有影響。
3:點選右下角OK
4:點選Quit,退出儲存
我們這次給一個網絡卡配置了兩個ip地址,先前說過ifconfig只能看到一個ip地址,而ip addr show可以看到一個網絡卡的多個ip地址。下面就看一下是不是這樣呢?
ip addr show顯示了兩個ip地址
172.25.56.120和172.25.56.150
而ifconfig只能看到一個ip地址172.25.56.120。
5. 命令方式設定網路
如果不想使用圖形方式設定ip,我們也可以使用nmcli這命令直接設定ip地址。但是要注意的是這個命令能夠使用的前提是NetworkManager必須是開啟的。
我們先stop NetworkManager嘗試一下nmcli命令能否使用,這樣會加深印象。
nmcli後面加什麼我們接下來會講到,現在我們先關注一下這個命令的執行是否成功,很顯然失敗了,報錯原因是NetworkManager沒有開啟。因此在用nmcli命令時,一定要先注意NetworkManager的狀態。接下來我們就開啟這個服務。
然後簡單介紹一下nmcli命令的使用
-
nmcli device show eth0 ##檢視網絡卡資訊
-
nmcli device status eth0 ##檢視網絡卡服務介面資訊
-
nmcli device connect eth0 ##啟用eth0網絡卡
-
nmcli device disconnect eth0 ##關閉eth0網絡卡
-
nmcli connection show ##顯示所有網路的連結
-
nmcli connection down potizo ##關閉指定連結
-
nmcli connection up potizo ##開啟指定連結
-
nmcli connection delete potizo ##刪除連結potizo
-
nmcli connection add type ethernet con-name potizo ifname eth0 ip4 172.25.56.150/24 ##新增靜態網路,指定ip地址為172.25.56.150,子網掩碼為24
-
nmcli connection add type ethernet con-name potizo ifname eth0 autoconnect yes ##新增dhcp網路,動態分配ip地址
-
nmcli connection modify potizo ipv4.method auto ## 把連結potizo的工作方式從靜態改為動態
-
nmcli connection modify potizo ipv4.method manual ##把連結potizo的工作方式改為靜態,需要手動配置ip地址
-
nmcli connection modify potizo ipv4.addresses 172.25.56.111/24 ##把連結potizo的ip地址更改為172.25.56.111/24
雖然這些命令看起來很繁瑣,很難記憶。但我們在敲命令的時候,要善用tab鍵聯想。
假設我們只記住了nmcli,接下來不知道輸入什麼,此時連敲兩下tab,即可出現聯想。可以參考上圖。
另外需要提醒的是,ifconfig eth0 172.25.56.150/24 這條命令只是臨時設定ip
而nmcli connection modify potizo ipv4.addresses 172.25.56.111/24 這條命令更改了ip配置檔案,開啟圖形介面可以看到ip地址確實改過來了。
重啟服務即可。