加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Iptables:“ – p udp –state ESTABLISHED”

发布时间:2020-12-13 18:13:52 所属栏目:Linux 来源:网络整理
导读:让我们看看这两个经常用于允许传出DNS的iptables规则: iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -p udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j AC
让我们看看这两个经常用于允许传出DNS的iptables规则:
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53 
   -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -p udp --sport 53 --dport 1024:65535
   -m state --state ESTABLISHED -j ACCEPT

我的问题是:我究竟应该如何理解UDP中的ESTABLISHED状态? UDP是无状态的.

这是我的直觉 – 我想知道,这是不正确的:

手册页告诉我:

state

06001

那么,iptables基本上会记住用于传出数据包的端口号(对于UDP数据包还记得什么?),然后允许在短时间内发回的第一个传入数据包?攻击者必须猜测端口号(这真的太难了吗?)

关于避免冲突:

内核会跟踪哪些端口被阻止(由其他服务或以前的传出UDP数据包阻止),以便这些端口不会在时间范围内用于新的传出DNS数据包? (怎么会发生,如果我不小心试图在时间范围内在该端口上启动服务 – 该尝试会被拒绝/阻止吗?)

请在上面的文字中找到所有错误:-)谢谢,

克里斯

解决方法

So,iptables basically remembers the
port number that was used for the
outgoing packet (what else could it
remember for a UDP packet?),

我很确定UDP的源端口和目标端口以及地址都存储起来.

如果要检查状态表,请安装conntrack和/或netstat-nat.

(What would happen,if I accidentally
tried to start a service on that port
within the timeframe – would that
attempt be denied/blocked?)

由于您使用的是OUTPUT和INPUT,因此您正在谈论本地服务.该端口已被使用我不相信您的系统将允许您启动另一项服务,因为某些东西已经在该端口上侦听.我想你可以停止第一个服务,如果你真的想要启动另一个服务,那么响应可能会得到你的服务.服务对数据包的作用取决于数据包的内容是什么,以及它是什么服务.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读