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

配置OpenVPN客户端使用本地网关同时保留client-to-client互通能力

故障根因

你给部分客户端静态分配了10.0.0.0/24段的IP,但OpenVPN服务端没有配置对应路由规则将该段的流量转发到对应客户端,同时当前ccd配置里的IP设置也存在错误。

修正步骤

  • 第一步:修正ccd配置的无效IP
    你现在ccd/myclient里的ifconfig-push 10.0.0.0 255.255.255.255配置错误:10.0.0.0是10.0.0.0/24段的网络地址,不能作为客户端主机IP使用,修改为该段内的可用主机IP,比如:
ifconfig-push 10.0.0.2 255.255.255.0

同时在该ccd文件中追加iroute规则,告知OpenVPN服务端10.0.0.0/24段的流量需要转发到该客户端:

iroute 10.0.0.0 255.255.255.0

如果多个客户端分配了10.0.0.0/24段的静态IP,就在每个对应客户端的ccd文件中添加对应主机的iroute规则,比如另一个客户端分配了10.0.0.3,就在它的ccd里加iroute 10.0.0.3 255.255.255.255。

  • 第二步:调整服务端配置
    确认server.conf中保留以下配置即可,原有其他配置无需改动:
# 已经注释掉redirect-gateway,不会把所有流量导到VPN
# push "redirect-gateway def1 bypass-dhcp"
# 推送两个VPN网段的路由,保证两个段的客户端都能找到对方
push "route 10.0.0.0 255.255.255.0 vpn_gateway 1"
push "route 10.8.0.0 255.255.255.0 vpn_gateway 1"
client-to-client
route 10.0.0.0 255.255.255.0
  • 第三步:配置服务端系统路由与防火墙
    打开服务端的IP转发:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

添加iptables规则放行tun接口的流量,避免跨段访问被拦截:

iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
  • 第四步:重启服务验证
    重启OpenVPN服务端,所有客户端重新连接后,测试跨段客户端互访即可正常生效,且普通公网流量仍走本地网关。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:36:01