如何添加 iptables 规则以仅为特定服务(OpenVPN)重定向 http(s) 流量而不影响其他服务(Apache2 等)?

如何添加 iptables 规则以仅为特定服务(OpenVPN)重定向 http(s) 流量而不影响其他服务(Apache2 等)?

我有自己的 VPS(Ubuntu 18)。我在那里运行了Apache2服务器OpenVPN。此外,我Squid还想使用代理来OpenVPN拦截流量并更改标头,例如user-agent

为了管理 iptables,我使用firewall-cmd

我想重定向http(s) 流量仅适用于OpenVPN服务器,不会影响Apache2流量。我该怎么做?如何仅为特定服务添加端口转发规则?

提前致谢!

答案1

我假设您有一个用于 OpenVPN 管理的某种网站,或者使用具有 Web 管理的 OpenVPN 访问服务器,并且希望 OpenVPN ti 仅捕获 VPN 连接。

对于 OpenVPN,您可以通过在服务器配置文件中附加“port-share”来使用该选项

port-share 127.0.0.1 443对于 443 上的 Web 端口

对于 OpenVPN 访问服务器

/usr/local/openvpn_as/scripts/sacli -k vpn.server.port_share.enable -v true configput

/usr/local/openvpn_as/scripts/sacli -k vpn.server.port_share.ip_address -v 127.0.0.1 configput

/usr/local/openvpn_as/scripts/sacli -k vpn.server.port_share.port -v 443 configput

/usr/local/openvpn_as/scripts/sacli start

这将使 OpenVPN 捕获到 127.0.0.1:443 的非 VPN 流量,因此 squid 可以通过 443 捕获其余所有流量,我回答 443 是因为它适用于我上面提到的所有情况,因为我不太了解这个问题的细节。另外,OpenVPN 上不需要额外的 iptables。

因此,您可以将端口更改为您在 squid 上设置的任何端口。

相关内容