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

前端之家收集整理的这篇文章主要介绍了linux – Iptables:“ – p udp –state ESTABLISHED”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们看看这两个经常用于允许传出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,因此您正在谈论本地服务.该端口已被使用我不相信您的系统将允许您启动另一项服务,因为某些东西已经在该端口上侦听.我想你可以停止第一个服务,如果你真的想要启动另一个服务,那么响应可能会得到你的服务.服务对数据包的作用取决于数据包的内容是什么,以及它是什么服务.

原文链接:https://www.f2er.com/linux/401353.html

猜你在找的Linux相关文章