Ssl
與 apache 443/10443 的 OpenVPN 埠共享不起作用
我配置了 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身份啟動的
根 7862 0.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)解決了它。