深信服VPN使用Docker隔离

深信服VPN卸载不掉,自动安装证书,可以监控https流量,饱受人们诟病,但是实际使用中又不可能不用。使用虚拟机隔离是一种解决方案,但是占用有点大,使用Docker隔离可以很好的解决这个问题。

一、官方地址

二、使用Docker compose部署

最近喜欢使用compose来部署应用,之后迁移只需要迁移映射出来的数据、docker-compos.yml文件即可。

低版本7.6.3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
version: '3.8'

services:
easyconnect-vnc:
image: hagb/docker-easyconnect:7.6.3
container_name: easyconnect-vnc
restart: unless-stopped

# 网络权限
devices:
- /dev/net/tun
cap_add:
- NET_ADMIN

# 环境变量配置
environment:
# VNC 密码
- PASSWORD=123456
# 启用 URL 窗口
- URLWIN=1
# ARM64 和 MIPS64EL 架构需要这个参数
# - DISABLE_PKG_VERSION_XML=1

# 端口映射
ports:
# VNC 端口
- "127.0.0.1:55901:5901"
# SOCKS5 代理端口
- "127.0.0.1:51080:1080"
# HTTP 代理端口
- "127.0.0.1:58888:8888"

高版本7.6.7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
version: '3.8'

services:
easyconnect-vnc:
image: hagb/docker-easyconnect:7.6.7
container_name: easyconnect-vnc
restart: unless-stopped

# 网络权限
devices:
- /dev/net/tun
cap_add:
- NET_ADMIN

# 环境变量配置
environment:
# VNC 密码
- PASSWORD=123456
# 启用 URL 窗口
- URLWIN=1
# ARM64 和 MIPS64EL 架构需要这个参数
# - DISABLE_PKG_VERSION_XML=1

# 端口映射
ports:
# VNC 端口
- "127.0.0.1:55901:5901"
# SOCKS5 代理端口
- "127.0.0.1:51080:1080"
# HTTP 代理端口
- "127.0.0.1:58888:8888"

注意:windows默认的Hyper-V 保留了一些端口号,所以需要手动改到一些可以使用的1端口号。

查看windows保留端口号的命令

1
netsh interface ipv4 show excludedportrange protocol=tcp

启动容器

1
docker-compose up -d

使用VNC登录VPN后,即可使用映射出来的代理。

三、问题(未解决)

  1. 大多数情况都卸载不干净,最后都是重装系统。
  2. 实际使用中,如果是Xshell还好,但是navicat 就遇到过不少次配置了代理,实际上没有成功的情况,搞得很难受。以后仔细解决吧!

四、参考文献