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
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...