Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 網絡運維核心命令大全:從入門到自動化腳本

編輯:Linux 教學

基礎連通性測試

ping / ping6

ping -c 4 -i 0.2 -W 2 192.168.1.1   # IPv4 指定次數/間隔/超時
ping6 -c 4 2001:db8::1               # IPv6

ICMP 回顯請求/回應,驗證鏈路通達性、延遲、丟包率。注意:防火牆可能丟棄 ICMP,不通不代表主機掛了。

arping

arping -c 3 -I eth0 192.168.1.100  # 二層 ARP 探測,穿透 IP 防火牆

路由與鏈路追蹤

traceroute / tracepath / mtr

traceroute -n -w 2 -q 1 8.8.8.8      # -n 不解析主機名,加速顯示
mtr -r -c 10 8.8.8.8                 # 綜合 ping + traceroute,持續統計丟包率

DNS 查詢與診斷

dig / drill / host

dig @1.1.1.1 example.com A +short          # 指定上游解析器,短輸出
dig example.com ANY +noall +answer +authority +additional
drill -D example.com                       # DNSSEC 驗證鏈

nslookup (交互/批量)

nslookup -type=MX example.com 8.8.8.8

連接狀態與端口檢視

ss (iproute2 替代 netstat)

ss -ltnp          # 監聽 TCP + 進程信息
ss -uantp         # 所有 UDP/TCP + 進程
ss -s             # 協議統計摘要
ss -i state established '( dport = :443 or sport = :443 )'  # 過濾表達式

netstat (傳統,仍常見於腳本)

netstat -ltnp     # 同 ss -ltnp
netstat -s        # 協議棧統計(重傳、錯誤、擁塞窗口等)

網絡接口配置與統計

ip (iproute2 核心工具)

ip -br link                   # 簡潔接口列表
ip -4 addr show dev eth0      # IPv4 地址詳情
ip route show table all       # 完整路由表(含策略路由)
ip neigh show                 # ARP/NDP 鄰居表
ip -s link show dev eth0      # 接口統計(錯誤、丟包、碰撞、載波)

ethtool (物理層/驅動層)

ethtool eth0                    # 速率、雙工、自協商、Wake-on-LAN
ethtool -k eth0                 # 硬件卸載特性(TSO/GRO/LRO/校驗和卸載)
ethtool -S eth0                 # 驅動級詳細計數器(隊列、錯誤、暫停幀)

tc (流量控制)

tc qdisc show dev eth0
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:10 htb rate 100mbit ceil 100mbit

防火牆與封包過濾

nftables (現代統一框架)

nft list ruleset
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 \; policy drop \;}
nft add rule inet filter input tcp dport 22 ct state new,established accept

iptables (兼容層,仍廣泛使用)

iptables -nvL --line-numbers
iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables-save > /etc/iptables/rules.v4

遠程傳輸與隧道

scp / rsync (數據同步)

rsync -avzP --delete -e "ssh -p 2222" /src/ user@host:/dst/

ssh 隧道 / 端口轉發

ssh -L 8080:internal-db:3306 user@jump-host   # 本地轉發
ssh -R 9000:localhost:3000 user@public-server # 遠程轉發
ssh -D 1080 user@proxy-host                   # SOCKS5 動態代理

socat / nc (網絡瑞士軍刀)

socat TCP-LISTEN:8080,fork,reuseaddr TCP:backend:80
nc -zv host 20-100   # 端口掃描

抓包與深度分析

tcpdump (命令行抓包)

tcpdump -i eth0 -nn -s0 -w capture.pcap 'port 443 and host 10.0.0.1'
tcpdump -r capture.pcap -A 'tcp[13] & 0x02 != 0'  # 僅顯示 SYN 包

Wireshark / tshark (圖形/終端深度分析)

tshark -r capture.pcap -Y 'http.request.method == "POST"' -T fields -e http.host -e http.request.uri

高級內核網絡診斷

bpftrace / bcc-tools (eBPF 可觀測)

bpftrace -e 'tracepoint:tcp:tcp_retransmit_skb { @[comm] = count(); }'
tcpretrans    # bcc 內建:TCP 重傳統計
runqlat       # 調度延遲直方圖

/proc/net/ 與 /sys/class/net/ 直接讀取

cat /proc/net/snmp           # IP/ICMP/TCP/UDP 統計
cat /proc/net/netstat        # TCP 擴展統計(Reno/CUBIC/BBR 指標)
cat /sys/class/net/eth0/statistics/rx_bytes

自動化腳本常用模式

# 等待端口就緒
wait_for_port() { while ! ss -ltn | grep -q ":$1 "; do sleep 1; done; }

# 獲取默認路由接口及源 IP
get_src_ip() { ip route get 1.1.1.1 | awk '{for(i=1;i<=NF;i++) if($i=="src") print $(i+1)}'; }

# 批量檢查主機存活
for ip in 192.168.1.{1..254}; do ping -c1 -W1 $ip &>/dev/null && echo "$ip up"; done

總結

掌握 ip、ss、nftables、tcpdump、dig、mtr 核心六件套,配合 ethtool、tc、bpftrace 進階工具,可覆蓋 95% 以上 Linux 網絡運維場景。將常用組合封裝為 Shell 函數/Ansible 模組/Go 庫,構建屬於團隊的「網絡急救箱」。

Copyright © Windows教程網 All Rights Reserved