Iptables

如何讓 iptables 允許新埠(用於網路伺服器套接字處理程序)

  • June 19, 2014

在本地開發伺服器中,我沒有任何 iptables 規則(在 Mac 上執行)。然而,生產伺服器以某些規則執行 CentOS 6。

我需要添加一個規則,允許客戶端連接到1337埠。

這是我目前的 iptables 文件。是否有我必須插入新規則的特定訂單位置?

# Generated by iptables-save v1.4.7 on Tue Jun  4 17:42:56 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3:412]
-A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 11211 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p tcp -m tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Jun  4 17:42:56 2013

該規則應添加到 INPUT 鏈之後

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

規則和之前

-A INPUT -j REJECT --reject-with icmp-host-prohibited

規則。

您可以通過直接編輯 /etc/sysconfig/iptables 或使用 -I 參數插入規則來完成此操作。我個人會保存防火牆的狀態,然後編輯 /etc/sysconfig/iptables 然後重新啟動服務

service iptables save
edit the file and add -A INPUT -p tcp -m state --state NEW -m tcp --dport 1337 -j ACCEPT
service iptables restart

如果您想從命令行完成所有操作,那麼您可以使用 –line-number 來決定在哪裡插入新規則

iptables -L INPUT --line-numberss
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
2    ACCEPT     icmp --  anywhere             anywhere
3    ACCEPT     all  --  anywhere             anywhere
4    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
5    REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

所以現在在位置 2 插入規則

iptables -I INPUT 2 -p tcp -m state --state NEW -m tcp --dport 1337 -j ACCEPT

如果可行,請不要忘記保存防火牆的狀態

service iptables save

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