Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中
Netfilter在内核2.4.x版本以后的linux防火墙机制,因为是集成在内核中,所以和IP协议栈是无缝契合的,对数据进行过滤、地址转换、处理等操作。而iptables是一款命令行工具,工作在用户空间,将编写好的规则发送到netfilter,告知内核如何处理数据包。在centos7中引入了firewalld,但使用率并不高。
sh#rhel系列
yum -y install iptables
#debian系列
apt -y install iptables
五个表:
相关信息
五个链:
相关信息
也有人叫五个勾子函数。
注:
数据流转通过iptables工具控制数据的流向。
shiptables [-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
iptables [-t table] SUBCOMMAND chain [-m matchname [per-match-options]]
-j targetname [per-target-options]
1. -t table 指定表
raw、nat、mangle、filter(默认)
2. SUBCOMMAND:子命令
链管理类:
-N:new, 自定义一条新的规则链
-E:重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除
-X:delete,删除自定义的空的规则链
-P:Policy,设置默认策略;对filter表中的链而言,其默认策略有:ACCEPT:接受, DROP:丢弃
3. iptables 查看类命令
-v 详细信息
-vv 更详细信息
-n numberic 以数字格式显示地址和端口号
-L list查看指定链的所有规则,本选项需置后
--line-numbers 显示规则的序号
-x 显示计数器结果的精确值,而非单位转换后的易度值
-S 可查看已存在规则的命令格式,直接复制即可在其他机器或者新增规则使用
常用组合:-vnL -vvxnL --line-numbers
iptables -vnL -t filter #查看filter表规则
4. iptables 规则管理类
-A append 追加
-I insert 插入,要指明插入至的规则编号,默认为第一条
-D delete 删除: 1、指明规则序号 2、指明规则本身
-F flush 清空指定的规则链
-R replace 替换指定链上的规则编号
sh#保存
centos7/8
iptables-save > /data/iptables.rules #保存已经设置的规则到/data/iptables.rules中
centos6
service iptables save #将已设置的规则保存到/etc/sysconfig/iptables文件中
#加载
centos7/8
iptables-restore < /data/iptables.rules #载入保存的规则文件
centos6
service iptables restart #将会从/etc/sysconfig/iptables文件中重新载入规则
本文作者:笑一个吧~
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 本文为博主「笑一个吧~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 许可协议。转载请注明出处!