filter表
控制数据包是否允许进出及转发
支持的链
- INPUT:处理来自外部的数据
- FORWARD :将数据转发到本机的其他网卡设备上
- OUTPUT:处理向外发送的数据
动作
- ACCETP:允许
- DROP:阻止,不返回icmp
- REJECT:拒绝,返回icmp
默认策略
所有策略没有匹配上,最后走的默认策略动作
默认策略如果是ACCEPT,就是所谓的黑名单,通常都是做白名单,默认策略位DROP
实验1:
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
#配置默认策略
iptables -t filter -A INPUT -p tcp -s 192.168.10.19 --dport 22 -j ACCEPT
#配置白名单,放行源地址为192.168.10.19,目标端口22
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#OUTPUT主动出去的数据包,默认在INPUT被丢弃,需要通过扩展模块state跟踪nf_conntrack
实验2:
docker转发规则
net.ipv4.ip_forward=1
#/etc/sysctl.conf 需要开启内核转发
iptables -R FORWARD 5 -i docker ! -o docker -j DROP
#修改docker的转发规则,测试docker网络
测试结果:不通了
查看命令:
iptables -t filter -nvL --line-numbers