《我的Linux成长之路(十八)------iptables防火墙应用①》
哈哈,今天论文预答辩介绍加上和大学和好的几个兄弟拍完毕业照回来真的是累的太很了,现在在这里静静的写下自己学校Linux基础的内容感觉真的很好,自己也一定要坚持下去,加油。
还有自己的这段实践python随笔可能也会停滞一段时间,自己这段时间在参加华为的一个Android AI APP大赛,有机会我没事了 可以记录下自己参加过程中所用到的东西。
下面废话少说了 进入正题。
这篇文章以及接下来的两篇文章我想详细的介绍下防火墙
上两篇也只是简单的介绍了下
iptables防火墙的基础
防火墙的基础
其实防火墙就是为了保护我们内部主机及内部网络安全设计的。通常是通过过滤的方法对网络层的ip地址和端口进行处理。
我们使用Windows的时候有一个自带的防火墙ISA该防火墙并没有我们想象的那么好用(个人感觉)
像Linux中也用自己的防火墙用处很大
其实还有一些硬件的防火墙,感兴趣的其实可以去京东天猫看看这些硬件防火墙的样子
iptables的内部结构
其实iptables内部可分为三个部分:内核模块(netfilter)、用户工具(iptables 像centos6里面 firewall centos7里面的)
IP tables 中最重要的四表五链
四表:按照不同的功能进行划分
**raw(状态跟踪):**raw表主要是为了提高效率,就类似与raw中有一些规则定义,符合这些规则的定义就会跳过一些其他的检查,因此在一定程度上可以提高效率。
**mangle(标记):**mangle中的规则可以对数据包进行修改(ttl值等)
nat(修改): 主要是惊醒源地址或目标地址修改转换。
filter(过滤): 可以进行一些ip地址、mac地址、协议、端口等的过滤。
以上就是iptables中的四表
五链:按照不同的时机进行划分
主要有以下五个:
INPUT(入站)
OUTPUT(出站)
FORWARD(转发)
PREROUTING(路由前)
POSTROUTING(路由后)
四表五链子的关系(表包含链,一般的表中都包含有若干的链)这个表是我在以前看的视频找到的,在这里也十分感谢这位老师教会了我很多。
从上图中我们可以看到
raw表中包含:PRERPUTING OUTPUT链
同理 可以看出其他的表中包含的链
其实大家可以这样理解:在内核的空间中,表就类似与容器,然后在表容器中包含若干的链,在链中我们又定义了很多的规则。
iptables匹配流程在IP tables数据匹配是根据数据流的方向进行匹配的
在链中:
入站的数据流方向:PREROUTING 、INPUT
出站数据流向:OUTPUT、POSTROUTING
转发数据流向:PREROUTING、FORWARD、POSTROUTING
表:raw–mangle–nat–filter
链内规则的匹配是:从上到下、完成匹配就停止、未匹配则选择使用默认的规则。
今天就先写到这里 明天我写下iptables应用二 编写iptables的一些规则如果明天时间充裕可以在写下一些实战练习。
就到这里了我去写下自己的Android APP啦。