我需要一些iptables
规则仅允许传入 TCP 握手。所以我需要允许标志SYN
和ACK
。但我不知道???
我的规则中应该放什么位置?
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 问题。请描述您的原始问题。