一、簡單了解 NM(NetworkManager)?
在 Linux 中,NM 是 NetworkManager 的縮寫。它是一個用于管理網絡連接的守護進程和工具集。?
在 RHEL9 上,使用 NM 進行網絡配置,ifcfg (也稱為文件)將不再是網絡配置文件的主存儲。從? RHEL 9.0 開始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存儲新的網絡配置。配置以舊格式存儲在 /etc/sysconfig/network-scripts/ 中的連接仍然可以正常工作。
查看?/etc/NetworkManager/system-connections/ 中的網絡配置。
查看?/etc/sysconfig/network-scripts/ 中配置的舊格式。
NM 的特點:
管理各種網絡 | NM 能夠自動識別系統中的網絡設備,如:以太網接口、有線網卡、無線網卡、物理網卡、虛擬網卡等,并根據預設的規則和可用的網絡信息自動進行配置。 |
提供多種工具 | NM 提供了圖形化界面和命令行工具,如:命令行、文本界面、圖形界面、web等,以滿足不同用戶的需求。 |
支持多連接類型 | NM 支持多種不同的網絡連接類型,涵蓋以太網、Wi - Fi、PPP 撥號、VPN 等。無論是家庭網絡、辦公網絡,還是移動網絡環境,NM 都能提供統一的管理方式,方便用戶在不同網絡間進行切換和配置 |
二、Linux 圖形設定方式
通常配置IP,第一選擇命令配置,第二選擇文件配置,圖形配置也是一種方式。一般在現實生產環境中,默認是沒有 DHCP 的,需要自己手動配置。
1.圖形方式配置 IP?
1)配置前的準備?
關閉 DHCP ,先在編輯中找到虛擬網絡編輯器,選擇VMnet8 ,關掉 DHCP,再點擊應用和確定,才真正關掉了 DHCP。隨后通過 ip a 命令查看,已沒有 ip 地址。?
確認 NetwoekManager 這個服務器是正在運行的,才能用圖形配置 IP 地址。?
?2)圖形配置
命令:nm-connection-editor?
?①打開圖形命令,圖形原本有 DHCP,需要刪掉,選擇 ens160 ,點擊 - ,選擇 Delete 刪除。
??
?
?②然后點擊 + ,選擇以太網,創建。
?
③進入到編輯網卡的界面,連接名稱可隨意取,最好與網卡名稱相同,便于知道這個連接是控制網卡的。
?
④然后配置 ipv4,DHCP 是動態網絡,IP 不固定,選擇 Manual(靜態網絡),手動配置IP,網段與 Windows 服務器相同。最后保存,即配置成功。保存后便增加了剛剛配置的以太網。
?
?
⑤再次用 ip a 查看 IP ,便成功配置了剛剛設定的IP地址。
⑥打開虛擬網絡編輯器,打開 DHCP ,點擊應用和確定,并斷開無線網,然后在 Windows 的終端用 ipconfig/all 的命令查看 VMnet8 自動配置的 IP 地址,為192.168.10.1。
⑦隨后檢測剛剛配置的 IP 地址與 Windows 的連通性,連通成功。
2.可視化配置 IP
命令:nmtui?
若沒有圖形,可用文本圖形配置。先將圖形配置的 ens160 刪掉,清除原本的 IP 地址。
①輸入 init 3 ,接著輸入賬戶和密碼,再輸入 nmtui?命令,進入TUI 界面。
②選擇編輯連接,然后添加,選擇以太網。
??
③進入到編輯連接界面,連接名稱可任意取名,設備名稱不能亂寫,可以在進入網絡設置前用 ip a 命令查詢(有什么用什么)。?
然后在 ipv4連接 那里選擇 Manual 手動配置,展開 ipv4 的內容,配置 IP 地址為192.168.10.200/24,完成后相繼選擇 OK 、Back、OK 退出。?
?
?
④最后 ip a 查詢,可知成功配置 IP。
⑤回到終端,檢測與 Windows 的連通性,連通成功。
三、Ping 命令
ping 用來檢測網絡的連通情況和分析網絡速度,
命令格式:ping -參數 目標主機IP或域名?
1.Ping 的參數?
c | 設定本命令發出的?ICMP?消息包的數量,若無此選項,則會無限次發送消息包,直到用戶按?Ctrl+C?才終止命令。 |
w | 設定命令等待多長時間終止命令? |
i | 設定前后兩次發送ICMP消息包之間的時間間隔,默認時間間隔為1秒,為了保障本機和目標主機的安全,一般時間間隔不小于0.2秒。 |
s | 設置ping命令發出的消息包的大小,默認發送的測試數據大小為56字節,最大設置值為65507B |
t | 設置存活時間?TTL(Time To Live) |
①?ping -c 3 192.168.10.1:ping 3次后終止命令。
②?ping -w?1?192.168.10.1:ping 1秒后終止命令。
③?ping -c 3 -w?1?192.168.10.1:ping 3次等待1秒,若1秒后沒 ping 到3次,則終止命令,因此 -c 和 -w 同時使用時,需平衡一下,若等待時間不夠,便 ping 不了想要 ping 的次數。?
④?ping -c 3 -s 192.168.10.1:ping 3次,設置發送的測試數據大小為64字節。
⑤?ping -c 3 -i 192.168.10.1:ping 3次,2秒發送一次。
顯示內容分析:
bytes | 192.168.10.1 | icmp_seq | ttl | time |
數據包大小(字節) | 目標主機IP | 序列號 | 存活時間(DNS 記錄在 DNS 服務器上存在的時間) | 響應時間,時間越小,延遲越低,速度越快 |
2.Ping 通外網(以百度為例)
目前虛擬機還無法連通外網,據前面用圖形配置了 IP ,但并沒有寫上網關和 DNS。
打開虛擬網絡編輯器,選擇 VMnet8 ,點擊 NAT 設置,可查看 VMnet8 的網關。?
然后打開圖形命令,雙擊 lxt ,然后在 ipv4 配置上加上網關和 DNS 服務器,并保存。
因為是更改,所以需要 reload 加載配置文件,并將連接名稱 up 起來
最后檢測與百度域名的連通性,連通成功。?
四、從網絡下載文件
1.wget 命令
用于在終端命令行里下載網絡文件,英文全稱為:“web get”?。
格式:wget -參數 需下載的文件鏈接?
參數說明:?
-P | 將文件下載到指定目錄 |
-t | 最大嘗試次數,以指定次數嘗試連接 |
-b | 后臺模式下載,不在終端顯示 |
-p | 下載頁面內所有資源,包括圖片、視頻等 |
-c | 斷點續傳 |
-r | 遞歸下載(若下載目錄,可將里面的文件一同下載) |
在當前目錄下載 qq 。
-P:將 qq 下載到指定目錄 mnt 中,隨后查看 mnt 目錄里的內容,下載的 qq 文件出現在里面。?
-t:在下載過程中,若網絡連接有誤或網斷了,會嘗試連接指定次數。下面鏈接后面少了個 m ,鏈接錯誤,但會嘗試連接10次。
-b:在后臺下載,不在終端顯示,在后臺運行著,直至下載完成。
若想終止下載,可用 kill -9 進程號 的命令強制終止進程。
-p:單下載百度的話只有 html 文件,加上 -p 后,出現的是一個目錄,包含 html 和一些說明。
2.curl 命令
檢測網絡頁面,將百度的代碼寫了出來,但沒有修飾功能。
-o:將寫的百度內容保存到 index.html 文件中
五、通過命令永久設定 IP
可以實現創建、顯示、編輯、刪除、激活和停用網絡連接以及控制和顯示網絡設備狀態等。
ens160 為網卡名
1.NM 控制的網絡是否開啟
nmcli networking? ? ? ? ? ? ? ? ?????????? ????????? #查看網絡狀態
nmcli networking off? ? ? ? ? ? ? ??????????????????#關閉網絡
nmcli networking on? ? ? ? ? ? ? ????????? ????????#開啟網絡
2.查看網卡信息
nmcli device show [ens160]? ? ? ? ? ????????? #查看所有網絡設備詳情(q 鍵退出)
nmcli device status [ens160]? ? ? ????????? ? ?#查看網卡服務接口信息
nmcli connection show [ens160]? ??? ? ? ? #查看連接(指定網卡詳細信息,q 鍵退出)
3.激活和關閉網卡或網絡連接
nmcli device connect ens160? ? ? ????????? ? #啟用 ens160 網卡
nmcli device disconnect ens160? ? ?????????#關閉 ens160 網卡(只停用設備的 IP,不關閉設備)
nmcli device up ens160? ? ? ? ? ? ? ? ??????????#開啟設備,激活網絡連接
nmcli device down ens160? ? ? ? ? ? ????????? #斷開設備,關閉網絡連接
nmcli connection up test???????????????????????? #開啟連接
nmcli connection down test? ? ? ? ? ? ? ? ? ??#關閉連接
4.添加網絡連接
nmcli connection add type ethernet con-name test ifname ens160 ipv4.method manual?ipv4.addresses 192.168.10.123/24
nmcli connection reload? ? ? ? ? ? ? ? ? ? ? ? ? #刷新
nmcli connection up test? ? ? ? ? ? ? ? ? ? ? ? ?#激活5.更改網卡的 IP
nmcli connection modify test?ipv4.addresses 192.168.10.100/24
6.刪除網絡連接
nmcli connection delete test? ? ? ? ????????? ?#刪除連接
1.nmcli networking (網絡)
查看 NM 控制的網絡是否開啟,若為關閉狀態,則無法對網絡用戶進行設定,只能設定臨時的 IP;只有開啟網絡,并查看網卡信息,才能使用該網絡。
?
2.nmcli device (設備)
①?nmcli device status:查看網卡服務接口信息。刪除前面設定的網卡,然后查看已有設備的連接狀態,顯示沒有使用 ens160 這臺設備。

通過圖形方式設定名為 test 的連接,IP 地址為 192.168.10.100/24,
?
再次查看設備連接狀態,這臺設備已被 test 所使用。
②?nmcli device disconnect ens160:只停用設備的 IP?,斷開連接,但設備不關閉。通過 ip a 命令查看 IP 地址,然后關閉 ens160 網卡的連接,再次通過 ip a 命令查看,已沒有了 IP 地址。
③?nmcli device connect ens160:啟用 ens160 網卡,IP 地址便回來了。
?
④?nmcli device down ens160:將設備斷電,關閉連接?
⑤?nmcli device up ens160:將設備通電,開啟連接?
⑥?nmcli device show:查看設備的詳細信息。nmcli device show ens160 只查看?ens160 設備的信息。
3.nmcli connection (連接)
①?nmcli connection delete test:刪除連接先將 ens160 設備刪除,用圖形查看是否刪除成功。
②?nmcli connection add type ethernet con-name test ifname ens160 ipv4.method manual ipv4.addresses 192.168.10.123/24?:手動添加名為 test 的連接,IP 為 192.168.10.123/24
③?nmcli connection add type ethernet con-name test1 ifname ens160 ipv4.method auto?:配置 DHCP
④?nmcli connection show:查看網卡信息
因 ens160 已被 test 使用,所以 test1 啟用不了?
將 test1 刪除,并查看是否刪除成功。
?
⑤?nmcli connection modify test ipv4.addresses 192.168.10.100/24?:修改 test 的 IP 地址為192.168.10.100/24 。在圖形中查看,IP 已改,但不生效。因為圖形顯示的是配置文件,而網絡已經運行了 192.168.10.123/24 的 IP 地址,加載過了這個地址,所以不生效。
?
⑥?nmcli connection reload :刷新
⑦?nmcli connection up test?:激活
更改完畢后,要先刷新,再激活,才能生效。
?
六、網絡配置文件
cd /etc/NetworkManager/system-connections/
/etc/NetworkManager/system-connections/? ?網卡的配置目錄
可查看到 test.nmconnection 的權限必須為 600, 否則網絡無法啟用。
將?test.nmconnection 的權限修改為 644,刷新后可查看到已沒有 test 的網卡了
再將權限修改回 600, 刷新激活后,可查看到 test 網卡存在。
ipv6 和 proxy(代理) 不需要添加,可刪?
查看 test.nmconnection 文件是否還存在,隨后直接修改 test.nmconnection 文件,設定 IP
將以下內容寫入 test.nmconnection 文件,手動設定兩個 ip 地址
[connection]
id=lxt? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #鏈接名稱
type=ethernet? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #網絡類型
interface-name=ens160? ? ? ? ? ? ? ? ? #設備名稱[ipv4]
address1=192.168.10.100/24? ? ? ? # IP 地址
address2=192.168.10.200/24? ? ? ? # IP 地址
method=manual? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#網卡工作模式為靜態(手動配置)
確保當前所在目錄為網卡配置目錄,然后將文件名改為 lxt.nmconnection ,并修改權限為 600,才能成功啟用網絡。?
刷新、查看并啟用網卡,已成功添加名為 lxt 的網卡。
用ip a 命令可查看到該設備已有 192.168.10.100/24 和 192.168.10.200/24 兩個 ip 地址。?
七、網關的定義及配置
在 Linux 系統中,網關(Gateway)是一個網絡節點,充當著不同網絡之間的橋梁,使數據包能夠在不同網絡之間進行轉發。?
1.臨時設定網關?
route -n :查看路由表
route add default gw 192.168.10.2 :添加臨時網關
將網絡連接重新刷新和激活后,便沒有了網關。
2.永久設定網關?
nmcli connection modify lxt ipv4.method manual ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.2
根據以上命令添加網關,然后刷新并激活,查看路由表,便可知成功設定了永久網關。
隨后進入到網絡配置目錄中,查看網關,若在文件中設定網關,只需在 ip 地址后面加上 ,網關?即可。
只有配置了網關,才能連通外網。?
八、dns 的定義及配置
在 Linux 中,DNS(Domain Name System,域名系統)是一種用于將域名轉換為 IP 地址的分布式網絡服務系統。?
在 Windows 的終端可以 ping 通外網(以百度為例),也可知道百度的 ip 地址。
而在當前主機只能 ping 通 ip 地址,無法 ping 通域名,因為這臺主機并不知道百度的 ip 地址。
1.臨時設定 dns?
解析:解釋分析,知道網址,可得出 ip 地址
/etc/hosts:本地解析文件,用戶自己把網址和 ip 的對應關系記錄到此文件中,那么在瀏覽器訪問網址的時候就可以做解析。
/etc/resolv.conf:dns 服務器的指向文件,此文件中不提供域名解析,但提供 dns 域名解析服務器的地址。
vim /etc/hosts:編輯本地解析文件,將百度的 ip 地址與域名加上,并 :wq 保存。
隨后 ping 百度的域名,顯示可以連通。
vim /etc/resolv.conf:編輯?dns 服務器的指向文件,添加服務器名稱 8.8.8.8。
8.8.8.8:當有域名解析需求時發送需求給 8.8.8.8(谷歌的 dns)
查看 /etc/hosts 解析文件的內容,只添加了百度的 ip 和域名,隨后 ping? www.qq.com ,連通成功,通過 dig 可查看到,數據來源于?8.8.8.8。
此時可以隨意上網,大多數網址都能查看。
2.永久設定 dns?
?但是這個方式并不是永久的,最好是寫入配置文件中,才是永久設定 dns。寫入配置文件的dns 為114.114.114.114。
刷新并激活后,查看 /etc/resolv.conf 中的內容,服務器名稱已改為 114.114.114.114,隨后 ping 百度的域名,連通成功。?