Centos7的防火墙服务:firewalld
systemctl start firewalld
firewall-config
Centos6的防火墙服务:iptables
iptables 由四个表和五个链组成
四个表:
filter表:过滤规则表,根据规则过滤符合要求的数据包。
nat表:network address translation 地址转换规则表
mangle:修改数据标记位规则表
Raw:关闭NAt表上启用的连接跟踪机制,加快封包穿越防火墙速度
这四个表的优先级由高到低:Raw-->mangle-->nat----->filter
五个内置链chain
INPUT
OUTPUT
FORWARD
PREROUTING
POSTROUTING
链和和表组成规则:
iptables 规则:
规则rule :
根据规则的匹配条件尝试匹配报文,对匹配成功的报文根据规则定义的处理动作作出处理
匹配条件:默认为与条件,同时满足
基本匹配:IP, 端口,TCP 的Flags (SYN,ACK 等)
扩展匹配:通过复杂高级功能匹配
处理动作:称为target ,跳转目标
内建处理动作:ACCEPT,DROP,REJECT,SNAT,DNAT MASQUERADE,MARK,LOG...
自定义处理动作:自定义chain ,利用分类管理复杂情形规则要添加在链上,才生效;添加在自定义上不会自动生效
链chain:
内置链:每个内置链对应于一个钩子函数
自定义链:用于对内置链进行扩展或补充,可实现更灵活的规则组织管理机制;只有Hook 钩子调用自定义链时,才生效。
iptables 命令
man 8 iptables
iptables [-t table] {-A|-C|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target
iptables [-t table] -E old-chain-name new-chain-name
rule-specification = [matches...] [target]
match = -m matchname [per-match-options]
target = -j targetname [per-target-options]
iptables命令的例子
iptables -A INPUT -s 192.168.8.106 -j DROP ; 丢掉这个ip来的包
iptables -I INPUT -s 192.168.8.106 -j accept :拒绝这个IP来的包
iptables -F ; 清空防火墙规则
iptables -vnL --line-number
iptables -A INPUT ! -s 192.168.8.12 -j REJECT ; 除了这个IP地址,其他的都拒绝
网友评论