Linux基礎之網路管理

来源:https://www.cnblogs.com/smileleooo/p/18162454
-Advertisement-
Play Games

目錄網路配置服務管理防火牆配置文件下載wget和curl網路連接信息netstat和ss Linux 網路管理涉及一系列任務,包括配置網路介面、設置IP地址、管理網路服務和防火牆等。 網路配置 網卡命名 根據網路介面定義設備: ethX 傳統的乙太網介面命名方式,其中 X 通常是數字,如 eth0 ...


目錄

Linux 網路管理涉及一系列任務,包括配置網路介面、設置IP地址、管理網路服務和防火牆等。

網路配置

網卡命名

根據網路介面定義設備:

  • ethX 傳統的乙太網介面命名方式,其中 X 通常是數字,如 eth0 等

  • wlanX 用於無線網卡介面,類似於 wlan0 等

不同的發行版和內核版本網卡命名規則會有所不同,可以使用命令 ls /sys/class/net/ 來查看系統中的網卡介面。

其中預設存在的 lo 是指環回(loopback)介面,環回介面的 IP 地址通常是 127.0.0.1,也稱為本地迴環地址。

網卡配置

ifconfig 命令用於查看和配置網路介面信息。

sudo ifconfig eth0 up            # 啟用 eth0 介面

sudo ifconfig eth0 down          # 禁用 eth0 介面

sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up  # 設置IP地址和子網掩碼

其他命令包括 ip、nmcli 等都大同小異。

網路配置文件

配置靜態IP地址,在 Ubuntu 中配置靜態 IP 地址可以通過編輯網路配置文件來完成。

使用 NetworkManager 的方法:

  1. 編輯網路介面配置文件
sudo vim /etc/network/interfaces
  1. 編輯靜態IP地址、網關和DNS伺服器的
auto eth0
iface eth0 inet static
    address 192.168.1.100   # 靜態 IP 地址
    netmask 255.255.255.0   # 掩碼
    gateway 192.168.1.1     # 網關
    dns-nameservers 8.8.8.8 8.8.4.4   # DNS 伺服器
  1. 保存並退出編輯器,重新啟動網路服務
sudo systemctl restart NetworkManager

還有通過 netplan 管理網路的方式。

服務管理

systemctlservice 都是用於管理系統服務的命令行工具。

systemctl是在較新版本的Linux中引入的系統和服務管理工具,如systemd。service命令是傳統 SysVinit系統中用來管理系統服務的工具。

在許多Linux發行版中,service命令實際上是systemctl命令的一個符號鏈接,以向後相容。

使用 systemctl 啟動、停止和重啟網路服務:

sudo systemctl status network.service # 查看服務狀態
sudo systemctl start network.service # 啟動服務
sudo systemctl stop network.service # 停止服務
sudo systemctl restart network.service # 重啟服務
sudo systemctl enable network.service # 設置開機自啟動
sudo systemctl disable network.service # 禁用開機自啟動

service和systemctl相比除了參數的位置不同,其他一致。

防火牆配置

常用的Linux防火牆工具包括 iptablesfirewalld,用於配置和管理Linux的防火牆規則。

Netfilter是Linux內核中用於實現數據包過濾和網路地址轉換功能的框架,iptables和firewalld都是基於Netfilter框架實現的工具。iptables是傳統的Linux防火牆工具,而firewalld則是較新的動態防火牆管理器。

重點關註firewalld防火牆,它支持動態更新技術並加入了區域的概念。

firewalld中常見的區功能變數名稱稱(預設為public)以及相應的策略規則:

區域 預設規則策略
阻塞區域 (block) 拒絕流入的流量,除非與流出的流量相關
工作區域 (work) 拒絕流入的流量,除非與流出的流量相關
家庭區域 (home) 拒絕流入的流量,除非與流出的流量相關
公共區域 (public) 不相信網路上的任何電腦,只有選擇接受傳入的網路連接
隔離區域 (DMZ) 隔離區域也稱為非軍事區域,內外網路之間增加的一層網路,起到緩衝作用。對於隔離區域,只有選擇接受傳入的網路連接。
信任區域 (trusted) 允許所有的數據包
丟棄區域 (drop) 拒絕流入的流量,除非與流出的流量相關
內部區域 (internal) 等同於home區域
外部區域 (external) 拒絕流入的流量,除非與流出的流量有關;而如果流量與ssh服務相關,則允許 流量

firewall-cmd 是用於管理 firewalld 防火牆的命令行工具:

查看防火牆狀態:

firewall-cmd --state

啟動/停止/重啟 firewalld 服務:

systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld

開啟/關閉 firewalld 服務:

systemctl enable firewalld
systemctl disable firewalld

查看所有防火牆規則:

firewall-cmd --list-all

添加/移除埠:

firewall-cmd --add-port=PORT/PROTOCOL
firewall-cmd --remove-port=PORT/PROTOCOL

添加/移除服務:

firewall-cmd --add-service=SERVICE
firewall-cmd --remove-service=SERVICE

重載防火牆規則:

firewall-cmd --reload

如果想讓策略一直存在,需要在firewall-cmd命令設置防火牆策略時添加 --permanent 參數。

例如

配置在172.24.8.0 網段的主機訪問伺服器的5423埠被轉發到80埠:

firewall-cmd --zone=public --add-forward-port=port=5423:proto=tcp:toport=80:toaddr=SERVER_IP --source=172.24.8.0/24

文件下載wget和curl

curlwget 都是在命令行下使用的用於下載文件的工具。wget專門用於下載文件,不支持發送請求。curl不僅能下載,還可以發送各種類型的請求,使用代理等。

curl 命令常用的參數:

  • -X, --request 指定 HTTP 請求方法,如 GET、POST、PUT、DELETE 等

  • -d, --data 發送 POST 請求時使用的數據

  • -H, --header 添加額外的請求頭信息

  • -i, --include 在輸出中包含 HTTP 頭信息

  • -o, --output 將響應輸出到指定文件

  • -O, --remote-name 將遠程文件保存到本地,使用遠程文件的文件名

  • -L, --location 遵循重定向

  • -v, --verbose 顯示詳細的操作信息,包括請求和響應的頭信息

  • -A, --user-agent 設置用戶代理字元串

wget 命令常用的參數:

  • -O, --output-document 將下載的文件保存為指定的文件名

  • -P, --directory-prefix 將下載的文件保存到指定目錄下

  • -r, --recursive 遞歸下載,下載指定 URL 下的所有鏈接

  • -t, --tries 設置重試次數

  • -b, --background 後臺下載模式

  • -U, --user-agent 設置用戶代理字元串

  • --limit-rate= 限制下載速率

網路連接信息netstat和ss

ssnetstat 都是用於查看系統網路連接信息的命令行工具。ss是一個更現代的工具,使用更快的內核數據源,並且在處理大量連接時性比netstat更好,能夠顯示更多的詳細信息。netstat 是一個更傳統的工具,用於顯示網路連接、路由表、介面統計信息等。

ss 命令的一些常用選項:

  • -t 顯示TCP套接字

  • -u 顯示 UDP 套接字

  • -l 顯示監聽狀態的套接字

  • -a 顯示所有連接狀態的套接字

  • -p 展示使用socket的進程

  • -n 不解析服務名

  • -i 更多詳細信息

netstat 命令的一些常用選項:

  • -a 顯示所有連接和監聽埠

  • -n 以數字形式顯示地址和埠號,而不是嘗試反解析主機名和服務名

  • -t 僅顯示 TCP 協議相關的連接

  • -u 僅顯示 UDP 協議相關的連接

  • -l 僅顯示正在監聽的套接字

  • -p 顯示每個套接字關聯的進程 ID 和進程名稱

通常ss和netstat會和grep命令結合,快速找到符合條件的網路連接信息。

例如:

netstat -antlp | grep 80

# 找到埠為80的TCP網路連接信息

若有錯誤,歡迎指正!o( ̄▽ ̄)ブ


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • Docker安裝 1、Rocky Linux 下載Rocky Linux 安裝 Docker 引擎 |Docker 文檔 阿裡雲開源鏡像 1.1、設置存儲庫 安裝軟體包(提供實用程式)並設置存儲庫。 yum-utils yum-config-manager sudo yum install -y y ...
  • 一:keystone組件部署 只在控制節點上面操作 1、安裝和配置keystone # 1.安裝keystone軟體包 # wsgi:使web伺服器支持WSGI的插件 # httpd:Apache軟體包 # openstack-keystone:keystone的軟體包 [root@controll ...
  • title: 進程間通信 cover: https://img2.imgtp.com/2024/04/30/9GnvXoDg.png tags: - 通信 - linux categories: linux系統編程 引言 進程間通信(interprocess communication,簡稱 IPC ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...