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管理的吧)或者开启自启文件中有配置服务启动脚本的,注意修改!
相关文章
成功解决:443端口被vmware-host(8992)占用。请关掉占用443端口的程序或者尝试使用系统代理模式
该博客文章提供了解决443端口被vmware-host占用问题的方法,包括关闭占用端口的程序或尝试使用系统代理模式。
成功解决:443端口被vmware-host(8992)占用。请关掉占用443端口的程序或者尝试使用系统代理模式
|
9月前
|
Apache 数据安全/隐私保护 Windows
如何在Windows部署TortoiseSVN客户端并实现公网连接内网VisualSVN服务端
如何在Windows部署TortoiseSVN客户端并实现公网连接内网VisualSVN服务端
125 0
|
9月前
|
Shell
openvpn_connect.sh 连接,内网拨号上网,断网续联
shell 脚本 配置 openvpn 连接,断网续联
201 0
OpenVPN每个客户端为什么占用4个IP?
对于内部系统的访问,我们也是采用了常见openVPN网络隧道方案实现业务远程访问。最近北京疫情有点严重,响应政府号召居家远程上班,openVPN的使用者也随着内部系统增多变得越来越多。
539 0
OpenVPN每个客户端为什么占用4个IP?
|
Linux 运维 安全
linux内网机器访问外网代理设置squid
公司一般出于安全考虑, 在同一局域网中只有一台机器可以访问外网,运维进行了整体的限制, 但是在后面的工作中,需要在机器上安装一些软件,及命令,所以其他的机器需要访问外网来简化工作, 但又不能打乱原有运维的设置,所以需要在能访问外网的机器上做个代理。
2451 0
NAT网络部分客户端无法连接Server的解决方法
timestamp&recycle同时开启,引发的nat客户端访问异常的问题
4198 0
NAT网络部分客户端无法连接Server的解决方法
loadunner使用socket协议来实现多客户端连接同一服务器脚本(使用到IP欺骗技术)
第一部分: #include "lrs.h" vuser_init(){ lrs_startup(257); return 0;}   第二部分: Action(){ char *ReturnValue_Remote; char *ReturnPort_Remote; char *ReturnValue_Local; char *ReturnPort_Local; char *AcutalBuffer; int BufferSize; char *ip; //编写获取LR分配的Vuser IP函数,将IP保存在ip变量中。
789 0
|
Linux Windows 应用服务中间件
|
Linux
Linux rsync传输(服务端和客户端)
客户端: yum install -y rsync vi /etc/rsyncd.secrets username:password rsync -av yourfire --password-file=/etc/rsyncd.
1692 0