OpenVPN每个客户端为什么占用4个IP?

简介: OpenVPN每个客户端为什么占用4个IP?

对于内部系统的访问,我们也是采用了常见openVPN网络隧道方案实现业务远程访问。最近北京疫情有点严重,响应政府号召居家远程上班,openVPN的使用者也随着内部系统增多变得越来越多。

最近收到有人反馈,openVPN刚开始使用还好好的,现在连接状态也是正常的,怎么就打不开系统了呢?

听反馈说,openVPN客户端连接软件也重启了,电脑也重启了,还是打不开,听着很是诡异,于是远程看了一下openVPN客户端的连接日志如下:

看到这些的时候,也是相对纳闷的,我自己用的还好好的啊,于是重新进行了一次连接,发现连接正常,系统也能打开。还以为此时解决了,但是又收到一个相同反馈此问题的,于是就不淡定了,去服务端看了一下日志:

Tue May 10 16:11:41 2022 us=847325 4C:5E:0C:2C:F3:5A/79.234.70.105:57637 MULTI: no free --ifconfig-pool addresses are available
Tue May 10 16:11:41 2022 us=847380 4C:5E:0C:2C:F3:5A/79.234.70.105:57637 MULTI: no dynamic or static remote --ifconfig address is available for 4C:5E:0C:2C:F3:5A/79.234.70.105:57637
Tue May 10 16:11:41 2022 us=847451 4C:5E:0C:2C:F3:5A/79.234.70.105:57637 Connection reset, restarting [0]
Tue May 10 16:11:41 2022 us=847503 4C:5E:0C:2C:F3:5A/79.234.70.105:57637 SIGUSR1[soft,connection-reset] received, client-instance restarting
Tue May 10 16:11:41 2022 RADIUS-PLUGIN: BACKGROUND ACCT: Stop acct: username: 4C:5E:0C:2C:F3:5A, calling station: 79.234.70.105, commonname: 4C:5E:0C:2C:F3:5A.
Tue May 10 16:11:41 2022 RADIUS-PLUGIN: BACKGROUND ACCT: No accounting data was found for 4C:5E:0C:2C:F3:5A,79.234.70.105:57637.
Tue May 10 16:11:41 2022 RADIUS-PLUGIN: BACKGROUND-ACCT: Got accouting data from file, CN: 4C:5E:0C:2C:F3:5A in: 0 out: 0.
Tue May 10 16:11:41 2022 RADIUS-PLUGIN: BACKGROUND-ACCT: Stop packet was sent. CN: 4C:5E:0C:2C:F3:5A.

出现不少类似信息,查了一下说是没有可用的IP地址可以,但是我记的前几天出现问题通过增加了max-clients的数量解决了啊,怎么还不行呢?

# openvpn server.conf
max-clients 300

前几天出现问题时,客户端的截图:

image-20220510191557765.png

查了一下发现这个max-clients只是增加了客户端的并发连接,并不能解决问题。经过查询,发现openVPN每个客户端会占用4个IP位(openvpn-status.log)

image-20220510193406683.png

按照这样分配,单个网段连接用户只能有62个,再多就不能正常连接,那为什么是这样呢?经过一番查询,在官网的FAQ区找到了解释:

image-20220510194924288.png

那也就是说可以通过增加网段的方式来解决此类IP地址池不够用的问题,那就可以根据自己客户端使用的数量,计算出合适的掩码位即可:

image-20220510195713699.png

这样应该就足够了,但是在修改服务端掩码的时候,特别需要⚠️注意的就是iptables的变更!具体解决方案:

  1. 计算出合适的掩码/23,修改openVPN服务端配置文件处的server指令

    server 10.8.0.0 255.255.254.0
  2. 备份当前环境的iptables规则

    iptables-save > /data/backup/iptables-save.2022.05.10
  3. 添加修改掩码后的POSTROUTING

    iptables -t nat -A POSTROUTING -s 10.8.0.0/23 -o ens160 -j MASQUERADE
  4. 删除之前掩码的记录

    iptables -v -L POSTROUTING -t nat --line-numbers # 获取到记录ID
    iptables -t nat -D POSTROUTING 3 #删除记录
  5. 重启openVPN服务端即可

    /etc/openvpn/restart.sh
  6. 如果不是systemd管理的(那就做成的systemd管理的吧)或者开启自启文件中有配置服务启动脚本的,注意修改!
相关文章
|
Kubernetes Perl 容器
【kubernetes】修改集群节点中 Pod 数量限制
Kubernetes 默认每个节点只能启动 110 个 Pod,由于业务需要,将每个节点默认限制的 Pod 数量改为 200。
3548 0
|
机器学习/深度学习 编解码 监控
手把手改进yolo训练自己的数据(坑洼路面识别)
手把手改进yolo训练自己的数据(坑洼路面识别)
|
12月前
|
Linux 数据安全/隐私保护 C语言
新手向导:轻松离线搭建最新版OpenVPN(含一键安装脚本)
OpenVPN 是常用的虚拟私有网络工具,通过 Docker 搭建非常简单。但常用的 kylemanna/openvpn 镜像已三年未更新,停留在 OpenVPN 2.4 版本。为了升级到最新版本(如 2024 年 2 月发布的 v2.6.9),可以通过官方开源社区获取最新安装包并手动编译安装。步骤包括安装依赖、下载并编译 OpenSSL 和 OpenVPN、生成证书和配置文件等。此外,GitHub 上有一键安装脚本 openvpn-install.sh,简化了安装过程,但其版本可能不是最新的。安装完成后,还需配置 iptables 以确保客户端能正常使用代理网络。
15258 1
|
9月前
|
敏捷开发 监控 数据可视化
对比Jira/禅道后,我们为什么选择Leangoo做敏捷项目管理?
Leangoo团队为开发者提供敏捷开发支持:免费获取《敏捷开发指南》;支持企业私有化部署,提供专属API文档及金融、电商行业落地案例,助力研发流程自动化升级。
|
11月前
|
存储 资源调度 JavaScript
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具。npm 是官方默认的包管理器,提供依赖管理、安装和更新等功能;cnpm 是由阿里巴巴开发的 npm 镜像,专为中国大陆用户优化,解决下载速度慢的问题;pnpm 通过硬链接技术提高安装速度并节省磁盘空间,特别适合磁盘资源紧张的环境。三者命令类似,但各有特色,开发者可根据需求选择合适的工具。
1154 5
|
机器学习/深度学习 PyTorch 算法框架/工具
神经网络中的分位数回归和分位数损失
在使用机器学习构建预测模型时,我们不只是想知道“预测值(点预测)”,而是想知道“预测值落在某个范围内的可能性有多大(区间预测)”。例如当需要进行需求预测时,如果只储备最可能的需求预测量,那么缺货的概率非常的大。但是如果库存处于预测的第95个百分位数(需求有95%的可能性小于或等于该值),那么缺货数量会减少到大约20分之1。
925 2
|
机器学习/深度学习 编解码 算法
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
529 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
|
监控 前端开发 JavaScript
Webpack 中 HMR 插件的工作原理
【10月更文挑战第23天】可以进一步深入探讨 HMR 工作原理的具体细节、不同场景下的应用案例,以及与其他相关技术的结合应用等方面的内容。通过全面、系统地了解 HMR 插件的工作原理,能够更好地利用这一功能,为项目的成功开发提供有力保障。同时,要不断关注技术的发展动态,以便及时掌握最新的 HMR 技术和最佳实践。
|
数据采集 DataWorks 搜索推荐
DataWorks产品最佳实践测评:用户画像分析实践
DataWorks产品最佳实践测评:用户画像分析实践
371 3
|
SQL 关系型数据库 MySQL
MySQL模糊查询二三事
在实际应用中,根据需求和实际数据情况,选择合适的模糊查询方法并优化查询模式,是确保查询效率和准确性的关键。复杂的查询模式往往需要详细的测试和调优,以达到最佳的性能与响应时效。
728 4

热门文章

最新文章