iptables 状态机制

简介:

       下面我们就说说我一直在上面提到的关于那个ESTABLISHED,RELATED的规则是怎么回事,到底有

什么用处。


       说这个东西就要简单说一下网络的数据通讯的方式,我们知道,网络的访问是双向的,也就是说一个

Client与Server之间完成数据交换需要双方的发包与收包。在netfilter中,有几种状态,也就是new, 

established,related,invalid。


       当一个客户端,在本文例一中,内网的一台机器访问外网,我们设置了规则允许他出去,但是没有设置允许回来的规则阿,怎么完成访问呢?这就是netfilter的 状态机制 ,当一个lan用户通过这个linux访问外网的时候,它发送了一个请求包,这个包的状态是new,当外网回包的时候他的状态就是established,所以,linux知道,哦,这个包是我的内网的一台机器发出去的应答包,他就放行了。


       而外网试图对内发起一个新的连接的时候,他的状态是new,所以linux压根不去理会它。这就是我们为什么要加这一句的原因。


       还有那个related,他是一个关联状态,什么会用到呢?tftp,ftp都会用到,因为他们的传输机制决定了,它不像http访问那样,Client_IP: port-->server:80然后server:80-->Client_IP:port,ftp使用tcp21建立连接,使用20端口发送数据,其中又有两种方式,一种主动active mode,一种被动passive mode。主动模式下,client使用port命令告诉server我用哪一个端口接受数据,然后server主动发起对这个端口的请求。被动模式下,server使用port命令告诉客户端,它用那个端口监听,然后客户端发起对他的数据传输,所以这对于一个防火墙来说就是比较麻烦的事情,因为有可能会有new状态的数据包,但是它又是合理的请求,这个时候就用到这个related状态了,他就是一种关联,在linux中,有个叫 

ftp_conntrack的模块,它能识别port命令,然后对相应的端口进行放行。




文章出处:


原文:http://wwdhks.blog.51cto.com/839773/1154032

本文转自奇迹的少年博客51CTO博客,原文链接http://blog.51cto.com/raffaelexr/1710596如需转载请自行联系原作者


liliangchun

相关文章
|
7月前
第一百三十四节:“应用层半双工”双机串口通讯的程序框架。
第一百三十四节:“应用层半双工”双机串口通讯的程序框架。
87 0
|
6天前
|
网络协议 Linux 网络架构
TCP中的两类故障模式
【4月更文挑战第10天】故障分为两大类,一类是对端无 FIN 包,需要通过巡检或超时来发现;另一类是对端有 FIN 包发出,需要通过增强 read 或 write 操作的异常处理,帮助我们发现此类异常。
|
26天前
|
网络协议 算法 Linux
探索TCP状态机之旅:发现网络连接的生命周期与神秘魅力
探索TCP状态机之旅:发现网络连接的生命周期与神秘魅力
65 0
|
9月前
|
Kubernetes Cloud Native Shell
k8s pod 中的程序为啥服务优雅关闭不生效?收不到 sigterm 信号?
咱们工作的环境在不断的变好,我们也会思考去提升程序运行的环境,让我们的服务更加容易部署,极简维护,现在很多公司都在向着 devpos 发展,殊不知已经被某些大企玩剩下了
115 0
k8s pod 中的程序为啥服务优雅关闭不生效?收不到 sigterm 信号?
|
11月前
|
消息中间件 缓存 网络协议
计网 - TCP 的稳定性:滑动窗口和流速控制是怎么回事?
计网 - TCP 的稳定性:滑动窗口和流速控制是怎么回事?
83 0
|
网络协议 算法 数据库
三十五、OSPF协议的链路状态算法
三十五、OSPF协议的链路状态算法
三十五、OSPF协议的链路状态算法
|
缓存 网络协议
【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
193 0
|
网络协议 Linux
【趣话编程】中断还是轮询?取个数据包真麻烦!
网卡收到数据包之后,发生了什么?
1187 0
【趣话编程】中断还是轮询?取个数据包真麻烦!
|
网络协议
分析几种TCP状态转换中的非正常转换
  1、服务器从listen状态变成close状态的原因:   服务器在监听端口的时候,此时有些资源加载的有问题导致服务没开启,此时服务器会从listen状态变成closed状态。
944 0