Linux下的網絡管理

注意:本文使用的Linux系統版本為Red Hat Enterprise Linux 9 (RHEL 9)。

在RHEL9上,使用NM(NetworkManager)進行網絡配置,ifcfg (也稱為 文件)將不再是網絡配置文件的主存儲。雖然 ifcfg 樣式仍然可用,但它不再是NetworkManager 存儲新網絡配置文件的默認位置。從 RHEL 9.0 開始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存儲新的網絡配 置。配置以舊格式存儲在 /etc/sysconfig/network-scripts/ 中的連接仍然可以正常工作。對現有配置集的修改會繼續更新舊的文件。

一、對IPv4進行知識回顧

首先,我們要對IPv4的原理進行回顧

IPv4(Internet Protocol version 4)是互聯網中廣泛使用的網絡層協議,負責將數據包從源地址路由到目標地址。以下我們簡單復習一下:


1. IPv4地址結構

  • 地址長度:32位二進制,通常表示為點分十進制(如?192.168.1.1)。

  • 地址組成

    • 網絡部分:標識設備所屬的網絡。

    • 主機部分:標識網絡中的具體設備。

  • 地址分類(傳統分類已逐漸被CIDR取代):

    類別范圍默認子網掩碼用途
    A1.0.0.0 - 126.255.255.255255.0.0.0大型網絡(政府、ISP)
    B128.0.0.0 - 191.255.255.255255.255.0.0中型網絡(企業)
    C192.0.0.0 - 223.255.255.255255.255.255.0小型網絡(家庭、辦公室)
    D224.0.0.0 - 239.255.255.255組播(Multicast)
    E240.0.0.0 - 255.255.255.255保留(實驗用途)
  • CIDR(無類別域間路由):取代傳統分類,使用斜杠表示法(如?192.168.1.0/24)靈活劃分子網。

2. 子網掩碼的作用

子網掩碼是一個 32 位的二進制數,通常用點分十進制表示,如?255.255.255.0

如IP地址192.168.1.100/24 中的 /24 代表的是子網掩碼前24位為1,剩下的為0,即子網掩碼為255.255.255.0

它主要有以下兩個作用:

  • 劃分網絡地址和主機地址:在 IP 地址中,一部分表示網絡地址,另一部分表示主機地址。子網掩碼通過與 IP 地址進行按位與運算,能夠確定 IP 地址中的網絡部分和主機部分。例如,對于 IP 地址?192.168.1.100?和子網掩碼?255.255.255.0,進行按位與運算后得到網絡地址?192.168.1.0

  • 子網掩碼為1的部分代表IP地址的網絡位,子網掩碼為0的部分代表IP地址的主機位。

  • 劃分子網:通過調整子網掩碼,可以將一個大的網絡劃分為多個小的子網,提高 IP 地址的使用效率,同時也便于網絡管理和安全控制。

3.IP 通信判定

在進行 IP 通信時,需要判斷兩個 IP 地址是否在同一個子網內,這可以通過比較它們的網絡地址來實現。具體步驟如下:

  1. 將兩個 IP 地址分別與子網掩碼進行按位與運算,得到各自的網絡地址。

  2. 比較兩個網絡地址,如果相同,則說明兩個 IP 地址在同一個子網內,可以直接進行通信;如果不同,則說明它們不在同一個子網內,需要通過路由器進行通信

示例:

假設有兩個 IP 地址?IP1 = 192.168.1.100?和?IP2 = 192.168.1.200,子網掩碼為?255.255.255.0

  • 計算?IP1?的網絡地址:IP地址?192.168.1.100/24 的網絡地址為 192.168.1.0

  • 計算?IP2?的網絡地址:IP地址?192.168.1.200/24 的網絡地址為 192.168.1.0

由于兩個網絡地址相同,所以?IP1?和?IP2?在同一個子網內,可以直接通信。

4.網絡命令設定

以下是 Linux 系統中?pingifconfig?和?ip addr?命令的詳細解析與使用指南:

1.?ping?命令:網絡連通性測試

功能

通過發送?ICMP 回顯請求?探測目標主機的可達性,測量往返時間(RTT)及丟包率。

常用選項與示例

命令格式說明
ping <目標IP或域名>持續發送請求,按?Ctrl+C?停止(默認間隔1秒)
ping -c <次數> <目標>指定發送請求次數(如?ping -c 4 google.com?發送4次后自動停止)
ping -w <超時秒數> <目標>設置總超時時間(如?ping -w 5 8.8.8.8?最多等待5秒)
ping -i <間隔秒數> <目標>設置發送間隔(如?ping -i 2 192.168.1.1?每2秒發送一次)
ping -c1 -w1 <目標>組合選項:發送1次請求,最多等待1秒(常用于腳本快速檢測)

2.?ifconfig?命令:傳統網絡接口管理

功能

查看或臨時配置網絡接口(已逐漸被?ip?命令替代)。

常用操作

命令格式說明
ifconfig顯示所有活動接口的詳細信息(IP、MAC、收發數據量等)
ifconfig <接口名>查看指定接口狀態(如?ifconfig eth0
ifconfig <接口名> <IP>/<掩碼位數>臨時設置接口 IP(如?ifconfig eth0 192.168.1.100/24
ifconfig <接口名> up/down啟用/禁用接口(如?ifconfig eth0 down?關閉網卡)

3.?ip addr?命令:現代網絡接口管理

功能

替代?ifconfig,提供更強大的地址管理(屬于?iproute2?工具集)。

常用操作

命令格式說明
ip addr show顯示所有接口地址(等效?ifconfig
ip addr add <IP>/<掩碼位數> dev <接口>添加 IP 地址(如?ip addr add 192.168.1.101/24 dev eth0
ip addr del <IP>/<掩碼位數> dev <接口>刪除 IP 地址(如?ip addr del 192.168.1.101/24 dev eth0
ip addr flush dev <接口>清除接口所有地址(如?ip addr flush eth0

二、從網站下載文件的命令? wegt和curl

1、wget?命令基本格式:wget [選項] [URL]

  • 選項:控制下載行為的參數(如限速、斷點續傳等)。

  • URL:要下載的資源地址(支持 HTTP/HTTPS/FTP 協議)。

wegt的常用參數速查表

參數作用典型場景
-P指定下載目錄整理下載文件
-t控制重試次數不穩定網絡環境
-b后臺下載長時間下載任務
-c斷點續傳中斷后恢復下載
-p下載完整頁面資源離線瀏覽頁面
-r遞歸下載鏈接內容鏡像網站或批量下載

示例:wget -r? -P /root/桌面/testfile https://image.baidu.com/

2、curl?命令基本格式:curl [選項] [URL]

  • 選項:控制請求行為(如方法、頭信息、數據等)。

  • URL:目標資源地址(支持 HTTP/HTTPS/FTP/SFTP 等協議)。

curl 常用選項速查表

選項作用示例
請求控制
-X <方法>指定請求方法(GET/POST等)curl -X DELETE https://api.example.com
-H "頭字段"添加請求頭curl -H "Content-Type: json" URL
-L自動跟隨重定向curl -L http://example.com/redirect
數據傳輸
-d "數據"POST 表單數據curl -d "name=John" URL
-F "字段=值"上傳文件/表單(multipart)curl -F "file=@test.jpg" URL
--data-binary發送二進制數據curl --data-binary @data.bin URL
輸出保存
-o 文件名輸出到文件curl -o page.html URL
-O保存為遠程文件名curl -O http://example.com/file.txt
-s靜默模式(不顯示進度)curl -s URL > /dev/null
-v顯示詳細日志(調試用)curl -v URL
認證安全
-u 用戶:密碼基本認證curl -u admin:12345 URL
-k跳過 SSL 證書驗證(不安全)curl -k https://self-signed.site
其他常用
-I僅獲取響應頭(HEAD請求)curl -I URL
-C -斷點續傳curl -C - -O URL
--limit-rate限速(如?100Kcurl --limit-rate 200K URL
-x 代理地址使用代理curl -x http://proxy:8080 URL

示例:curl -o index.html www.baidu.com

三、使用圖形界面方式設定IP

首先進行網絡服務檢查,NetworkManager這個服務處于運行狀態我們才可以配置IP地址。

打開網絡連接圖形界面的命令:nm-connection-editor

nm-connection-editor?是 NetworkManager 提供的一款圖形化網絡連接配置工具,在 Linux 系統中,它能讓用戶以直觀的圖形界面來管理網絡連接,而無需記憶復雜的命令行參數。

下圖是新加的網絡連接的初始狀態,什么都沒設定,接下來我們要對它重新設定一下。

nmcli工具: nmcli 是 NetworkManager 的命令行接口,用于管理網絡連接。

下面我們將檢查新創建的ens160網絡連接是否在使用

1、nmcli connection show

  • 功能:此命令用于顯示系統中所有網絡連接的詳細信息。這些信息涵蓋連接的名稱、UUID(通用唯一識別碼)、設備、類型以及連接狀態等。

2、nmcli connection down <連接名稱>

  • 功能:該命令用于停用指定名稱的網絡連接。當執行此命令后,對應的網絡接口將停止工作,無法再進行網絡通信。

3、nmcli connection up <連接名稱>

  • 功能:此命令用于啟用指定名稱的網絡連接。執行該命令后,對應的網絡接口會重新開始工作,嘗試建立網絡連接。

nmtui 是 NetworkManager 提供的一個基于文本的用戶界面工具,它允許用戶以一種交互式、可視化的方式來配置和管理網絡連接,無需記憶復雜的命令行參數,對于不太熟悉命令行操作的用戶來說非常友好。

nmtui的界面如下圖,很多操作與nm-connection-editor一致,就不細致的講解了。

四、使用命令方式來設定網絡IP

1、通過命令臨時設定IP地址(系統重啟網絡重啟接口單獨重啟 后臨時配置的IP會消失)

ip a a?是?ip addr add?的縮寫形式,同理?ip a d 是?ip addr del?的縮寫形式。

所以ip addr add?192.168.52.200/24 dev ens160的效果跟下面ip a a 192.168.52.200/24 dev ens160的示例是一樣的

命令格式:ip a a <ip地址/子網掩碼> dev <device>? ? ? ? #添加臨時IP地址

? ? ? ? ? ? ? ? ? ip a d?<ip地址/子網掩碼> dev <device>? ? ? ? #刪除IP地址,臨時性的,因為這個命令只是在當前運行狀態下從指定網絡設備上移除了相應的 IP 地址配置,它不會修改系統中保存的網絡配置文件。

示例:ip a a 192.168.52.200/24 dev ens160

命令格式:ifconfig <device> <IP地址> netmask <子網掩碼>

示例:ifconfig ens160 192.168.52.201 netmask 255.255.255.0

2、通過命令永久設定IP地址

首先,使用 nmcli networking 查看網絡是否開啟,如果沒有開啟是無法永久設定IP地址的。

nmcli的常用命令

命令:1、nmcli device status? ? ? ? # 查看設備狀態--開啟或者關閉

? ? ? ? ? ?2、nmcli device show <device>? ? ? ? # 查看設備的信息,若<device>不指定設備名稱,則會默認查看所有設備的信息

? ? ? ? ? ?3、nmcli device disconnect <device>? ? ? ? # 斷開設備連接,設備本身不關閉

示例:nmcli device disconnect ens160? ? ? ? # 斷開設備ens160的連接,設備并不會關閉

? ? ? ? ? ?4、nmcli device connect <device>? ? ? ? # 重新連接設備,設備本身不關閉

示例:nmcli device connect ens160? ? ? ? ? ? # 重新連接設備ens160,設備并不會關閉

# 要先將設備ens160的網絡配置好,否則如果沒有配置好ens160的網絡,那重新連接設備也是無效的。

? ? ? ? ? ?5、nmcli device down <device>? ? ? ? ? ? ?# 關閉設備,相當于給設備斷電

示例:nmcli device down ens160? ? ? ? ? ? ?# 將設備ens160關閉

? ? ? ? ? ?6、nmcli device up <device>?? ? ? ? ? ? ? ? ?# 開啟設備,相當于給設備供電

示例:nmcli device up ens160? ? ? ? ? ? ? ? ? # 開啟設備ens160

? ? ? ? ? ?7、nmcli connection delete <網絡連接名稱>? ? ? ? # 刪除網絡連接

示例:

? ? ? ? ? ?8、nmcli connection add type <網絡連接類型> con-name <網絡連接名稱> ifname

<接口名稱> ipv4.method <ipv4地址的設置類型> ipv4.addresses <IP地址/子網掩碼> ipv4.gateway <網關地址>? ......

# 重新添加一個新的網絡連接,若ipv4地址的設置類型為DHCP(自動),則后面不用手動添加IP地址省略號代表還有很多其它選項可以使用,這里就不全部列舉出來了。

nmcli connection add表示添加網絡連接,后面的參數可以交換位置。

例如:nmcli connection add con-name test ipv4.method auto ifname ens160 type ethernet

示例:

注:若一個設備用于兩個或以上的網絡連接,那只有最先設置的網絡連接會生效

? ? ? ? ? ? 9、nmcli connection modify <網絡連接名稱>? ?......? ? ? # 修改網絡連接

# 省略號位置的參數可以參考上面第八點--- 即重新添加一個新的網絡連接那個位置

nmcli connection modify表示修改網絡連接,后面的參數可以交換位置。

示例:????????

3、通過設置配置文件來永久設置IP地址

首先,要檢查網卡配置目錄里面的文件權限不要出錯了,否則無法激活網絡連接。

然后,就是修改網卡配置目錄里面的文件,只要修改完這個test.nmconnection文件之后對文件進行保存,就是永久性的設置。

下圖為原設置。

下圖為修改之后的設置,只修改了id和ipv4地址。

若想要上圖中文件的修改立即生效,需要輸入nmcli connection reload、nmcli connection up test這兩條命令,讓網絡配置重新生效。

永久性修改:

通過修改網卡配置目錄里文件的配置和使用nmcli命令修改后的配置都是永久性的。

例如:上圖中的IP地址、dns服務器和網關都是永久性的,前提是文件要保存設置。

五、網關定義及配置方法

網關(Gateway)?是連接不同網絡的設備或節點,負責在不同網絡間轉發數據。在 TCP/IP 網絡中,默認網關是本地網絡與其他網絡(如互聯網)通信的出口路由器的 IP 地址。當設備需要訪問不在同一子網的目標 IP 時,數據包會被發送到默認網關進行路由。

下圖中配置的網關是臨時的,系統重啟、網絡重啟、接口單獨重啟會讓網關消失。

六、DNS解析和DNS的配置方法

一、DNS的定義

DNS(Domain Name System,域名系統)?是一個分布式數據庫系統,用于將人類可讀的域名(如?www.example.com)轉換為計算機可識別的IP地址(如?192.0.2.1)。它是互聯網的“電話簿”,通過分層和分布式的設計,實現了高效、可靠的域名解析。

二、DNS的核心作用

  1. 域名解析:將域名轉換為IP地址(正向解析)或IP地址轉換為域名(反向解析)。

  2. 負載均衡:通過輪詢分配同一域名的多個IP地址,分散服務器壓力。

  3. 郵件路由:通過MX記錄指定郵件服務器的地址。

  4. 服務發現:支持多種記錄類型(如SRV記錄)定位特定服務(如VoIP、數據庫)。

三、DNS配置方法

下圖配置的DNS服務器是臨時的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76419.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76419.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76419.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

游戲引擎學習第233天

原地歸并排序地方很蒙圈 game_render_group.cpp&#xff1a;注意當前的SortEntries函數是O(n^2)&#xff0c;并引入一個提前退出的條件 其實我們不太討論這些話題&#xff0c;因為我并沒有深入研究過計算機科學&#xff0c;所以我也沒有太多內容可以分享。但希望在過去幾天里…

從《周游記3》演繹歌劇版《菊花臺》,周杰倫婚禮曲目意大利文版驚喜亮相

今天&#xff08;4月19日&#xff09;22:00&#xff0c;由魔胴西西里咖啡冠名的戶外實境互動綜藝《周游記3》第四期即將播出。本期節目中&#xff0c;“J式之旅”發起人周杰倫和林暐恒、杜國璋、陳冠霖、陳冠廷&#xff0c;將繼續意大利之旅&#xff0c;從那不勒斯的百年老店到…

Linux系統編程 day6 進程間通信mmap

父子共享的信息&#xff1a;文件描述符&#xff0c;mmap建立的共享映射區&#xff08;MAP_SHARED&#xff09; mmap父子間進程通信 var的時候 &#xff1a;讀時共享&#xff0c;寫時復制 父進程先創建映射區&#xff0c;指定共享MAP_SHARED權限 &#xff0c; fork創建子進程…

opencv--圖像處理

圖像處理技術 圖像處理技術是利用計算機對圖像進行計算,分析和處理的技術,包括數字圖像處理和計算機視覺兩大領域。 對圖像的處理包括濾波,縮放,分割,識別(兩種信息對比)等。 鏈接 數字圖像處理 1. 數字圖像處理(Digital Image Processing) 數字圖像處理主要關注圖…

Spring 學習筆記之 @Transactional詳解

一、數據庫事務基礎 數據庫事務&#xff08;Transaction&#xff09;是數據庫管理系統中用于確保數據一致性和完整性的一種機制。它是一組操作的集合&#xff0c;這些操作要么全部成功&#xff0c;要么全部失敗&#xff0c;從而保證數據庫狀態的正確性。 1.1 事務的基本概念 定…

【Openlayers】Openlayers 入門教程

Openlayers 入門教程 -系列文章列表 openlayers 入門教程&#xff08;一&#xff09;&#xff1a;openlayers簡介 openlayers 入門教程&#xff08;二&#xff09;&#xff1a;Map 篇 openlayers 入門教程&#xff08;三&#xff09;&#xff1a;View 篇 openlayers 入門教程&a…

【Lua語言】Lua語言快速入門

初始Lua Lua是一種輕量小巧的腳本語言&#xff0c;他使用標準C語言編寫并以源代碼形式開放。這意味著Lua虛擬機可以很方便的嵌入別的程序中&#xff0c;從而為應用程序提供靈活的擴展和定制功能。同時&#xff0c;在目前腳本引擎中&#xff0c;Lua的運行速度占有絕對優勢。 變…

車載診斷新架構--- SOVD初入門(上)

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 周末洗了一個澡,換了一身衣服,出了門卻不知道去哪兒,不知道去找誰,漫無目的走著,大概這就是成年人最深的孤獨吧! 舊人不知我近況,新人不知我過…

linux查看目錄相關命令

查看目錄命令 學習目標 能夠使用Linux命令查看目錄信息 1. 查看目錄命令的使用 命令說明ls查看當前目錄信息tree以樹狀方式顯示目錄信息 ls命令效果圖: tree命令效果圖: 2. 查看當前目錄路徑 命令說明pwd查看當前目錄路徑 pwd命令效果圖: 3. 清除終端內容 命令說明clear…

JavaScript中的Event事件對象詳解

一、事件對象&#xff08;Event&#xff09;概述 1. 事件對象的定義 event 對象是瀏覽器自動生成的對象&#xff0c;當用戶與頁面進行交互時&#xff08;如點擊、鍵盤輸入、鼠標移動等&#xff09;&#xff0c;事件觸發時就會自動傳遞給事件處理函數。event 對象包含了與事件…

OSPF綜合實驗(HCIP)

1&#xff0c;R5為ISP&#xff0c;其上只能配置Ip地址&#xff1b;R4作為企業邊界路由器&#xff0c; 出口公網地址需要通過ppp協議獲取&#xff0c;并進行chap認證 2&#xff0c;整個OSPF環境IP基于172.16.0.0/16劃分&#xff1b; 3&#xff0c;所有設備均可訪問R5的環回&…

2024-04-19| Java: Documented注解學習 JavaDoc

在 Java 中&#xff0c;Documented 是一個元注解&#xff08;meta-annotation&#xff09;&#xff0c;用于標記其他注解&#xff0c;表明這些注解應該被包含在 JavaDoc 文檔中。以下是關于 Documented 注解的作用的簡要說明&#xff1a; 作用 記錄注解信息到 JavaDoc&#x…

15.Chromium指紋瀏覽器開發教程之WebAudio指紋定制

WebAudio指紋概述 瀏覽器中的 WebAudio API 提供了豐富的功能&#xff0c;其中包括了大量生成和處理音頻數據的API。WebAudio API 的音頻指紋技術是一種利用音頻信號的特征來唯一標識音頻的技術。因為WebAudio API 提供了豐富的音頻處理功能&#xff0c;包括合成、過濾、分析等…

2025年贛教云智慧作業微課PPT模板

江西的老師們注意&#xff0c;2025年贛教云智慧作業微課PPT模版和往年不一樣&#xff0c;千萬不要搞錯了&#xff0c;圖上的才是正確的2025年的贛教云智慧作業微課PPT模版&#xff0c;贛教云智慧作業官網有問題&#xff0c;無法正確下載該模板&#xff0c;需要該模板的&#xf…

2.5.1DOS下常用工具 curl,netstat,telnet命令使用

curl命令 Win10及以上系統默認已安裝Curl&#xff0c;打開命令提示符輸入 curl --help&#xff0c;若顯示幫助信息則無需安裝 ??手動安裝方法?? 官網下載&#xff1a;訪問 curl官網 選擇Windows版本curl for Windows若需在 Windows XP 等舊系統使用&#xff0c;需選擇更…

使用Redis實現實時排行榜

為了實現一個實時排行榜系統&#xff0c;我們可以使用Redis的有序集合&#xff08;ZSet&#xff09;&#xff0c;其底層通常是使用跳躍表實現的。有序集合允許我們按照分數&#xff08;score&#xff09;對成員&#xff08;member&#xff09;進行排序&#xff0c;因此非常適合…

Linux——firewalld防火墻(筆記)

目錄 一&#xff1a;Firewalld防火墻的概述 &#xff08;1&#xff09;firewalld簡介 &#xff08;2&#xff09;firewalld&iptables的關系 &#xff08;3&#xff09;firewalld與iptables service的區別 1. ?規則管理方式? 2. ?默認策略與設計邏輯? 3. ?配置文…

JS中實現類似sleep、wait、delay的延時功能

前言 編寫代碼時很多時候需要進行流程化的操作&#xff0c;各個流程間通常需要等待一定時間&#xff0c;這在很多語言中通常可以使用 sleep 、 wait 、 delay 等函數來實現。JavaScript原生并沒有類似的功能&#xff0c;想要延時通常就是使用 setTimeout(functionRef, delay) …

Elasticsearch:使用 ES|QL 進行搜索和過濾

本教程展示了 ES|QL 語法的示例。請參考 Query DSL 版本&#xff0c;以獲得等效的 Query DSL 語法示例。 這是一個使用 ES|QL 進行全文搜索和語義搜索基礎知識的實踐介紹。 有關 ES|QL 中所有搜索功能的概述&#xff0c;請參考《使用 ES|QL 進行搜索》。 在這個場景中&#x…

Java 動態代理實現

Java 動態代理實現 一、JDK動態代理二、CGLIB動態代理三、動態代理的應用場景四、JDK代理與CGLIB代理比較 動態代理是Java中一種強大的技術&#xff0c;它允許在運行時創建代理對象&#xff0c;用于攔截對目標對象的方法調用。 一、JDK動態代理 JDK動態代理是Java標準庫提供的代…