pptpd vpn手动分配IP部分用户无法上网

  • A+
所属分类:Linux

问题

公司vpn用户全部手动分配了指定的IP地址,近期总有人抱怨vpn有时候连不上服务器或者说不能上网, 各种路由表,各种电脑重启都没有效果,但是隔一段时间又好了。正巧又一位兄弟出现这个故障,告知不小心禁用了本地连接,重新启用本地连接,重新拨vpn就上不了网了,我重启pptpd问题便解决了。尤其看出了事情的原因。

问题排查
初步判定用户网络出现故障之后,vpn服务器的连接未断开,网络状态保持ESTABLISHED. 用户登录vpn之后,又分配了相同的IP地址,导致用户上不了网。以前重启pptpd都没注意到它有个警告,警告如下:
Warning: a pptpd restart does not terminate existing
connections, so new connections may be assigned the same IP
address and cause unexpected results.  Use restart-kill to
destroy existing connections during a restart

意思就是没有杀掉正在连接的用户,新进来的用户可能会分配到相同的IP地址,使用restart-kill可以将正在连接的用户杀死。该死的,一直没留意这个问题。先看下我的chap配置,最后看看解决方法

手动分配VPN IP地址
如下是我手动分配IP地址的配置

ttlsacom1,ttlsacom2,ttlsacom3中任何一个用户网络出现点故障便会出现这种问题,特别是使用无线网络的用户(公司的wifi不稳定)

解决VPN单用户指定IP问题
创建auth-up文件

auth-up脚本内容如下

流程如下:
1、用户登录判断是否有/var/run/pptpd-users/用户名的文件
2、如果有平滑重启这个vpn用户进程,如果没有创建这个文件,文本里面有用户进程ID
3、老的连接被踢掉,新的连接可以使用

备注:这种模式下,一个账号只允许一个用户使用。

重启pptpd

最后

pptp默认情况使用chap来认证,一个账号可以多个用户登录,这样不便于流量控制、网速限制等等,也可以使用auth-up这个脚本来限制一个账号只允许一个用户来登录.

转载请注明出处:http://www.ttlsa.com/html/3234.html

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:3   其中:访客  2   博主  0   引用   1

    • […] pptpd vpn手动分配IP部分用户无法上网 […]

      • 小周 1

        我现在也是出现这个问题了,我的是用户连接pptpd的时候,特别慢,重启完服务还是慢

      • 来自外部的引用: 1

        • Make Ubuntu as port redirect server for your routers – Norckon's blog