https://opensource.com/article/18/7/sysadmin-guide-networking-commands
作者 | Archit Modi
譯者 | qhwdw 共計翻譯:140 篇 貢獻時間:270 天
一個使管理伺服器和網路更輕鬆的 Linux 工具和命令的參考串列。
如果你是一位系統管理員,那麼你的日常工作應該包括管理伺服器和資料中心的網路。以下的 Linux 實用工具和命令 —— 從基礎的到高階的 —— 將幫你更輕鬆地管理你的網路。
在幾個命令中,你將會看到
,它是“完全合格域名”的全稱。當你看到它時,你應該用你的網站 URL 或你的伺服器來代替它(比如,server-name.company.com
),具體要視情況而定。
Ping
正如它的名字所表示的那樣,ping
是用於去檢查從你的系統到你想去連線的系統之間端到端的連通性。當一個 ping
成功時,它使用的 ICMP[1] 的 echo 包將會傳回到你的系統中。它是檢查系統/網路連通性的一個良好開端。你可以在 IPv4 和 IPv6 地址上使用 ping
命令。(閱讀我的文章 “如何在 Linux 系統上找到你的 IP 地址[2]” 去學習更多關於 IP 地址的知識)
語法:
ping /
ping6 /
你也可以使用 ping
去解析出網站所對應的 IP 地址,如下圖所示:
Traceroute
ping
是用於檢查端到端的連通性,traceroute
實用工具將告訴你到達對端系統、網站,或伺服器所經過的路徑上所有路由器的 IP 地址。traceroute
在網路連線除錯中經常用於在 ping
之後的第二步。
這是一個跟蹤從你的系統到其它對端的全部網路路徑的非常好的工具。在檢查端到端的連通性時,這個實用工具將告訴你到達對端系統、網站、或伺服器上所經歷的路徑上的全部路由器的 IP 地址。通常用於網路連通性除錯的第二步。
語法:
traceroute /
Telnet
語法:
telnet /
是用於 telnet[3] 進入任何支援該協議的伺服器。Netstat
這個網路統計(netstat
)實用工具是用於去分析解決網路連線問題和檢查介面/埠統計資料、路由表、協議狀態等等的。它是任何管理員都應該必須掌握的工具。
語法:
netstat -l
顯示所有處於監聽狀態的埠串列。netstat -a
顯示所有埠;如果去指定僅顯示 TCP 埠,使用 -at
(指定信顯示 UDP 埠,使用 -au
)。netstat -r
顯示路由表。
netstat -s
顯示每個協議的狀態總結。
netstat -i
顯示每個介面傳輸/接收(TX/RX)包的統計資料。
Nmcli
nmcli
是一個管理網路連線、配置等工作的非常好的實用工具。它能夠去管理網路管理程式和修改任何裝置的網路配置詳情。
語法:
nmcli device
列出網路上的所有裝置。nmcli device show
顯示指定介面的網路相關的詳細情況。nmcli connection
檢查裝置的連線情況。nmcli connection down
關閉指定介面。nmcli connection up
開啟指定介面。nmcli con add type vlan con-name dev id ipv4 gw4
在特定的介面上使用指定的 VLAN 號新增一個虛擬區域網(VLAN)介面、IP 地址、和閘道器。
路由
檢查和配置路由的命令很多。下麵是其中一些比較有用的:
語法:
ip route
顯示各自介面上所有當前的路由配置。
route add default gw
在路由表中新增一個預設的閘道器。route add -net gw
在路由表中新增一個新的網路路由。還有許多其它的路由引數,比如,新增一個預設路由,預設閘道器等等。route del -net
從路由表中刪除一個指定的路由條目。
ip neighbor
顯示當前的鄰接表和用於去新增、改變、或刪除新的鄰居。
arp
(它的全稱是 “地址解析協議”)類似於 ip neighbor
。arp
對映一個系統的 IP 地址到它相應的 MAC(介質訪問控制)地址。
Tcpdump 和 Wireshark
Linux 提供了許多包捕獲工具,比如 tcpdump
、wireshark
、tshark
等等。它們被用於去捕獲傳輸/接收的網路流量中的資料包,因此它們對於系統管理員去診斷丟包或相關問題時非常有用。對於熱衷於命令列操作的人來說,tcpdump
是一個非常好的工具,而對於喜歡 GUI 操作的使用者來說,wireshark
是捕獲和分析資料包的不二選擇。tcpdump
是一個 Linux 內建的用於去捕獲網路流量的實用工具。它能夠用於去捕獲/顯示特定埠、協議等上的流量。
語法:
tcpdump -i
顯示指定介面上實時透過的資料包。透過在命令中新增一個 -w
標誌和輸出檔案的名字,可以將資料包儲存到一個檔案中。例如:tcpdump -w -i
。
tcpdump -i src
從指定的源 IP 地址上捕獲資料包。tcpdump -i dst
從指定的標的 IP 地址上捕獲資料包。tcpdump -i port
從一個指定的埠號(比如,53、80、8080 等等)上捕獲資料包。tcpdump -i
捕獲指定協議的資料包,比如:TCP、UDP、等等。Iptables
iptables
是一個包過濾防火牆工具,它能夠允許或阻止某些流量。這個實用工具的應用範圍非常廣泛;下麵是它的其中一些最常用的使用命令。
語法:
iptables -L
列出所有已存在的 iptables
規則。iptables -F
刪除所有已存在的規則。下列命令允許流量從指定埠到指定介面:
iptables -A INPUT -i -p tcp –dport -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o -p tcp -sport -m state – state ESTABLISHED -j ACCEPT
下列命令允許環回介面訪問系統:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Nslookup
nslookup
工具是用於去獲得一個網站或域名所對映的 IP 地址。它也能用於去獲得你的 DNS 伺服器的資訊,比如,一個網站的所有 DNS 記錄(具體看下麵的示例)。與 nslookup
類似的一個工具是 dig
(Domain Information Groper)實用工具。
語法:
nslookup
顯示你的伺服器組中 DNS 伺服器的 IP 地址,它後面就是你想去訪問網站的 IP 地址。nslookup -type=any
顯示指定網站/域中所有可用記錄。網路/介面除錯
下麵是用於介面連通性或相關網路問題除錯所需的命令和檔案的彙總。
語法:
ss
是一個轉儲套接字統計資料的實用工具。nmap
,它的全稱是 “Network Mapper”,它用於掃描網路埠、發現主機、檢測 MAC 地址,等等。ip addr/ifconfig -a
提供一個系統上所有介面的 IP 地址和相關資訊。ssh -vvv user@
允許你使用指定的 IP/域名和使用者名稱透過 SSH 協議登入到其它伺服器。-vvv
標誌提供 SSH 登入到伺服器過程中的 “最詳細的” 資訊。ethtool -S
檢查指定介面上的統計資料。ifup
啟動指定的介面。ifdown
關閉指定的介面systemctl restart network
重啟動系統上的一個網路服務。/etc/sysconfig/network-scripts/
是一個對指定的介面設定 IP 地址、網路、閘道器等等的介面配置檔案。DHCP 樣式也可以在這裡設定。/etc/hosts
這個檔案包含自定義的主機/域名到 IP 地址的對映。/etc/resolv.conf
指定系統上的 DNS 伺服器的 IP 地址。/etc/ntp.conf
指定 NTP 伺服器域名。via: https://opensource.com/article/18/7/sysadmin-guide-networking-commands
作者:Archit Modi[5] 選題:lujun9972 譯者:qhwdw 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出