部分鉴于 运维人员20道必会iptables面试题
1、详述iptales工作流程以及规则过滤顺序?
iptables过滤的规则顺序是由上至下,若出现相同的匹配规则则遵循由上至下的顺序
2、iptables的几个表以及每个表对应链的作用?
Iptables有四表五链
Filter表 : Filter表是iptables中使用的默认表,它用来过滤网络包。如果没有定义任何规则,Filter表则被当作默认的表,并且基于它来过滤。支持的链有INPUT链,OUTPUT链,FORWARD链。
Nat表 : Nat表主要用于网络地址转换。根据表中的每一条规则修改网络包的IP地址。流中的包仅遍历一遍Nat表。例如,如果一个通过某个接口的包被修饰(修改了IP地址),该流中其余的包将不再遍历这个表。通常不建议在这个表中进行过滤,由NAT表支持的链称为PREROUTING链,POSTROUTING链和OUTPUT链。
Mangle表 : 正如它的名字一样,这个表用于校正网络包。它用来对特殊的包进行修改。它能够修改不同包的头部和内容。Mangle表不能用于地址伪装。支持的链包括PREROUTING链,OUTPUT链,Forward链,Input链和POSTROUTING链。
Raw表 : Raw表在我们想要配置之前被豁免的包时被使用。它支持PREROUTING链和OUTPUT链。
INPUT:当收到访问防火墙本地地址的数据包时,应用此链的规则
OUTPUT:当防火墙本机向外发出数据时,应用此链的规则。
FORWARD:当收到要通过防火墙发送给其他网络地址的数据包时,应用此链的规则。
PREROUTING:在对数据包做路由选择之前,应用此链的规则。
POSTROUTING:在对数据包做路由选择之后,应用此链的规则。
3、画图讲解iptables包过滤经过不同表和链简易流程图并阐述。
4、请写出查看iptables当前所有规则的命令。
iptables -nL --line-numbers
-t 表格名 可看表的规则
5、禁止来自10.0.0.8 ip地址访问80端口的请求
iptables -A INPUT -p tcp -s 10.0.0.8 --dport 80 -j DROP
6、使命令行执行的iptables规则永久生效?
/etc/init.d/iptables save 保存命令
iptables save >>/etc/sysconfig/iptables
7、实现把访问10.0.0.8:80的请求转到172.16.1.17:8080
iptables -t nat -A PREROUTING -d 10.0.0.8 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.6:8080