a
Linux 网络学习笔记(软路由 / 转发 / NAT / 抓包)
原则:动手实操 > 书 > 视频课。手头 Ubuntu + OpenWrt 就是实验台。
一、一、资源清单(按阅读顺序)
- LARTC HOWTO(当前最需要:策略路由、ip rule、路由表、rp_filter、NAT、多网卡转发、tc)
- 英文原版:https://www.lartc.org/lartc.html
- 中文译本PDF:https://lartc.org/LARTC-zh_CN.GB2312.pdf(免费在线,不用买书)
- Wireshark 抓包(看懂 ICMP、NAT 前后包变化,验证 MASQUERADE 是否改写 IP)
- 书二选一:《Wireshark网络分析就这么简单》林沛满(通俗,推荐)https://www.epubit.com/ |《Wireshark网络分析实战》Orzach(工具书)https://m.epubit.com/bookDetails?id=N24064
- 官方免费手册:https://www.wireshark.org/docs/wsug_html_chunked/index.html
- 《TCP/IP详解 卷1:协议》:当字典查,遇不懂的协议翻对应章节,不通读。无免费正版在线版,建议买实体书(网上的 PDF 多为盗版,勿搜)。
- Netfilter 官方 HOWTO(iptables/nftables、NAT、POSTROUTING、MASQUERADE):https://netfilter.org/documentation/HOWTO/packet-filtering-HOWTO.html
- tcpdump 官方手册:https://www.tcpdump.org/manpages/tcpdump.1.html
二、二、工具
| 工具 | 用途 |
|---|---|
| tcpdump | Ubuntu 命令行抓包,最重要 |
| iproute2 | ip route / ip rule / ip addr(替代 ifconfig) |
| iptables / nftables | 防火墙、NAT、MASQUERADE |
| Wireshark | 图形化抓包分析(Ubuntu 安装,或 Windows 打开抓包文件) |
常用命令:
sudo tcpdump -i eno1 icmp # 抓 eno1 上的 ping 包
方法:每改一次配置就同时抓包,对比数据包变化(例:开关 MASQUERADE,看源 IP 是否被改写)。
三、三、实操练习(基于现有 Ubuntu + OpenWrt)
ip route/ip rule:观察路由匹配- tcpdump 分别抓不同网卡,对比包
- 开 / 关 MASQUERADE、rp_filter,抓包看 IP 变化和丢包现象
排错固定流程:
ip route看路由ip route get x.x.x.x from 源IP看匹配结果- tcpdump 看包有没有收到、有没有发出
- 检查 iptables
阶段目标:
- 看懂路由,会写静态路由、策略路由
- 会 tcpdump,看懂 ICMP、IP 头部
- 吃透 iptables NAT,理解 POSTROUTING
- OpenWrt 桥接、软路由多网卡(当前场景)
四、四、课程(可选)
- B站搜
Linux网络 路由 iptables(「Linux 网络底层实战」类):IP路由、策略路由、NAT 原理、防火墙链 - B站搜
Wireshark抓包实战:短课即可,重点学过滤表达式
五、五、避坑
- 不要先啃厚理论书,先动手,遇到不懂再翻资料
- 不要在生产环境练,测试机随便改,改崩了清路由表重来
- 不要搜盗版 PDF(尤其”tcpip详解pdf”)