Openvpn(OpenVPN 2.1.0)とApache 2(それぞれ443と10443(modsslを使用)でリッスンするように構成しました)。2つのアプリケーションは正常にリッスンしています。
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として起動されます
ルート78620.0 0.0 99552 924? S Sep22 0:00/usr/sbin/openvpn --writepid /var/run/openvpn.server.pid --daemon ovpn-server --cd/etc/openvpn --config /etc/openvpn/server.conf-スクリプト-セキュリティ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接続がポート共有オプションで機能していません。
私はついにこの問題の答えを見つけました。
ファイアウォールのルールは正しいように見えますが、openvpnがApacheとは異なるホスト(パブリックIP)でリッスンしていたという事実が問題でした。 openvpnとApacheに同じホスト(およびパブリックIP)を使用すると、問題が解決しました。