背??景对于内部系统访问,我们也是采用常见的openVPN网络隧道方案来实现业务远程访问。最近,北京的疫情有点严重。为响应政府在家远程办公的号召,随着内部系统的增加,openVPN的用户数量也随之增加。最近收到公司有人反馈,刚开始用openVPN没问题,现在连接状态正常。为什么我打不开系统?根据反馈,openVPN客户端连接软件也重启了,电脑也重启了。打不开,听起来很奇怪,于是远程查看了openVPN客户端的连接日志如下:看到这些的时候,比较纳闷。我用的不错,于是重新连接,发现连接正常,可以开机了。这时候我以为已经解决了,结果又收到了同样的反馈这个问题,于是就不淡定了,去服务器查看日志:TueMay1016:11:412022us=8473254C:5E:0C:2C:F3:5A/11.1.1.105:57637MULTI:没有免费的--ifconfig-pool地址可用TueMay1016:11:412022us=8473804C:5E:0C:2C:F3:5A/11.1.1.105:57637MULTI:4C:5E:0C:2C:F3:5A/11.1.1.105:57637TueMay1016:11:412022us=8474514C:5E没有可用的动态或静态远程--ifconfig地址:0C:2C:F3:5A/11.1.1.105:57637连接重置,重新启动[0]2022年5月10日星期二16:11:41us=8475034C:5E:0C:2C:F3:5A/11.1.1.105:57637收到SIGUSR1[软,连接重置],客户端实例重新启动2022年5月10日星期二16:11:41.1.105,通用名:4C:5E:0C:2C:F3:5A.2022年5月10日星期二16:11:41RADIUS-PLUGIN:背景帐户:未找到4C:5E:0C:2C:F3:5A的会计数据,11.1.1.105:57637.5月10日星期二16:11:412022RADIUS-PLUGIN:BACKGROUND-ACCT:从文件中获取计费数据,CN:4C:5E:0C:2C:F3:5Ain:0out:0.TueMay1016:11:412022RADIUS-PLUGIN:BACKGROUND-ACCT:Stoppacketwassent.中国:4C:5E:0C:2C:F3:5A。出现了很多类似的信息。我查了一下说没有可用的IP地址,但是我记得这个问题是前几天出现的,通过增加max-clients的数量解决了。为什么它仍然不起作用?#openvpnserver.confmax-clients300前几天出问题时,客户端截图:我查了一下,发现这个max-clients只是增加了客户端的并发连接数,并不能解决问题查询后发现openVPN的每个client按照分配会占用4个IP位(openvpn-status.log),单个网段只能连接62个用户。?经过一番查询,在官网FAQ区找到了一个解释:解决办法,也就是说可以通过增加网段来解决IP地址池不足的问题,然后就可以根据到客户的数量,计算出合适的掩码位:这个应该可以了,但是在修改服务器掩码的时候,尤其要注意iptables的变化!具体解决方法:计算出合适的掩码/23,在openVPN服务器配置文件server10.8.0.0修改服务器命令255.255.254.0备份当前环境的iptables规则iptables-save>/data/backup/iptables-save.2022.05。10修改掩码后添加POSTROUTINGiptables-v-LPOSTROUTING-tnat--line-numbers#获取记录IDiptables-tnat-DPOSTROUTING3#删除掩码记录前删除记录iptables-v-LPOSTROUTING-tnat--line-numbers#获取记录IDiptables-tnat-DPOSTROUTING3#删除记录并重启openVPN服务器/etc/openvpn/restart.sh最后记得修改那些自修复脚本的内容,比如作为systemd脚本或者用配置服务启动脚本打开自启动文件,注意修改!
