使用OpenVPN打通异地网络(支持Linux/Windows)

当我们下班或者出差时,偶尔会有需求需要访问公司内网中的服务,比如代码仓库等。

除了使用远程桌面到办公电脑操作外,还可以考虑使用OpenVPN连通公司网络,无缝访问公司内网的服务。

原理

公司局域网中的某台机器作为OpenVPN客户端连接到OpenVPN网络,然后配置成网关;OpenVPN服务端将相关IP路由到这个OpenVPN客户端,转发流量。

Windows与Linux配置方法稍微有些不同,下面会给出。

目标

如下图所示,我们的目标是用家庭网络中的笔记本电脑(192.168.31.103)直接访问公司局域网中的代码仓库(192.168.1.100)

安装

OpenVPN的安装教程可以参考我之前的文章
juejin.cn/post/735715...

确保OpenVPN正常可用后,才能使用OpenVPN打通异地网络。

服务端配置

路由配置

编辑 /etc/openvpn/server.conf 加入以下配置

perl 复制代码
client-to-client #启用客户端点对点,即两个客户端可以相互访问
route 192.168.1.0 255.255.255.0 #指示openvpn负责该子网的路由
push "route 192.168.1.0 255.255.255.0" #设置客户端的路由表,该子网路由到openvpn

配置好后重启即可。

ccd配置

我们需要前往/etc/openvpn/ccd/创建用户配置文件。该目录负责每个用户不同的路由规则,一个用户一个文件(如/etc/openvpn/ccd/user)。

假设我们创建了一个openvpn用户company给电脑1(192.168.1.212)使用,我们需要前往/etc/openvpn/ccd/,添加或者修改company文件,添加以下内容:

perl 复制代码
ifconfig-push 10.8.0.12 255.255.255.0 #设置静态IP,这个可选
iroute 192.168.1.0 255.255.255.0 #连接后通知OpenVPN服务端该子网由该客户端负责

系统配置

接下来我们需要启用操作系统的路由转发功能,从而使家有网络中的请求路由到公司网络中。

Windows

  • 打开注册表编辑器,前往HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters找到IPEnableRouter项,修改为1
  • 打开services.msc,启用Routing and Remote Access服务,启动类型选择自动或手动,然后点击服务状态下的启动即可
  • 最后还需要启动网卡共享,将物理网卡共享给OpenVPN的虚拟网卡

Linux

linux较为简单(^o^乐),一条命令即可

css 复制代码
sudo iptables -t nat -A POSTROUTING -o ens34 -j MASQUERADE

这边补充两个点

  • ens34是ubuntu默认的网卡名,需要改成自己的服务器的默认网卡名
  • ubuntu默认是不允许路由转发的,要先执行 ufw disable,或者单独配置允许路由转发功能。

验证

  • 重启OpenVPN服务器 systemctl restart openvpn
  • 客户端均重新连接,注意公司和家庭中的OpenVPN客户端使用不同的用户,如home与company

使用ping校验

相关推荐
博客zhu虎康4 小时前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p
xixingzhe21 天前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
叼烟扛炮1 天前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
沫璃染墨1 天前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
byte轻骑兵2 天前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪0012 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
AI 编程助手GPT2 天前
curl 返回成功就能收文件?用本地 HTTP 验证错误页与超时
网络·网络协议·http
流浪0012 天前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头
Jongkhurun2 天前
以太网的最小帧长为什么是 64 字节:从 CSMA/CD 冲突窗口推导 64 Byte
网络协议
honsor3 天前
SNMP 读取以太网温湿度传感器数据,监控平台对接实操
物联网·网络协议·tcp/ip