Linux中用来实现网络数据控制功能的内核模块netfilter
netfilter可以对网络数据进行允许、丢弃、修改操作
netfilter支持以下数据分类方式:
源、目标IP地址
使用接口
使用协议(TCP、UDP、ICMP等)
端口号
TCP连接状态
netfilter基本概念:
chain(链,也叫过滤点):INPUT、FORWARD、OUTPUT、PREROUTING、POSTROUTING
表(功能):filter、nat、mangle
用户通过iptables命令来管理netfilter模块
iptables通过规则对数据进行访问控制
一个规则占用一行
规则按顺序排列
每个数据包按规则顺序依依匹配,如果有匹配的,则立即执行该规则指定的动作(允许、丢弃
列出现有iptables规则:
iptables -L
删除所有iptables规则:
iptables -F
插入一个iptables规则:
iptables -I INPUT 3 -p tcp --dport 80 -s 192.168.1.0/24 -j DROP
删除一个iptables规则:
iptables -D INPUT 3
iptables -D INPUT -p tcp --dport 80 -s 192.168.1.0/24 -j DROP