HiHuo
首页
博客
手册
工具
关于
首页
博客
手册
工具
关于
  • 网络架构师学习手册

    • 网络架构师学习教程
    • 基础篇

      • 第1章 网络模型与数据流转
      • 第2章 以太网与二层通信
      • 第3章 IP路由与三层转发
      • 第4章 TCP与可靠传输
      • 第5章 应用层协议
    • Linux网络栈

      • 第6章 数据包接收路径
      • 第7章 多核网络优化
      • 第8章 Netfilter与防火墙
      • 第9章 流量控制与QoS
    • 虚拟网络

      • 第10章 Network Namespace基础
      • 第11章 Bridge与互联
      • 第12章 VXLAN与Overlay网络
      • 第13章 OVS与SDN
    • Kubernetes网络

      • 第14章 CNI模型与实现
      • 第15章 kube-proxy与Service实现
      • 第16章 CoreDNS与服务发现
      • 第17章 NetworkPolicy与安全隔离
      • 第18章 Calico网络深度解析
      • 第19章 Cilium与eBPF网络
    • 网络架构

      • 第20章 网络设备与拓扑设计
      • 第21章 网络容量规划与计算
      • 第22章 负载均衡架构设计
      • 第23章 高可用网络架构
      • 第24章 网络安全架构
    • 性能调优

      • 第25章 系统级网络调优
      • 第26章 故障排查方法论
      • 第27章 生产环境案例分析
    • 前沿技术

      • 第28章 eBPF深度实践
      • 第29章 ServiceMesh与边车代理
      • 第30章 网络技术趋势与未来展望
    • 附录

      • 附录A:命令速查手册
      • 附录B:排错决策树
      • 附录C:学习资源
      • 附录D:技能图谱

附录A:命令速查手册

网络配置命令

基础网络命令

# 查看网络接口
ip link show
ip addr show
ip route show

# 配置IP地址
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip addr del 192.168.1.100/24 dev eth0

# 配置路由
sudo ip route add 10.0.0.0/8 via 192.168.1.1
sudo ip route del 10.0.0.0/8 via 192.168.1.1

# 查看ARP表
ip neigh show
arp -an

# 测试连通性
ping -c 3 8.8.8.8
traceroute 8.8.8.8

网络统计命令

# 查看网络统计
cat /proc/net/dev
cat /proc/net/snmp
ss -s

# 查看连接状态
ss -tuln          # 监听端口
ss -tanp          # 所有TCP连接
ss -ti            # TCP详细信息
ss -s             # 统计信息

网卡管理命令

# 查看网卡信息
ethtool eth0
ethtool -S eth0   # 统计信息
ethtool -k eth0   # 特性
ethtool -g eth0   # Ring Buffer
ethtool -l eth0   # 队列信息

# 配置网卡
sudo ethtool -G eth0 rx 4096 tx 4096
sudo ethtool -L eth0 combined 8
sudo ethtool -K eth0 gro on gso on tso on

防火墙命令

iptables命令

# 查看规则
sudo iptables -L -n -v
sudo iptables -t nat -L -n -v

# 添加规则
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 删除规则
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT

# 清空规则
sudo iptables -F
sudo iptables -t nat -F

# 保存规则
sudo iptables-save > /etc/iptables/rules.v4
sudo iptables-restore < /etc/iptables/rules.v4

nftables命令

# 查看规则
sudo nft list ruleset

# 添加规则
sudo nft add rule inet filter input tcp dport 22 accept
sudo nft add rule inet filter input ct state established,related accept

# 删除规则
sudo nft delete rule inet filter input tcp dport 22 accept

# 清空规则
sudo nft flush ruleset

流量控制命令

TC命令

# 查看qdisc
tc qdisc show dev eth0

# 添加qdisc
sudo tc qdisc add dev eth0 root htb default 12
sudo tc qdisc add dev eth0 root fq_codel

# 删除qdisc
sudo tc qdisc del dev eth0 root

# 查看class
tc class show dev eth0

# 添加class
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit
sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50mbit ceil 100mbit

# 添加过滤器
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:10

容器网络命令

Namespace命令

# 创建Namespace
sudo ip netns add ns1

# 列出Namespace
ip netns list

# 在Namespace中执行命令
sudo ip netns exec ns1 ip addr show
sudo ip netns exec ns1 ping 8.8.8.8

# 删除Namespace
sudo ip netns del ns1

veth命令

# 创建veth pair
sudo ip link add veth0 type veth peer name veth1

# 查看veth pair
ip link show type veth

# 删除veth pair
sudo ip link del veth0

Bridge命令

# 创建Bridge
sudo ip link add br0 type bridge

# 启动Bridge
sudo ip link set br0 up

# 添加端口到Bridge
sudo ip link set veth1 master br0

# 查看Bridge状态
bridge link show

# 查看FDB
bridge fdb show br br0

性能监控命令

系统监控

# CPU使用率
mpstat -P ALL 1
top -p $(pgrep -d',' -f "进程名")

# 内存使用
free -h
cat /proc/meminfo

# 磁盘使用
df -h
iostat -x 1

网络监控

# 网络流量
sar -n DEV 1
iftop
nethogs
nload

# 网络连接
ss -tuln
ss -tanp
netstat -tuln
netstat -tanp

抓包分析

# tcpdump抓包
sudo tcpdump -i any -nn 'port 80'
sudo tcpdump -i eth0 -w capture.pcap
sudo tcpdump -r capture.pcap -A

# wireshark分析
wireshark capture.pcap

故障排查命令

连通性测试

# 基础连通性
ping -c 3 8.8.8.8
ping -c 3 -I eth0 8.8.8.8

# 路由追踪
traceroute 8.8.8.8
tracepath 8.8.8.8

# 端口测试
nc -zv 8.8.8.8 80
telnet 8.8.8.8 80

系统诊断

# 系统日志
dmesg | tail -20
journalctl -f
tail -f /var/log/syslog

# 内核参数
sysctl -a | grep net
cat /proc/sys/net/ipv4/ip_forward

# 中断信息
cat /proc/interrupts | grep eth0
cat /proc/softirqs | head -n2

网络诊断

# 网络统计
cat /proc/net/dev
cat /proc/net/snmp | grep -i tcp
cat /proc/net/sockstat

# 连接跟踪
sudo conntrack -L
sudo conntrack -S

# 路由表
ip route show
ip rule show

常用脚本

网络配置脚本

#!/bin/bash
# 网络配置脚本

# 配置IP地址
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip link set eth0 up

# 配置路由
sudo ip route add default via 192.168.1.1

# 配置DNS
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

防火墙配置脚本

#!/bin/bash
# 防火墙配置脚本

# 清空规则
sudo iptables -F
sudo iptables -t nat -F

# 设置默认策略
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# 允许SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许已建立连接
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 保存规则
sudo iptables-save > /etc/iptables/rules.v4

性能监控脚本

#!/bin/bash
# 性能监控脚本

while true; do
    echo "=== $(date) ==="
    echo "CPU Usage:"
    mpstat -P ALL 1 1 | tail -n +4
    echo "Network Stats:"
    cat /proc/net/dev | head -n2
    echo "Connection Stats:"
    ss -s
    echo "================================"
    sleep 5
done

快捷键

常用快捷键

  • Ctrl+C: 中断当前命令
  • Ctrl+Z: 暂停当前命令
  • Ctrl+D: 结束输入
  • Ctrl+L: 清屏
  • Ctrl+R: 搜索历史命令
  • !!: 执行上一条命令
  • !$: 上一条命令的最后一个参数

管道和重定向

  • |: 管道,将前一个命令的输出作为后一个命令的输入
  • >: 重定向输出到文件
  • >>: 追加输出到文件
  • 2>&1: 将错误输出重定向到标准输出
  • &: 后台运行命令

返回目录 | 上一章:Bridge与互联 | 下一章:排错决策树

Next
附录B:排错决策树