Linux中國

面向系統管理員的網路管理指南

如果你是一位系統管理員,那麼你的日常工作應該包括管理伺服器和數據中心的網路。以下的 Linux 實用工具和命令 —— 從基礎的到高級的 —— 將幫你更輕鬆地管理你的網路。

在幾個命令中,你將會看到 <fqdn>,它是「完全合格域名」的全稱。當你看到它時,你應該用你的網站 URL 或你的伺服器來代替它(比如,server-name.company.com),具體要視情況而定。

Ping

正如它的名字所表示的那樣,ping 是用於去檢查從你的系統到你想去連接的系統之間端到端的連通性。當一個 ping 成功時,它使用的 ICMP 的 echo 包將會返回到你的系統中。它是檢查系統/網路連通性的一個良好開端。你可以在 IPv4 和 IPv6 地址上使用 ping 命令。(閱讀我的文章 "如何在 Linux 系統上找到你的 IP 地址" 去學習更多關於 IP 地址的知識)

語法:

  • IPv4: ping <ip address>/<fqdn>
  • IPv6: ping6 <ip address>/<fqdn>

你也可以使用 ping 去解析出網站所對應的 IP 地址,如下圖所示:

Traceroute

ping 是用於檢查端到端的連通性,traceroute 實用工具將告訴你到達對端系統、網站,或伺服器所經過的路徑上所有路由器的 IP 地址。traceroute 在網路連接調試中經常用於在 ping 之後的第二步。

這是一個跟蹤從你的系統到其它對端的全部網路路徑的非常好的工具。在檢查端到端的連通性時,這個實用工具將告訴你到達對端系統、網站、或伺服器上所經歷的路徑上的全部路由器的 IP 地址。通常用於網路連通性調試的第二步。

語法:

  • traceroute <ip address>/<fqdn>

Telnet

語法:

  • telnet <ip address>/<fqdn> 是用於 telnet 進入任何支持該協議的伺服器。

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 <interface> 顯示指定介面的網路相關的詳細情況。
  • nmcli connection 檢查設備的連接情況。
  • nmcli connection down <interface> 關閉指定介面。
  • nmcli connection up <interface> 打開指定介面。
  • nmcli con add type vlan con-name <connection-name> dev <interface> id <vlan-number> ipv4 <ip/cidr> gw4 <gateway-ip> 在特定的介面上使用指定的 VLAN 號添加一個虛擬區域網(VLAN)介面、IP 地址、和網關。

路由

檢查和配置路由的命令很多。下面是其中一些比較有用的:

語法:

  • ip route 顯示各自介面上所有當前的路由配置。

  • route add default gw <gateway-ip> 在路由表中添加一個默認的網關。
  • route add -net <network ip/cidr> gw <gateway ip> <interface> 在路由表中添加一個新的網路路由。還有許多其它的路由參數,比如,添加一個默認路由,默認網關等等。
  • route del -net <network ip/cidr> 從路由表中刪除一個指定的路由條目。

  • ip neighbor 顯示當前的鄰接表和用於去添加、改變、或刪除新的鄰居。

  • arp (它的全稱是 「地址解析協議」)類似於 ip neighborarp 映射一個系統的 IP 地址到它相應的 MAC(介質訪問控制)地址。

Tcpdump 和 Wireshark

Linux 提供了許多包捕獲工具,比如 tcpdumpwiresharktshark 等等。它們被用於去捕獲傳輸/接收的網路流量中的數據包,因此它們對於系統管理員去診斷丟包或相關問題時非常有用。對於熱衷於命令行操作的人來說,tcpdump 是一個非常好的工具,而對於喜歡 GUI 操作的用戶來說,wireshark 是捕獲和分析數據包的不二選擇。tcpdump 是一個 Linux 內置的用於去捕獲網路流量的實用工具。它能夠用於去捕獲/顯示特定埠、協議等上的流量。

語法:

  • tcpdump -i <interface-name> 顯示指定介面上實時通過的數據包。通過在命令中添加一個 -w 標誌和輸出文件的名字,可以將數據包保存到一個文件中。例如:tcpdump -w <output-file.> -i <interface-name>

  • tcpdump -i <interface> src <source-ip> 從指定的源 IP 地址上捕獲數據包。
  • tcpdump -i <interface> dst <destination-ip> 從指定的目標 IP 地址上捕獲數據包。
  • tcpdump -i <interface> port <port-number> 從一個指定的埠號(比如,53、80、8080 等等)上捕獲數據包。
  • tcpdump -i <interface> <protocol> 捕獲指定協議的數據包,比如:TCP、UDP、等等。

Iptables

iptables 是一個包過濾防火牆工具,它能夠允許或阻止某些流量。這個實用工具的應用範圍非常廣泛;下面是它的其中一些最常用的使用命令。

語法:

  • iptables -L 列出所有已存在的 iptables 規則。
  • iptables -F 刪除所有已存在的規則。

下列命令允許流量從指定埠到指定介面:

  • iptables -A INPUT -i <interface> -p tcp –dport <port-number> -m state –state NEW,ESTABLISHED -j ACCEPT
  • iptables -A OUTPUT -o <interface> -p tcp -sport <port-number> -m state – state ESTABLISHED -j ACCEPT

下列命令允許 環回 loopback 介面訪問系統:

  • 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 <website-name.com> 顯示你的伺服器組中 DNS 伺服器的 IP 地址,它後面就是你想去訪問網站的 IP 地址。
  • nslookup -type=any <website-name.com> 顯示指定網站/域中所有可用記錄。

網路/介面調試

下面是用於介面連通性或相關網路問題調試所需的命令和文件的匯總。

語法:

  • ss 是一個轉儲套接字統計數據的實用工具。
  • nmap <ip-address>,它的全稱是 「Network Mapper」,它用於掃描網路埠、發現主機、檢測 MAC 地址,等等。
  • ip addr/ifconfig -a 提供一個系統上所有介面的 IP 地址和相關信息。
  • ssh -vvv user@<ip/domain> 允許你使用指定的 IP/域名和用戶名通過 SSH 協議登入到其它伺服器。-vvv 標誌提供 SSH 登入到伺服器過程中的 "最詳細的" 信息。
  • ethtool -S <interface> 檢查指定介面上的統計數據。
  • ifup <interface> 啟動指定的介面。
  • ifdown <interface> 關閉指定的介面
  • systemctl restart network 重啟動系統上的一個網路服務。
  • /etc/sysconfig/network-scripts/<interface-name> 是一個對指定的介面設置 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 選題:lujun9972 譯者:qhwdw 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國