Linux

iptables 規則只允許傳入的 TCP 握手

  • September 4, 2019

我需要一些iptables規則來只允許傳入 TCP-handshake。所以我需要允許標誌SYNACK. 但我無法弄清楚???我的規則應該放在什麼位置?

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

它應該是SYNACK或其他什麼。唉, explainshell.com無法在規則中解釋這個位置..

這裡沒有什麼可以回答我的問題 - 沒有規則範例和解釋。也沒有關於傳入握手的資訊,甚至沒有關於--tcp-flags指定連結的資訊。

如果您只想允許傳入 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問題。請描述您的原始問題。

引用自:https://serverfault.com/questions/981860