openvpn访问vpn server未通过代理的问题

需求:连接openvpn范围nginx,nginx限制宿主机ip白名单达到鉴权效果。

问题:openvpn和目标服务在同一宿主机时,连接vpn发型访问目标服务时显示来源ip为源ip而不是宿主机ip。

分析:使用tracert发现,连接vpn之后,路由第一站网关仍是本地网关,不是vpn tun的10.8.0.1,虽然在vpn server已经配置了push “redirect-gateway def1″,但似乎某些本地路由优先级更高。

尝试:将到本地网关的网络强制路由到vpn隧道的10.8.0.1,虽然push成功,能看到新路由规则,但本地其他路由规则优先级更高,尝试修改metric 100,提高优先级,但push失败。

push "route 192.168.1.0 255.255.255.0 metric 100"
8       192.168.1.0/24                                 10.8.0.1                                         256 1        Ac
26      192.168.1.0/24                                 0.0.0.0                                          256 35       Ac
28      192.168.1.0/24                                 0.0.0.0                                          256 25       Ac

解决:push路由表,将目标为宿主机ip的流量路由到vpn网络。

push "route vpn-server-ip/32"

参考:https://serverfault.com/questions/527256/restricting-nginx-website-connection-to-vpn-users-on-the-same-server/1167789#1167789


评论

《 “openvpn访问vpn server未通过代理的问题” 》 有 2 条评论

  1. 也可以在连接vpn之后直接通过内网ip访问,不经过nginx

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注