IP 表允許一切,但僅限一個 IP 限制 HTTP

IP 表允許一切,但僅限一個 IP 限制 HTTP

每當我的客戶需要更改某些內容時,我就被要求管理幾個網頁伺服器。

我想做的就是在測試時暫時限制自己,而所有其他連接對所有人開放HTTPHTTPS

他們沒有iptables管理,但我有 sudo 存取權限。

還有很多其他服務正在運行,我不想中斷它們。我也不想斷開與 ssh 會話的連接,因為我沒有控制台訪問權限來恢復它。

如果我只運行這兩個命令,它會僅在其他連接埠工作時進行限制HTTPHTTPS

iptables -I INPUT -p tcp -s 0.0.0.0/0 --match multiport --dport 80,443 -j DROP
iptables -I INPUT -p tcp -s 10.1.1.2 --match multiport --dport 80,443 -j ACCEPT

編輯:更改了規則的順序。

答案1

是的,只有其中的內容才會iptables --list被處理,除非有DROP ALL它允許其他所有內容。

但如果我們使用-I (Insert)規則的順序應該是Drop第一個,這意味著規則DROP將在最後,而ACCEPT規則將首先被處理。

[root@hostname ~]# iptables -I INPUT -p tcp -s 0.0.0.0/0 --match multiport --dport 80,443 -j DROP            
[root@hostname ~]# iptables -I INPUT -p tcp -s 10.1.1.2 --match multiport --dport 80,443 -j ACCEPT

現在運行iptables --list

[root@hostname ~]# iptables --list
Chain INPUT (policy ACCEPT)
target     prot    opt    source               destination
ACCEPT     tcp      --    10.1.1.2         anywhere            multiport dports http,https
DROP       tcp      --    anywhere         anywhere            multiport dports http,https

相關內容