搭建个人虚拟网络通道
为了实现个人电脑和公司电脑的通信,同时便于应急操作,采用云服务器作为中转的解决方案。本文旨在详细记录此次配置过程。
1. 云服务器部署 OpenVPN Docker
1.1 生成OpenVPN配置
# 创建配置目录
OVPN_DATA="ovpn-data"
docker volume create --name $OVPN_DATA
# 初始化配置(替换SERVER_IP为云服务器公网IP)
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://SERVER_IP
# 生成CA和服务器证书(设置强密码)
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
1.2 启动OpenVPN容器
# 可自定义暴露端口
docker run -d \
--name openvpn \
-v $OVPN_DATA:/etc/openvpn \
-p 1194:1194/udp \
--cap-add=NET_ADMIN \
--restart unless-stopped \
kylemanna/openvpn
1.3 防火墙放行UDP
我的是阿里云服务器,仅需在控制台安全组开放
sudo firewall-cmd --permanent --add-port=1194/udp
sudo firewall-cmd --reload
2. 生成客户端配置
2.1 创建客户端证书
# 生成家用笔记本配置(替换home-laptop为客户端名称)
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full home-laptop nopass
# 生成公司笔记本配置
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full office-laptop nopass
# 生成手机配置
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full iphone-mobile nopass
2.2 导出客户端配置文件
# 导出家用笔记本配置
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient home-laptop > home-laptop.ovpn
# 导出公司笔记本配置
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient office-laptop > office-laptop.ovpn
# 导出手机配置
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_getclient iphone-mobile > iphone-mobile.ovpn
2.3 固定设备的 ip


在 ccd 目录下的 文件名称和 生成配置的名称保持一致

2.4 修改路由配置(关键步骤)
编辑生成的 .ovpn 文件,在文件末尾添加以下内容,确保仅VPN子网流量通过隧道:
# 禁用流量全局
;redirect-gateway def1
route 10.8.100.10 255.255.255.0
route 10.8.100.8 255.255.255.0
route 10.8.100.1 255.255.255.0
更多配置说明看下面的例子
3. 客户端连接配置
3.1 安装OpenVPN客户端
- 家用和公司笔记本:安装 openvpn下载(macOS推荐)或其他OpenVPN客户端。
3.2 导入配置文件
- 将
*.ovpn分别导入对应的设备。
3.3 连接测试
- 两台笔记本分别连接VPN,确认获取的IP(家用为
10.8.100.8,公司为10.8.100.10)。
ping 10.8.100.8
4. 访问公司笔记本内容
4.1 启用公司笔记本服务
- 确保公司笔记本开启所需服务(远程连接SSH、文件共享)
4.2 通过VPN IP访问
- 家用笔记本 使用公司笔记本的VPN IP(
10.8.100.10)直接访问服务:
# SSH示例
ssh username@10.8.100.10
# AFP文件共享(macOS)
afp://10.8.100.10
5. 验证流量分流
- 检查路由:连接VPN后,在终端运行
netstat -nr确认默认路由未指向VPN。 - 访问测试:访问 ipleak.net 确认公网IP仍是家庭网络,而非云服务器IP。
杂项
故障排查
- 连接失败:检查云服务器安全组和防火墙是否开放UDP 1194。
- 无法访问服务:确认公司笔记本本地防火墙允许来自VPN子网(
10.8.100.0/24)的连接。 - IP冲突:若公司网络已使用
10.8.100.0/24,需在生成配置时通过-s SUBNET参数修改VPN子网。
安全建议
- 定期更新证书:使用
ovpn_revokeclient撤销不再使用的证书。 - 启用TLS加密:在
ovpn_genconfig中添加-e 'tls-crypt'提升安全性。 - 监控日志:通过
docker logs openvpn检查异常连接。


浙公网安备 33010602011771号