我设置了一个 openVPN 服务器并且它运行正常。
下一步是保护它,我选择使用 IPTABLES 来仅允许某些连接通过,但到目前为止它还不起作用。
我想启用对我的 openVPN 服务器后面的网络的访问,并允许其他服务(网络访问),当 iptables 被禁用或设置为允许所有这些工作正常时,当使用我的以下规则时则不行。
另请注意,我已经将 openVPN 本身配置为执行我想要的操作,并且它运行良好,只有在启动 iptables 时才会失败。
任何能够告诉我为什么这不起作用的帮助都将不胜感激。
这些是我根据 openVPN 的建议添加的行,不幸的是,测试这些命令表明它们是必需的,但它们似乎非常不安全,有什么办法可以避免使用它们吗?
# Allow TUN interface connections to OpenVPN server
-A INPUT -i tun+ -j ACCEPT
#allow TUN interface connections to be forwarded through other interfaces
-A FORWARD -i tun+ -j ACCEPT
# Allow TAP interface connections to OpenVPN server
-A INPUT -i tap+ -j ACCEPT
# Allow TAP interface connections to be forwarded through other interfaces
-A FORWARD -i tap+ -j ACCEPT
这些是我添加的新链和命令,用于尽可能地限制访问。不幸的是,启用这些链和命令后,openVPN 连接会正常建立,但无法访问 openVPN 服务器后面的其余网络
注意,我正在配置主 iptables 文件,而且我很偏执,所以所有端口和 ip 地址都被更改了,并且 -N 等出现在这之前,所以请忽略它们不会出现。
我还添加了一些关于我“打算”制定这些规则的目的的解释,这样你就不会浪费时间去弄清楚我哪里做错了:>
4 #accepts the vpn over port 1192 -A INPUT -p udp -m udp --dport 1192 -j ACCEPT -A INPUT -j INPUT-FIREWALL -A OUTPUT -j ACCEPT #packets that are to be forwarded from 10.10.1.0 network (all open vpn clients) to the internal network (192.168.5.0) jump to [sic]foward-firewall chain -A FORWARD -s 10.10.1.0/24 -d 192.168.5.0/24 -j FOWARD-FIREWALL #same as above, except for a different internal network -A FORWARD -s 10.10.1.0/24 -d 10.100.5.0/24 -j FOWARD-FIREWALL # reject any not from either of those two ranges -A FORWARD -j REJECT -A INPUT-FIREWALL -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT-FIREWALL -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT-FIREWALL -j REJECT -A FOWARD-FIREWALL -m state --state RELATED,ESTABLISHED -j ACCEPT #80 443 and 53 are accepted -A FOWARD-FIREWALL -m tcp -p tcp --dport 80 -j ACCEPT -A FOWARD-FIREWALL -m tcp -p tcp --dport 443 -j ACCEPT #192.168.5.150 = openVPN sever -A FOWARD-FIREWALL -m tcp -p tcp -d 192.168.5.150 --dport 53 -j ACCEPT -A FOWARD-FIREWALL -m udp -p udp -d 192.168.5.150 --dport 53 -j ACCEPT -A FOWARD-FIREWALL -j REJECT COMMIT
现在我等待:D
答案1
直接使用 Shorewall 而不是 iptables。Shorewall 是一个轻量级配置工具,可以更轻松地管理 iptables 规则。您可以按照以下步骤在大约 10 分钟内启动并运行 OpenVPN 防火墙OpenVPN 操作指南。
答案2
您是否尝试过在 REJECT 前面添加 -j LOG 语句,以便至少可以看到最终被拒绝的是哪一个以及具体是什么被拒绝了?
您能提供一条跟踪路由吗,例如从 10.10.1.1 跟踪路由 192.168.5.1?