1.简介
iptables是基于软件的形式实现的一种防火墙程序
Firewall:工作在主机或网络边缘,对进出的报文俺实现定义的规则进行处理的一组硬件或软件的组合,设置可能是两者的组合
主机防火墙:工作在主机边缘,只能对一台主机起到保护的作用
网络防火墙:工作于网络边缘,可以对多台主机起到保护的作用
iptables/netfilter:基于网络层的防火墙,用于连接追踪和状态检测,其中iptales是防火墙规则的编写工具,工作在用户空间中。而netfilter则是一个网络过滤器,是一个框架,工作在内核空间中。
2.iptables的表和链
iptables有四表和五链,他们分别是
四表:filter net mangle raw
五链:PREROUTING INPUT FORWARD OUTPUT POSTROUTING
表和链的对应关系:
filter INPUT FORWARD OUTPUT
nat PREROUTING OUTPUT POSTROUTING
mangle PREROUTING INPUT FORWARD OUTPUT POSTOUTING
raw:
表的优先级:raw mangle net filter
建议:将控制强的规则放在前面,应用访问频繁的也要放在前面
3.iptables的格式
检查条件,处理机制
通:白名单,默认为堵,只对能识别的进行放行
堵:黑名单,默认为通,只对能识别的进行拦截
4.处理机制分为:
DROP(丢弃)
REJECT(直接拒绝)
ACCEPT(允许)
SNAT(源地址转换)
DNAT(目标地址转换)
RETURN(由自定义的链返回主链)
LOG(只记录日志)
5.如何写规则,filter表可以省略不写
创建一条自定义的空规则链
iptables [-t table] -N chain
清除一条自定义的空规则链
iptables [-t table] -N chain
修改自定义链的名称
iptables [-t table] -E old-chain-name new-chain-name
为链指定默认的策略,修改默认的属性
iptables [-t table] -P chain-name target
清空链中的规则
iptables [-t table] -F chain-name
插入规则:
iptables [-t table] -I chain[rulenum] rule-specifiction
替换指定的规则:
iptables [-t table] -R chain rulenum rule-specifiction
删除指定的规则:
iptables [-t table] -D chain rulenum
直显示指定脸上的规则添加命令:
iptables [-t table] -S [chain [rulenum]]
显示表中的所有规则
iptables [-t table] -L options
-n:数字格式显示ip和port
-v:显示详细信息,显示的格式如下
pkts:packets 被本规则所有匹配到的报文个数
下一篇:Linux用户管理