You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VPN访问服务器内网HTTP服务?配置问题排查求助

问题排查求助

我有一台同时运行OpenVPN服务器和HTTP服务的机器,HTTP服务未暴露至公网,仅允许通过VPN访问。目前VPN可正常连接并访问互联网,但无法访问内网HTTP服务,推测可能是OpenVPN缺少相关配置,希望得到排查方向的帮助。我使用firewalld作为防火墙,当前配置如下:

server (active)
  target: DROP
  icmp-block-inversion: yes
  interfaces: eth0
  sources: 
  services: dhcpv6-client http https
  ports: 22/tcp 1194/udp
  protocols: 
  forward: no
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: echo-request
  rich rules: 

tunnel (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: tun0
  sources: 
  services: 
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

我的OpenVPN配置如下:

port 1194
proto udp
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 94.140.14.14"
push "dhcp-option DNS 94.140.15.15"
push "redirect-gateway def1 bypass-dhcp"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_JgSbRjw5qgxxQzwc.crt
key server_JgSbRjw5qgxxQzwc.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
verb 3
排查方向
  • 确认HTTP服务监听地址:检查HTTP服务是否绑定0.0.0.0或VPN网段(10.8.0.0/24),若仅绑定eth0内网IP或127.0.0.1,VPN客户端无法访问。执行ss -tulpn | grep 80(替换为实际HTTP端口)查看监听地址。
  • 检查内核IP转发:临时开启执行echo 1 > /proc/sys/net/ipv4/ip_forward;永久开启则编辑/etc/sysctl.conf,添加net.ipv4.ip_forward=1后执行sysctl -p。
  • 调整firewalld转发规则:当前server区域forward设为no,需允许VPN网段流量转发。可添加富规则:firewall-cmd --zone=server --add-rich-rule='rule family="ipv4" source address="10.8.0.0/24" accept' --permanent,再执行firewall-cmd --reload。
  • 验证客户端路由配置:若HTTP服务在服务器本机或其他内网网段,需在OpenVPN配置中添加push "route 内网网段 子网掩码"(比如push "route 192.168.1.0 255.255.255.0"),确保客户端有对应路由。
  • 测试服务器本地连通性:在服务器上用VPN网关IP(10.8.0.1)访问HTTP服务,若不通则说明服务未监听VPN网卡;若通则排查防火墙和客户端路由。
  • 添加firewalld服务允许规则:在server区域添加允许VPN网段访问HTTP的规则:firewall-cmd --zone=server --add-rich-rule='rule family="ipv4" source address="10.8.0.0/24" service name="http" accept' --permanent,重载防火墙后测试。

内容的提问来源于stack exchange,提问作者itsu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 22:35:21