OpenV**手动指定路由规则

  我们在远程办公时通常需要通过内部 OpenV** 来访问公司内部的敏感系统, 默认情况下, OpenV** 会临时修改本地路由表,将所有流量都指向了 v**_gateway,导致一些本地规则被覆盖,甚至无法打开部分国内的网站,带来了很多不便。这里记录一下手动指定路由规则的配置,仅让指定的网段或域名走 gateway。

  文中为了脱敏,涉及到的关键字均由 ** 替代, 配置文件处请手动替换回来,避免配置错误。

指定网段/IP路由

默认情况下,OpenV** 启动时会增加类似的路由, 这些路由来自服务端定义,由客户端 pull 下来:

1
2
add net 0.0.0.0: gateway 10.40.79.1
add net 128.0.0.0: gateway 10.40.79.1

我们可以在配置文件中添加如下规则,取消pull路由,并新增我们需要路由的网段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 不pull远端路由规则,改为手动配置路由规则  
route-nopull

# 默认只允许添加100条路由,如果需要添加的路由数大于100,需要如下参数
max-routes 1000

# 指定IP 123.123.123.123 走网关 ! ! ! 记得替换** ! ! !
route 123.123.123 255.255.255.255 v**_gateway



# 指定网段走网关 ! ! ! 记得替换** ! ! !
route 10.0.0.0 255.255.255.0 v**_gateway
route 172.16.0.0 255.255.255.0 v**_gateway

     

指定域名路由

只通过 IP/网段来配置路由多少有些不方便,我们可以通过域名/FQDN来配置路由规则,例如我们仅 www.iots.vip 需要走网关,则可以添加如下规则:

1
2
3
4
5
6
7
8
9
10
# 不pull远端路由规则,改为手动配置路由规则  
route-nopull

# 允许客户端从服务段pull DNS记录.
# --allow-pull-fqdn
# Allow client to pull DNS names from server (rather than being limited to IP address) for --ifconfig, --route, and --route-gateway.
allow-pull-fqdn

# 仅www.iots.vip走网关 ! ! ! 记得替换** ! ! !
route www.iots.vip 255.255.255.255 v**_gateway

尾巴

注意, IP/网段路由与域名/FQDN 两者不冲突,可以共存。
同时,如果你是 macOS ,建议直接使用 CLI 版本:

1
2
3
4
5
# 安装CLI, ! ! ! 记得替换**  ! ! !
brew install openv**

# 连接,需要用sudo ! ! ! 记得替换** ! ! !
sudo openv** --config config.ov**(配置文件路径) --script-security 2