Security

僅在 localhost VPN 上允許埠 22

  • March 31, 2013

我租了一台遠端伺服器,並在這台伺服器上執行 OpenVPN 服務。我正在嘗試保護我的防火牆(iptables),所以唯一可以訪問 SSH 的人是連接到 VPN(本地主機)的人。但是,每當我執行 DROP 命令時,我將無法再訪問 SSH,直到我重新啟動伺服器,因為在我退出 SSH 之前防火牆設置尚未保存。

下面是我試圖用來完成此操作的程式碼。

iptables -A INPUT -p tcp -s localhost --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

非常感謝任何幫助,謝謝。

連接到 OpenVPN 服務會為連接的電腦提供一個新的 IP 地址,該地址可用於與伺服器通信。根據您的配置,這個新的 IP 地址可能會橋接到伺服器真實介面,或者在一個新的虛擬“隧道”設備中創建,通常稱為 tun0。在任何情況下,使用 VPN 與伺服器通信都不會通過 localhost 介面。檢查主機中是否存在 tun0 介面,如果存在,請嘗試使用:

iptables -A INPUT -p tcp -i tun0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

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