Iptables - 允许远程 VPN 用户访问服务器上运行的服务

Iptables - 允许远程 VPN 用户访问服务器上运行的服务

我正在尝试设置 VPN 服务器 (strognswan) 并允许远程用户仅通过 VPN 访问 redis、nginx、mongodb 等服务 - 用户不应该通过 VPN 访问互联网。

我可以连接到 VPN 服务器并发送 ping(iptables 允许这样做),但我无法分离 Internet(我的公共 IP)和 VPN 网络(10.10.10.0/24)。

当我打开端口 8080 时,我可以通过 VPN 访问服务,而且通过公共 IP 也可以看到它。

我的问题是,如何设置 iptables 以允许 VPN 用户访问服务器上的服务但阻止其他用户访问互联网?

#ipsec.conf - left

left=#myPublicIP
[email protected]
leftsubnet=#myPublicIP/32
leftfirewall=yes
lefthostaccess=yes

答案1

您需要添加用于配置iptables允许端口的命令,因为我认为您缺少一些重要的选项。

例如,如果 VPN 接口名为tap0,若要仅为 VPN 客户端打开一个端口,您可以使用以下形式的命令iptables

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

(注意每一个参数,特别-A是规则的顺序,这非常重要iptables

相关内容