iptables 简介


iptables 的底层就是 Linux 内核中的 netfilter。

iptables 是 linux 内核中集成的“包过滤”防火墙,完全免费,合理配置可以完美替代昂贵的企业级防火墙,完成包过滤、重定向和 NAT 等功能。

从名字可以看出,ip tables :字面意思就是 IP 数据包的规则表 tables 的意思,包过滤。

需要注意的是,在大并发网站的设计中,建议关闭 iptables,使用硬件防火墙。

iptables netfilter 以及 firewall 之间的关系:

CentOS 7 中 iptables 和 Firewall 的关系:

iptables用于过滤数据包,属于网络层防火墙.

firewall能够允许哪些服务可用,哪些端口可用…. 属于更高一层的防火墙。

firewall的底层是使用iptables进行数据过滤,建立在iptables之上

iptables 四表五链:

四表:mangle、nat、filter、raw

五链:input、output、prerouting、forward、postrouting

iptables 容器关系:

iptables/Netfilter 是表 (Tables)的容器,iptables包括四个表:MANGLE、NAT、FILTER、RAW

iptables 的表是“链 (Chains)” 的容器,链包括:INPUT、OUTPUT、PREROUTING、FORWARD、POSTROUTING

” 是规则策略 (policy)”的容器:例如, 开放本机 80 端口的规则用法:iptables -I INPUT -p tcp --dport 80 -j ACCEPT

iptables 语法规则:

iptables [-t tablename] option [chainname] rule [-j active]

例如,阻止别人 ping 的规则:iptables -t filter -I INPUT -p icmp -j REJECT

-t:指定表,不指定默认 FILTER 表,-I(I,insert;D,delete,A,add):指定链,不指定默认指表内所有链

1. 防火墙是层层过滤的,按照配置规则的顺序从上到下,从前到后进行过滤的;

2. 只要匹配上规则,即明确表明是阻止还是允许,数据包就不再向下匹配下面的规则

3. 如果规则表中没有明确阻止还是允许,也就是没有匹配规则,直到匹配到默认规则;

4. 防火墙默认规则是所有指定规则执行完以后没有匹配上,默认规则才会执行。

建议大家开始学习使用 iptables 时按照语法使用,这样容易理解,熟练以后可以自行决定(大佬请忽略这句废话)。

iptables 默认的表、链结构。没错,看着让人害怕,不过没关系,仔细看,有标红的,这才是实际工作中用到的。

可以看出 NAT 表FILTER 表是标红的,也就是说,在实际工作中,常用的也就是这两个表,MANGLE 表很少用,而 RAW 表几乎可以忽略,没有人使用。

iptables 表和链的工作流程图:

去掉 RAW 表以后简化为:

前边说好了,只用NAT 和 FILTER 两个表,那么,最小化原则,就变成这样的了:

本节并没有介绍 iptables 的具体用法,只是简单介绍了 iptables 的基本原理以及语法规则,后续介绍 iptables 用法。

查看 iptables 规则:iptables -L -n

优质内容筛选与推荐>>
1、activiti工作流的web流程设计器整合视频教程 SSM和独立部署
2、RDD无reduceByKey方法
3、国产网络测试仪MiniSMB - 如何3秒内创建出16,000条源/目标MAC地址号递增流
4、springboot运行模式
5、usermod 用户密码管理 mkpasswd


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号