OpenVPN组网设计方案

2026-05-25 22:25:00
丁国栋
原创 9
摘要:OpenVPN组网的需求和设计方案。

OpenVPN 是很多 Linux 自带的软件包,很容易获得。

核心需求:

  1. 外网的主机可以通过OpenVPN能接入办公网内网(外网访问内网)
  2. 办公网内的主机能访问外网的OpenVPN客户端(内网和外网实现互访)
  3. 外网的OpenVPN客户端之间能互相访问(外网互访)
  4. 为了方便内网互访或者外网互访,需要给OpenVPN客户端分配固定的IP地址或者域名

关键决策:

  1. 选物理节点部署还是其他。OpenVPN部署到物理节点,简化网络复杂度。如果把服务端放到虚拟机或者容器中,又多了一个中间层,部署起来非常不方便。
  2. 设计好VPN网段,网段中的可用IP数决定了客户端数量。
  3. 选 TUN 还是 TAP。TUN 是模拟三层网络实现,传输单位是IP包,是默认模式。TAP是模拟二层网络实现,传输单位是Ethernet帧,开销大,但可以桥接物理网络,TAP 模式相当于直接连接到内网。
  4. 拓扑 topology 选 subnet 还是 net30。一些老版本的 OpenVPN 服务端的 topology 是 net30,在这种拓扑下,/24 子网最多有64对IP,意味着客户端数量不能超过64个。

最终决定:

  1. 使用物理节点部署
  2. 网段选择 /23,主要是要避开现有网段
  3. 选择 TUN 模式
  4. 拓扑选择 subnet

注意事项:

  1. 设置办公网回程路由,即为办公网内的主机设置好去往VPN网络的路由
  2. 设置好OpenVPN服务端内核参数
  3. 设置好iptables规则
  4. 为客户端分配证书时设置好CN名称便于 CCD 管理

--

发表评论
博客分类