Linux
iptables 規則只允許傳入的 TCP 握手
我需要一些
iptables
規則來只允許傳入 TCP-handshake。所以我需要允許標誌SYN
和ACK
. 但我無法弄清楚???
我的規則應該放在什麼位置?iptables -A INPUT -p tcp --tcp-flags SYN,ACK ??? -j ACCEPT
它應該是
SYN
或ACK
或其他什麼。唉, 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問題。請描述您的原始問題。