OpenVPN 端口共享与 apache 443/10443 不起作用

OpenVPN 端口共享与 apache 443/10443 不起作用

我配置了 openvpn(OpenVPN 2.1.0)和 apache 2(分别在 443 和 10443(使用 modssl)上监听。这两个应用程序监听得很好:

tcp        0      0 x.x.x.x:10443           0.0.0.0:*        LISTEN      1130/apache2
tcp        0      0 0.0.0.0:443             0.0.0.0:*        LISTEN      7860/openvpn

但是,由于我试图确定的原因,配置如下的端口共享选项(使用公共 IP)不起作用:

port 443
port-share x.x.x.x 10443

openvpn日志中的错误是:

TCP connection established with [AF_INET]y.y.y.y:3123  Socket Buffers: R=[131072->131072] S=[131072->131072]  
TCPv4_SERVER link     local: [undef]  
TCPv4_SERVER link remote: [AF_INET]y.y.y.y:3123
y.y.y.y:3123 Non-OpenVPN client protocol detected  
PORT SHARE PROXY: connect to port-share server failed
y.y.y.y:3123 SIGTERM[soft,port-share-redirect] received, client-instance exiting  
TCP/UDP: Closing socket

我认为 openvpn 没有连接权限,但它是以 root 身份启动的

root 7862 0.0 0.0 99552 924 ? S 9 月 22 日 0:00 /usr/sbin/openvpn --writepid /var/run/openvpn.server.pid --daemon ovpn-server --cd /etc/openvpn --config /etc/openvpn/server.conf --script-security 2

防火墙上443和10443端口已打开。

感谢您的任何意见和建议!

我已经咨询过:

编辑 iptables 规则:

Chain ufw-user-input (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     udp  --  anywhere             anywhere            udp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     udp  --  anywhere             anywhere            udp dpt:25
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:openvpn
ACCEPT     tcp  --  10.0.0.0/8           anywhere            tcp dpt:mysql
ACCEPT     udp  --  10.0.0.0/8           anywhere            udp dpt:mysql
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https
ACCEPT     udp  --  anywhere             anywhere            udp dpt:https
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:10443
ACCEPT     udp  --  anywhere             anywhere            udp dpt:10443

编辑以更好地解释错误日志:openvpn 远程连接正在运行(我成功连接到端口 443 上的 VPN)。端口转发不起作用。10443 上的 HTTPS 连接正在运行,但端口 443 上的 HTTPS 连接无法与端口共享选项配合使用。

答案1

我终于找到了这个问题的答案。

尽管防火墙规则似乎正确,但问题在于 openvpn 与 apache 监听的主机(公共 IP)不同。对 openvpn 和 apache 使用相同的主机(和公共 IP)解决了这个问题。

相关内容