iptables 规则仅允许传入 TCP 握手

iptables 规则仅允许传入 TCP 握手

我需要一些iptables规则仅允许传入 TCP 握手。所以我需要允许标志SYNACK。但我不知道???我的规则中应该放什么位置?

iptables -A INPUT -p tcp --tcp-flags SYN,ACK ??? -j ACCEPT

应该是SYN或者ACK或者其他什么。唉explainshell.com无法在规则中解释这个立场..

没有什么这里这回答了我的问题 - 没有规则示例和解释。也没有关于传入握手的任何信息,甚至没有关于--tcp-flags指定链接的任何信息。

答案1

如果您只想允许传入的 TCP 握手并拒绝传出连接,则不需要大量带有 tcp 标志检查的规则。几条带有状态检查的规则就足够了:

iptables -I INPUT -p tcp -m conntrack --ctstate NEW -j ACCEPT
iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

iptables -I OUTPUT ! -o lo -p tcp -m conntrack --ctstate NEW -j DROP

但撇开问题本身不谈,这个请求似乎很奇怪。也许这是 XY 问题。请描述您的原始问题。

相关内容