帮助配置 openvpn 的 iptables

帮助配置 openvpn 的 iptables

我正在尝试为一个群体设置一个 openvpn 服务器,但是在配置 iptables 规则时遇到了问题。

该盒子有 5 个专用 IP 地址,我想使用其中一个不是默认传出 IP 地址的 IP,同时我想将 vpn 上的开放端口限制为(80 443 53 ...)并阻止其余端口。

openvpn client ip range is : 10.1.8.2 - 10.1.8.255
openvpn server ip : 10.1.8.1
outgoing ip address : a.b.c.d ( real ip )
allowed ports : 80 443 53 21

经过大量研究后,我发现以下命令可以用于我?:

iptables -t nat -A PREROUTING -p TCP -m multiport --dports 21,53,80,443 -m iprange --src-range 10.1.8.2-10.1.8.255 -j DNAT --to-destination A.B.C.D

主要问题是 iptables 正在转发来自所有 ips/端口的所有流量,但我想手动定义 iprange 和端口并阻止来自 openvpn 客户端的重置流量请求...

答案1

这听起来有点让我困惑。OpenVPN 服务器将负责 VPN 客户端的路由和 NAT,因此您不需要使用 iptables 执行此操作。一般来说,OpenVPN 也只需要一个端口,许多人选择在端口 443 上执行此操作,因为世界各地的许多酒店都允许使用此端口(而其他端口(如端口 500)通常不允许)。

您需要一个 INPUT 规则来打开防火墙中的相关端口。根据您的策略设置,您可能还需要 Internet 接口和隧道接口的 OUTPUT 规则。并且,同样根据您的策略设置,您可能需要 FORWARD 规则来允许相关接口(例如隧道和您的内部网络接口)之间的流量流动。所有这些规则都可以修改以限制 IP 地址范围和/或端口范围。

如果您的机器转发来自所有 IP 地址和所有端口的流量,那么您的 INPUT、OUTPUT 和 FORWARD 的默认策略很可能是 ACCEPT,您需要将其更改为 DROP。请阅读 iptables 的手册页以了解确切的详细信息。

相关内容