Iptables

iptables - 允許遠端 VPN 使用者訪問伺服器上執行的服務

  • April 30, 2018

我正在嘗試設置 VPN 伺服器 (strognswan) 並允許遠端使用者僅通過 VPN 訪問 redis、nginx、mongodb 等服務 - 使用者不應通過 VPN 訪問網際網路。

我能夠連接到 VPN 伺服器並發送 ping(iptables 允許這樣做),但我無法將 Internet(我的公共 IP)和 VPN 網路(10.10.10.0/24)分開。

當我打開埠 8080 時,我可以通過 VPN 訪問服務,但也可以通過公共 IP 看到它。

我的問題是,如何設置 iptables 允許 VPN 使用者訪問伺服器上的服務但阻止其他使用者訪問 Internet?

#ipsec.conf - left

left=#myPublicIP
leftid=@mydomain.com
leftsubnet=#myPublicIP/32
leftfirewall=yes
lefthostaccess=yes

您需要添加用於配置iptables以允許埠的命令,因為我認為您缺少一些重要選項。

例如,如果 VPN 介面名為tap0,要僅為 VPN 客戶端打開埠,您可以使用以下形式的命令iptables

# iptables -A INPUT -i tap0 -m tcp -p tcp --dport 8080 -j ACCEPT

(注意每個參數,-A特別是規則的順序,這在 上很重要iptables

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