2018-10-19 10:08:12來(lái)源:搜狐
如果你是一位系統(tǒng)管理員,那么你的日常工作應(yīng)該包括管理服務(wù)器和數(shù)據(jù)中心的網(wǎng)絡(luò)。以下的 Linux 實(shí)用工具和命令 —— 從基礎(chǔ)的到高級(jí)的 —— 將幫你更輕松地管理你的網(wǎng)絡(luò)。
在幾個(gè)命令中,你將會(huì)看到
Ping
正如它的名字所表示的那樣,ping 是用于去檢查從你的系統(tǒng)到你想去連接的系統(tǒng)之間端到端的連通性。當(dāng)一個(gè) ping 成功時(shí),它使用的 ICMP[1] 的 echo 包將會(huì)返回到你的系統(tǒng)中。它是檢查系統(tǒng)/網(wǎng)絡(luò)連通性的一個(gè)良好開端。你可以在 IPv4 和 IPv6 地址上使用 ping 命令。(閱讀我的文章 "如何在 Linux 系統(tǒng)上找到你的 IP 地址[2]" 去學(xué)習(xí)更多關(guān)于 IP 地址的知識(shí))
語(yǔ)法:
IPv4: ping
IPv6: ping6
你也可以使用 ping 去解析出網(wǎng)站所對(duì)應(yīng)的 IP 地址,如下圖所示:
Traceroute
ping 是用于檢查端到端的連通性,traceroute 實(shí)用工具將告訴你到達(dá)對(duì)端系統(tǒng)、網(wǎng)站,或服務(wù)器所經(jīng)過(guò)的路徑上所有路由器的 IP 地址。traceroute 在網(wǎng)絡(luò)連接調(diào)試中經(jīng)常用于在 ping 之后的第二步。
這是一個(gè)跟蹤從你的系統(tǒng)到其它對(duì)端的全部網(wǎng)絡(luò)路徑的非常好的工具。在檢查端到端的連通性時(shí),這個(gè)實(shí)用工具將告訴你到達(dá)對(duì)端系統(tǒng)、網(wǎng)站、或服務(wù)器上所經(jīng)歷的路徑上的全部路由器的 IP 地址。通常用于網(wǎng)絡(luò)連通性調(diào)試的第二步。
語(yǔ)法:
traceroute
Telnet
語(yǔ)法:
telnet
Netstat
這個(gè)網(wǎng)絡(luò)統(tǒng)計(jì)(netstat)實(shí)用工具是用于去分析解決網(wǎng)絡(luò)連接問(wèn)題和檢查接口/端口統(tǒng)計(jì)數(shù)據(jù)、路由表、協(xié)議狀態(tài)等等的。它是任何管理員都應(yīng)該必須掌握的工具。
語(yǔ)法:
netstat -l 顯示所有處于監(jiān)聽狀態(tài)的端口列表。
netstat -a 顯示所有端口;如果去指定僅顯示 TCP 端口,使用 -at(指定信顯示 UDP 端口,使用 -au)。
netstat -r 顯示路由表。
netstat -s 顯示每個(gè)協(xié)議的狀態(tài)總結(jié)。
netstat -i 顯示每個(gè)接口傳輸/接收(TX/RX)包的統(tǒng)計(jì)數(shù)據(jù)。
Nmcli
nmcli 是一個(gè)管理網(wǎng)絡(luò)連接、配置等工作的非常好的實(shí)用工具。它能夠去管理網(wǎng)絡(luò)管理程序和修改任何設(shè)備的網(wǎng)絡(luò)配置詳情。
語(yǔ)法:
nmcli device 列出網(wǎng)絡(luò)上的所有設(shè)備。
nmcli device show
nmcli connection 檢查設(shè)備的連接情況。
nmcli connection down
nmcli connection up
nmcli con add type vlan con-name
路由
檢查和配置路由的命令很多。下面是其中一些比較有用的:
語(yǔ)法:
ip route 顯示各自接口上所有當(dāng)前的路由配置。
route add default gw
route add -net
route del -net
ip neighbor 顯示當(dāng)前的鄰接表和用于去添加、改變、或刪除新的鄰居。
arp (它的全稱是 “地址解析協(xié)議”)類似于 ip neighbor。arp 映射一個(gè)系統(tǒng)的 IP 地址到它相應(yīng)的 MAC(介質(zhì)訪問(wèn)控制)地址。
Tcpdump 和 Wireshark
Linux 提供了許多包捕獲工具,比如 tcpdump、wireshark、tshark 等等。它們被用于去捕獲傳輸/接收的網(wǎng)絡(luò)流量中的數(shù)據(jù)包,因此它們對(duì)于系統(tǒng)管理員去診斷丟包或相關(guān)問(wèn)題時(shí)非常有用。對(duì)于熱衷于命令行操作的人來(lái)說(shuō),tcpdump 是一個(gè)非常好的工具,而對(duì)于喜歡 GUI 操作的用戶來(lái)說(shuō),wireshark 是捕獲和分析數(shù)據(jù)包的不二選擇。tcpdump 是一個(gè) Linux 內(nèi)置的用于去捕獲網(wǎng)絡(luò)流量的實(shí)用工具。它能夠用于去捕獲/顯示特定端口、協(xié)議等上的流量。
語(yǔ)法:
tcpdump -i
tcpdump -i
tcpdump -i
tcpdump -i
tcpdump -i
Iptables
iptables 是一個(gè)包過(guò)濾防火墻工具,它能夠允許或阻止某些流量。這個(gè)實(shí)用工具的應(yīng)用范圍非常廣泛;下面是它的其中一些最常用的使用命令。
語(yǔ)法:
iptables -L 列出所有已存在的 iptables 規(guī)則。
iptables -F 刪除所有已存在的規(guī)則。
下列命令允許流量從指定端口到指定接口:
iptables -A INPUT -i
iptables -A OUTPUT -o
下列命令允許環(huán)回
loopback
接口訪問(wèn)系統(tǒng):
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Nslookup
nslookup 工具是用于去獲得一個(gè)網(wǎng)站或域名所映射的 IP 地址。它也能用于去獲得你的 DNS 服務(wù)器的信息,比如,一個(gè)網(wǎng)站的所有 DNS 記錄(具體看下面的示例)。與 nslookup 類似的一個(gè)工具是 dig(Domain Information Groper)實(shí)用工具。
語(yǔ)法:
nslookup
nslookup -type=any
網(wǎng)絡(luò)/接口調(diào)試
下面是用于接口連通性或相關(guān)網(wǎng)絡(luò)問(wèn)題調(diào)試所需的命令和文件的匯總。
語(yǔ)法:
ss 是一個(gè)轉(zhuǎn)儲(chǔ)套接字統(tǒng)計(jì)數(shù)據(jù)的實(shí)用工具。
nmap
ip addr/ifconfig -a 提供一個(gè)系統(tǒng)上所有接口的 IP 地址和相關(guān)信息。
ssh -vvv user@
ethtool -S
ifup
ifdown
systemctl restart network 重啟動(dòng)系統(tǒng)上的一個(gè)網(wǎng)絡(luò)服務(wù)。
/etc/sysconfig/network-s/
/etc/hosts 這個(gè)文件包含自定義的主機(jī)/域名到 IP 地址的映射。
/etc/resolv.conf 指定系統(tǒng)上的 DNS 服務(wù)器的 IP 地址。
/etc/ntp.conf 指定 NTP 服務(wù)器域名。