Linux中排除網路故障時,必須要會的Linux命令有這些!運維必看!

語言: CN / TW / HK

點選進入“PHP開源社群”    

免費獲取進階面試、文件、影片資源

介面資訊

當您需要了解有關您登入的裝置的網路介面的更多資訊時使用介面資訊命令。

IP 命令

檢視所有 IP 地址:

ip a

可以使用-4或-6選項新增過濾器以僅顯示 IPv4 或 IPv6 地址。

ip -4 a
ip -6 a

檢視網路資訊的另一種方法是使用ifconfig,它比ip命令更容易閱讀,顯示的資訊量沒有太大差異,一個顯著的區別是ifconfig顯示一些基本的傳輸/接收統計資訊,這些統計資訊可能很有用,一目瞭然。

ifconfig

網路狀態命令

netstat命令對於發現機器上各種服務正在偵聽的埠很有用,-t可以選擇 TCP 和-u  UDP ,使用-l偵聽埠的選項,如果您更喜歡檢視 IP 地址而不是主機名,請使用該-n選項。

新增多個選項時,可以將它們組合在一起,如下所示。

netstat -tul

如果要檢視偵聽埠的服務的程序 ID (pid),請使用該-p選項,需要使用sudo此命令來檢視pid,否則,它不會顯示。

sudo netstat -tulp

網路可用性

網路可用性命令可用於快速檢查您是否可以訪問網路上的主機或確定主機是否已開啟電源(假設它已連線到網路)。

Ping 命令

最著名的網路命令是ping,可以快速檢視是否可以通過網路訪問裝置,前提是它沒有被防火牆阻止,由於流量不需要由路由器路由(流量保持本地),因此始終允許同一網路內的 Ping。

可以使用ping帶有 IP 地址或主機名的命令。

ping 192.168.1.10
ping thehostname

ping 將繼續 ping 直到停止命令(取決於您使用的終端,可以使用鍵盤快捷鍵(例如“Ctrl + Shift + C”)關閉命令)

要指定 ping 數,請使用該-c選項以及要執行的 ping 數。

ping -c 3 192.168.1.10

如果啟用了 IPv6,則該ping命令可能預設使用 IPv6 IP 地址,可以使用-4或-6選項指定使用 IPv4 或 IPv6 地址。

ping -4 192.168.1.10
ping -6 192.168.1.10

可以同時使用多個選項,下面的命令使用 IPv4 地址並 ping 3 次。

ping -4 -c 3 192.168.1.10

某些防火牆配置為禁用 ping,但如果您有多個內部網路,我建議您在本地網路上允許 ping,即使您ping阻止了 WAN 地址,因為這對於故障排除非常有用。如果您擔心如果您的內部網路或 DMZ 之一受到威脅,會更容易發現網路上的裝置,則不允許從您的內部網路向您的 DMZ 發出 ping 或從您的 DMZ 發出 ping,阻止進出 DMZ 的 ping 有助於進一步隔離該網路。

跟蹤路由命令

跟蹤路由對於檢視到達 Internet 上另一個網路所採用的路徑很有用,除非您的網路中有多個路由器,否則它在您的本地網路上用處不大。

對於大多數家庭使用者來說,情況並非如此,但一些家庭實驗室可能會使用路由器來執行單獨的內部網路,某些traceroute輸出中有星號或問號,這是因為跟蹤的整個路徑可能並不總是顯示,特別是如果防火牆配置為出於安全考慮丟棄 ICMP 流量。

基本traceroute命令如下所示,可以使用 IP 地址或主機名。

traceroute 8.8.8.8
traceroute google.com

與 一樣ping,可以指定 IPv4 和 IPv6。traceroute預設為 IPv4,不像ping需要指定該-4選項。

traceroute -4 google.com
traceroute -6 google.com

traceroute 還有許多其他選項,但基本命令可能對許多使用者來說已經足夠了。

域名系統

DNS 命令在分配主機名和/或覆蓋路由器中的 DNS 值時尤其有用,可以確定主機名是否指向正確的 IP 地址。

主機命令

要在本地網路或 Internet 上查詢與域名關聯的 IP 地址,請使用該host命令。

host google.com

如果要指定用於 DNS 查詢的 DNS 伺服器。

host google.com 1.1.1.1

挖掘命令

如果希望獲得更詳細的 DNS 資訊,該dig命令很有用,基本用法與host命令類似。

dig google.com

還可以指定用於查詢的 DNS 伺服器。

dig @8.8.8.8 google.com

如果想要一個域的所有 DNS 記錄,可以使用該any選項。

dig google.com any

還可以指定其他 DNS 記錄,例如 MX 記錄。

dig google.com mx

當您想知道給定 IP 地址的主機名/域名時,反向 DNS 查詢很有用,結合使用-x選項和 IP 地址即可。

dig -x 8.8.8.8

系統解析命令

systemd-resolve命令可用於檢查當前的 DNS 伺服器設定為什麼,當我在設定新的內部網路或弄亂路由器上的 DNS 設定時對 DNS 問題進行故障排除時,我發現這很有幫助。如果執行以下命令,將看到一行Current DNS Server,DNS Servers其中列出了通過 DHCP 或手動設定的 DNS。

systemd-resolve --status

當我更改某些 DNS 設定以使用拆分 DNS(也稱為水平拆分、拆分域等)時,我發現能夠重新整理 DNS 解析器快取很有用,以便我的系統更快地開始解析新的 IP 地址。要重新整理快取,只需使用--flush-caches選項。

sudo systemd-resolve --flush-caches

該systemd-resolve命令僅對使用systemd.

DHCP

DHCP 命令非常有用,尤其是當您由於對路由器或交換機所做的更改而想要手動釋放和更新 DHCP 租約時。

Dhclient 命令

當通過 DHCP 為路由器靜態分配 IP 地址、更改路由器/交換機上的 DHCP 地址範圍或其他與 DHCP 相關的網路更改,可以使用dhclient命令更輕鬆地更新裝置 DHCP租期。

如果不使用該命令,要麼必須以物理方式或通過作業系統控制面板斷開並重新連線到網路,要麼等待 DHCP 租約到期。

要在您的裝置上釋放和續訂 DHCP 租約,您必須按所示順序輸入以下兩個命令,還需要sudo此命令的許可權。

sudo dhclient -r
sudo dhclient

來源:運維漫談

END

PHP開源社群

掃描關注  進入”PHP資料“

免費獲取進階

面試、文件、影片資源