1. iptables 的表与链(filter/nat、INPUT/OUTPUT/FORWARD)如何理解,排查网络不通时如何定位规则问题?
请说明 iptables 的表与链(filter/nat、INPUT/OUTPUT/FORWARD)如何理解,以及排查网络不通时如何定位规则问题?
- 掌握 iptables 表与链的结构
- 理解数据包在链中的流转路径
- 掌握排查网络不通的定位方法
iptables 用"表+链"组织规则:表(filter 过滤、nat 地址转换、mangle 修改、raw 原始)按功能划分,链是规则执行的路径。filter 表含 INPUT(入站)、OUTPUT(出站)、FORWARD(转发);nat 表含 PREROUTING(入站前 NAT)、POSTROUTING(出站后 NAT)、OUTPUT。数据包按方向经过相应链:入站包经 INPUT,出站包经 OUTPUT,转发包经 FORWARD,规则自上而下匹配,命中即生效。排查网络不通时,先确认方向与表链,再用 iptables -L -n -v 查看规则、iptables -S 查看原始规则、-A/-D 增删规则定位;用 iptables -L -v 看计数器(Rule 命中于哪条)。常见问题:DROP 规则拦截、规则顺序错误、未放行回程流量、NAT 规则错误。可临时加 ACCEPT 或清空规则测试,定位后恢复。
面试官关注候选人对包过滤机制的理解。回答应体现表链结构、数据包流转路径、以及用查看规则与计数器定位问题的方法。
iptables -L -n -v # 查看规则与命中计数
iptables -S INPUT # 查看 INPUT 链原始规则
iptables -I INPUT 1 -s 10.0.0.0/8 -j ACCEPT # 临时放行测试