Linux網路——配置網路之ifconfig家族命令

来源:https://www.cnblogs.com/shamao/archive/2019/07/31/11277890.html
-Advertisement-
Play Games

Linux網路——配置網路之ifconfig家族命令 摘要:本文主要學習了ifconfig家族用來配置網路的命令。 ifconfig命令 ifconfig命令用來顯示或設置網路介面信息,設置只是臨時生效,永久生效需要更改配置文件。 在最新版的CentOS 7上已經沒有了這個命令,需要使用 yum i ...


Linux網路——配置網路之ifconfig家族命令

摘要:本文主要學習了ifconfig家族用來配置網路的命令。

ifconfig命令

ifconfig命令用來顯示或設置網路介面信息,設置只是臨時生效,永久生效需要更改配置文件。

在最新版的CentOS 7上已經沒有了這個命令,需要使用 yum install -y net-tools 命令安裝。

基本語法

1 ifconfig [選項]

選項說明

 1 網卡:顯示指定網卡介面信息。
 2 -a:顯示全部介面信息。
 3 -s:顯示摘要信息。
 4 網卡 up:啟動指定網卡。
 5 網卡 down:關閉指定網卡。
 6 網卡 reload:重啟指定網卡。
 7 網卡 IP地址:修改網卡的IP地址。
 8 網卡 IP地址/子網掩碼位數:修改網卡的IP地址和子網掩碼。
 9 網卡 netmask 子網掩碼:修改網卡的子網掩碼。
10 網卡 broadcast 地址:修改網卡的廣播地址。
11 網卡 mtu 值:修改網卡的最大傳輸單元。
12 網卡 hw 地址:修改網卡的MAC地址。
13 arp:啟用ARP協議。
14 arp:關閉ARP協議。
15 add:給指定網卡配置IPv6地址。
16 del:刪除指定網卡的IPv6地址。

使用舉例

 1 [root@localhost ~]# ifconfig eno16777736
 2 eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
 3         inet 192.168.35.128  netmask 255.255.255.0  broadcast 192.168.35.255
 4         inet6 fe80::20c:29ff:fee3:52a0  prefixlen 64  scopeid 0x20<link>
 5         ether 00:0c:29:e3:52:a0  txqueuelen 1000  (Ethernet)
 6         RX packets 11957  bytes 7976839 (7.6 MiB)
 7         RX errors 0  dropped 0  overruns 0  frame 0
 8         TX packets 4216  bytes 1518092 (1.4 MiB)
 9         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
10 
11 [root@localhost ~]#

結果說明

1 eno16777736:表示網卡名稱。從flags可知該介面已啟用,支持廣播、組播。mtu表示最大傳輸單元為1500。
2 inet:表示IPv4地址。netmask表示子網掩碼。broadcast表示廣播地址。
3 inet6:表示IPv6地址。prefixlen表示掩碼長度。scopeid表示作用域,link表示僅該介面有效。
4 ether:表示網卡介面的MAC地址。txqueuelen表示傳輸隊列長度。Ethernet表示介面類型為Ethernet。
5 RX:表示接收的報文情況,TX表示發送的報文情況。
6 packets:表示接收報文數,bytes表示接收總位元組數,errors表示錯誤報文數,dropped表示丟棄報文數,overruns表示溢出報文數,carrier表示載荷報文數,collisions表示衝突報文數。

route命令

route命令用於顯示和操作IP路由表,設置只是臨時生效,永久生效需要更改配置文件。

基本語法

查看路由信息:

1 route [-nee]

設置路由信息:

1 route [add|del] [-net|-host] [netmask] [reject|dev|gw]

選項說明

查看路由信息:

1 -n:不解析主機名稱,使用IP地址和埠號。
2 -ee:使用更詳細的資訊來顯示。

設置路由信息:

1 -net IP地址:表示後面連接的是到一個網路的路由表。
2 -host 主機:表示後面連接的是到一個主機的路由表。
3 netmask 子網掩碼:指定路由表的子網掩碼。
4 reject:設置指定路由不可達。
5 dev 網卡名稱:指定由那個網路卡連線出去。
6 gw IP地址 網卡名稱:指定由那個網關連接出去。

使用舉例

查看路由信息:

1 [root@localhost ~]# route
2 Kernel IP routing table
3 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
4 default         192.168.35.2    0.0.0.0         UG    100    0        0 eno16777736
5 192.168.35.0    0.0.0.0         255.255.255.0   U     100    0        0 eno16777736
6 [root@localhost ~]#

設置路由信息:

1 [root@localhost ~]# route add -net 192.168.35.0 netmask 255.255.255.0 dev eth0
2 [root@localhost ~]# route add -net 10.0.0.0 netmask 255.0.0.0 reject
3 [root@localhost ~]# route del -net 192.168.35.0 netmask 255.255.255.0 dev eth0
4 [root@localhost ~]# route del -net 10.0.0.0 netmask 255.0.0.0 reject

欄位說明

路由信息欄位說明:

 1 Destination:表示目標網路或目標主機。
 2 Gateway:表示網關地址,如果沒有就顯示星號。
 3 Genmask:表示網路掩碼,目標是主機時需要設為255.255.255.255,目標是預設路由時會設置為0.0.0.0 4 Flags:表示旗標,總共有多個旗標。
 5 常用的值如下:                       
 6     U (route is up):該路由是啟動(up)的。
 7     H (target is a host):該路由是到一個主機(host)而非網域。
 8     G (use gateway):該路由是到一個網關(gateway)。
 9     R (reinstate route for dynamic routing):恢復動態路由產生的表項。
10     D (dynamically installed by daemon or redirect):該路由是由服務或者重定向創建的動態(dynamically)路由。
11     M (modified from routing daemon or redirect):該路由已經被修改(modified)了。
12     ! (reject route):這個路由將不會被接受,用來抵擋不安全的網域。
13 Metric:表示路由距離,到達指定網路所需的中轉數,是大型區域網和廣域網設置所必需的。
14 Ref:表示路由引用次數。
15 Use:表示該路由被使用的次數,可以粗略估計通向指定網路地址的網路流量。
16 MSS:表示路由TCP連接的預設最大分段大小。
17 Window:表示路由TCP連接的預設視窗大小。
18 irtt:表示初始往返時間(rtt)。內核使用它來猜測最佳的TCP協議參數,而無需等待(可能是緩慢的)答案。
19 HH:表示引用緩存路由的硬體頭緩存的ARP條目和緩存路由的數量。如果緩存路由的介面不需要硬體地址,則為-120 Arp:表示緩存路由的硬體地址是否最新。
21 Iface:表示網路介面名。

netstat命令

netstat命令用於顯示網路相關信息,如網路連接,路由表,介面狀態等。

基本語法

1 netstat [選項]

選項說明

 1 -t:顯示tcp協議相關的連接,tcp連接均有其連接狀態,而所有連接狀態在FSM(Finate State Machine,有限狀態機)內進行轉換。
 2 -u:顯示udp協議相關的連接,udp連接沒有狀態。
 3 -w:顯示raw協議相關的連接。
 4 -a:顯示所有狀態的連接。
 5 -x:顯示UNIX網路連接。
 6 --ip:顯示Internet網路連接,包含tcp、udp、raw類型的連接。
 7 -l:顯示處於監聽狀態的連接。
 8 -e:以擴展格式顯示。
 9 -n:以數字格式顯示IP和Port。
10 -p:顯示相關進程和PID。
11 -s:顯示網路協議的統計。
12 -i:顯示介面信息。
13 -r:顯示路由表信息。

使用舉例

顯示Internet網路連接:

1 [root@localhost ~]# netstat -tanpe
2 Active Internet connections (servers and established)
3 Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
4 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          18972      1472/sshd           
5 tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0          19596      1568/master         
6 tcp        0     52 192.168.35.128:22       192.168.35.1:9341       ESTABLISHED 0          40660      4792/sshd: root@pts 
7 tcp6       0      0 :::22                   :::*                    LISTEN      0          18974      1472/sshd           
8 tcp6       0      0 ::1:25                  :::*                    LISTEN      0          19597      1568/master         
9 [root@localhost ~]#

顯示Unix域套接字:

 1 [root@localhost ~]# netstat -xanp
 2 Active UNIX domain sockets (servers and established)
 3 Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
 4 unix  2      [ ACC ]     STREAM     LISTENING     15887    1/systemd            /var/run/dbus/system_bus_socket
 5 unix  2      [ ]         DGRAM                    8216     1/systemd            /run/systemd/notify
 6 unix  2      [ ACC ]     STREAM     LISTENING     8224     1/systemd            /run/systemd/journal/stdout
 7 unix  5      [ ]         DGRAM                    8227     1/systemd            /run/systemd/journal/socket
 8 unix  12     [ ]         DGRAM                    8229     1/systemd            /dev/log
 9 ...
10 [root@localhost ~]# 

顯示路由信息,欄位含義參考route命令:

1 [root@localhost ~]# netstat -rn
2 Kernel IP routing table
3 Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
4 0.0.0.0         192.168.35.2    0.0.0.0         UG        0 0          0 eno16777736
5 192.168.35.0    0.0.0.0         255.255.255.0   U         0 0          0 eno16777736
6 [root@localhost ~]#

顯示介面概要信息:

1 [root@localhost ~]# netstat -i
2 Kernel Interface table
3 Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
4 eno16777736      1500    18667      0      0 0          6293      0      0      0 BMRU
5 lo              65536       76      0      0 0            76      0      0      0 LRU
6 [root@localhost ~]#

顯示介面詳細信息,欄位含義參考ifconfig命令:

 1 [root@localhost ~]# netstat -ie
 2 Kernel Interface table
 3 eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
 4         inet 192.168.35.128  netmask 255.255.255.0  broadcast 192.168.35.255
 5         inet6 fe80::20c:29ff:fee3:52a0  prefixlen 64  scopeid 0x20<link>
 6         ether 00:0c:29:e3:52:a0  txqueuelen 1000  (Ethernet)
 7         RX packets 18488  bytes 8457307 (8.0 MiB)
 8         RX errors 0  dropped 0  overruns 0  frame 0
 9         TX packets 6212  bytes 1926454 (1.8 MiB)
10         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
11 
12 lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
13         inet 127.0.0.1  netmask 255.0.0.0
14         inet6 ::1  prefixlen 128  scopeid 0x10<host>
15         loop  txqueuelen 0  (Local Loopback)
16         RX packets 76  bytes 6612 (6.4 KiB)
17         RX errors 0  dropped 0  overruns 0  frame 0
18         TX packets 76  bytes 6612 (6.4 KiB)
19         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
20 
21 [root@localhost ~]# 

欄位說明

查看Internet網路連接(tcp,udp,raw),結果欄位含義如下:

 1 Proto:表示套接字使用的協議。
 2 Recv-Q:表示等待接收的隊列長度。
 3 Send-Q:表示等待發送的隊列長度。
 4 Local Address:表示本地主機地址。
 5 Foreign Address:表示遠程連接地址。
 6 State:表示所處的狀態。
 7 常用的值如下:
 8     ESTABLISHED:套接字有一個有效連接。
 9     SYN_SENT:套接字嘗試建立一個連接。
10     SYN_RECV:從網路上收到一個連接請求。
11     FIN_WAIT1:套接字已關閉,連接正在斷開。
12     FIN_WAIT2:連接已關閉,套接字等待遠程方中止。
13     TIME_WAIT:在關閉之後,套接字等待處理仍然在網路中的分組。
14     CLOSED:套接字未用。
15     CLOSE_WAIT:遠程方已關閉,等待套接字關閉。
16     LAST_ACK:遠程方中止,套接字已關閉。等待確認。
17     LISTEN:套接字監聽進來的連接。如果不設置-l或者-a選項,將不顯示出來這些連接。
18     CLOSING:套接字都已關閉,而還未把所有輸出發出。
19     UNKNOWN:套接字狀態未知。
20 User:表示啟動此進程的用戶,擴展欄位。
21 Inode:表示對應的套接字文件的inode號,擴展欄位。
22 PID/Program name:表示處理此套接字的程式進程名和PID。

查看Unix域套接字,結果欄位含義如下:

 1 Proto:表示套接字使用的協議,通常是unix。
 2 RefCnt:表示使用數量,也就是通過此套接字連接的進程數。
 3 Flags:表示的套接字的標誌。通常為SO_ACCEPTON(顯示為ACC),SO_WAITDATA(W)或SO_NOSPACE(N)。
 4 Type:表示套接字使用的類型。
 5 常用的值如下:
 6     SOCK_DGRAM:此套接字用於數據報(無連接)模式。
 7     SOCK_STREAM:流模式(連接)套接字。
 8     SOCK_RAW:此套接字用於RAW模式。
 9     SOCK_RDM:一種服務可靠性傳遞信息。
10     SOCK_SEQPACKET:連續分組套接字。
11     SOCK_PACKET:RAW介面使用套接字。
12     UNKNOWN:未知。
13 State:表示狀態。
14 常用的值如下:
15     FREE:套接字未分配。
16     LISTENING:套接字正在監聽一個連接請求。除非設置-l或者-a選項,否則不顯示。
17     CONNECTING :套接字正要建立連接。
18     CONNECTED:套接字已連接。
19     DISCONNECTING:套接字已斷開。
20     UNKNOWN:套接字狀態未知。
21     空:套接字未連。
22 I-Node:表示對應的套接字文件的inode號,擴展欄位。
23 PID/Program name:表示處理此套接字的程式進程名和PID。
24 Path:表示當相應進程連入套接字時顯示的路徑名。

查看介面信息,結果欄位含義如下:

 1 Iface:表示網卡介面名稱。
 2 MTU:表示介面的最大傳輸單元。
 3 RX:表示接收的數據包情況,RX-OK表示準確接收的包數,RX-ERR表示產生錯誤的包數,RX-DRP表示丟棄的包數,RX-OVR表示溢出的包數。
 4 TX:表示發送的數據包情況,TX-OK表示準確發送的包數,TX-ERR表示產生錯誤的包數,TX-DRP表示丟棄的包數,TX-OVR表示溢出的包數。
 5 Flg:表示介面設置的標記,在利用ifconfig顯示介面配置時,這些標記都採用一個字母。
 6 常用的值如下:
 7     B:已經設置了一個廣播地址。
 8     L:該介面是一個回送設備。
 9     M:接收所有數據包(混亂模式)。
10     N:避免跟蹤。
11     O:在該介面上,禁用ARP。
12     P:這是一個點到點鏈接。
13     R:介面正在運行。
14     U:介面處於活動狀態。

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

-Advertisement-
Play Games
更多相關文章
  • 通過abp(net core)+easyui+efcore實現倉儲管理系統——展現層實現增刪改查之控制器(六)至abp(net core)+easyui+efcore實現倉儲管理系統——展現層實現增刪改查之菜單與測試(九)四篇文章的學習,我們使用ASP.NET Core Mvc的常規的實現方式實現了... ...
  • 在C#中我們想要獲取字元串的拼音並不是那麼困難的,在網上看到很多都是特別笨的方式來實現,其實各有各的好處吧,如果使用了下方法方式,它不知道多音字,這就是一個問題。 ...
  • 1. VisualStuio中的測試資源管理器、CodeLens和ReSharper "上一篇文章" 重溫了《單元測試的藝術》里提到的單元測試的技術及原則。這篇文章實踐使用VisualStudio 2019進行單元測試。 在VisualStudio中通常都會使用“測試資源管理器”進行單元測試。 Pr ...
  • 2019-07-31 用戶管理 who am i:打開當前偽終端的用戶的用戶名 pts/0 後面那個數字就表示打開的偽終端序號,你可以嘗試再打開一個終端,然後在裡面輸入 who am i ,看第二列是不是就變成 pts/1 了,第三列則表示當前偽終端的啟動時間。 whoami:查看當前登陸用戶的用戶 ...
  • [toc] 企業集群架構概述 項目: 類似於手機的app,每一個app都可以算做一個項目。wordpress 架構: lnmp,lamp,lnmt,lamt,維護一個項目使用的一組伺服器 緩存:memcache redis 集群 多台伺服器組成在一起,實現同樣的功能的伺服器 負載均衡 將用戶的請求, ...
  • Linux網路——其他常用網路命令 摘要:本文主要學習了Linux中經常使用的網路操作相關的命令。 hostname命令 hostname命令用於顯示和設置系統的主機名稱,設置只是臨時生效,永久生效需要更改配置文件。 基本語法 修改主機名: 查看系統信息: 選項說明 使用舉例 ...
  • Linux網路——配置網路之iproute家族命令 摘要:本文主要學習了iproute家族用來配置網路的命令。 ip命令 ip命令用於查看和管理IP地址、介面、路由、隧道等。用來取代ifconfig命令。 基本語法 網路介面相關: 網路名稱空間相關: IP地址相關: 路由相關: 選項說明 網路介面相 ...
  • 環境:CentOS7 一、為什麼要學習script命令 當你在終端或控制臺上工作時,你想記錄下自己做了些什麼嗎?當你跟一些Linux管理員同時在系統上幹活,你想知道別人幹了什麼嗎?當你讓別人遠程到你的伺服器,幫你解決問題時,你想學習別人的經驗嗎?當你懷疑你的同事時,你想監控他幹了什麼嗎?或者想實現學 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...