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

OpenVPN社区版限制客户端仅访问指定IP网段的配置方案(搭配UFW防火墙)

OpenVPN社区版限制客户端仅访问指定IP网段的配置方案(搭配UFW防火墙)

嗨,刚好碰到过类似的需求,结合你在用UFW的情况,给你两个层面的配置思路,双管齐下更稳妥:

一、先调整OpenVPN服务器端配置,从路由层面限制客户端能访问的网段

  • 首先检查你的server.conf(一般在/etc/openvpn/server/目录下),如果之前加过类似push "route 192.168.0.0 255.255.0.0"这种推送整个内网段的命令,赶紧删掉或者用#注释掉——这会让客户端拿到所有内网路由,完全不符合你的需求。
  • 只添加你允许访问的网段路由,在server.conf里加入这一行:
    push "route 192.168.1.0 255.255.255.0"
    
    这样客户端连接后,只会收到192.168.1.0/24的路由信息,默认情况下根本不知道另外两个网段的存在,自然不会去访问。
  • 重启OpenVPN服务生效:
    sudo systemctl restart openvpn-server@server
    

二、用UFW防火墙做强制拦截,防止客户端手动绕开路由限制

毕竟有些懂行的客户端可能会手动添加路由,这时候防火墙就能起到兜底作用:

  • 先确认UFW的IP转发配置是开启的(之前配置OpenVPN时应该已经弄过,但再检查下更放心):
    编辑/etc/ufw/sysctl.conf,确保下面几行没有被注释(去掉前面的#):
    net.ipv4.ip_forward=1
    net.ipv6.conf.default.forwarding=1
    net.ipv6.conf.all.forwarding=1
    
  • 添加允许OpenVPN客户端网段(默认是10.8.0.0/24,对应虚拟网卡tun0)访问目标网段的规则:
    sudo ufw allow in on tun0 to 192.168.1.0/24
    
  • 接着添加拒绝规则,直接挡住客户端访问另外两个网段的流量:
    sudo ufw deny in on tun0 to 192.168.2.0/24
    sudo ufw deny in on tun0 to 192.168.3.0/24
    
  • 最后重启UFW让规则生效:
    sudo ufw reload
    

小提示

  • 如果你的OpenVPN客户端网段不是默认的10.8.0.0/24,比如改成了10.9.0.0/24,记得把上面命令里的tun0相关规则对应替换成你的实际网段。可以用ip addr show tun0查看虚拟网卡的网段信息。
  • 配置完后记得测试:用VPN客户端尝试ping 192.168.2.1或者192.168.3.1,应该会超时;而ping 192.168.1.0/24里的正常服务地址,应该能正常连通(前提是目标主机本身没有防火墙拦截)。

备注:内容来源于stack exchange,提问作者sebastian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 15:27:46