• WAP手机版 保存到桌面加入收藏设为首页
路由器

给openwrt添加简单的用户认证模式

时间:2016-07-18 09:10:28   作者:哎丫丫转载   阅读:4194   评论:0
内容摘要:下午研究了一下,总算曲线成功。简单分享一下给需要的人。老毛子的padavan固件的OPENVPN开启服务器时,客户端只需ovpn配置文件就可以连接VPN。这个配置文件你给别人后,你就收不回了,除非修改端口之类的参数。这不方便。还是喜欢类似PPTP的帐号密码认证。OPENVPN也有这种认幔只是需要修改/etc/open...


 

老毛子的padavan占的OPENVPN开启服务器时,客户端只需ovpn配置文件就可以连接VPN。这个配置文件你给别人后,你就收不回了,除非修改端口之类的参数。这不方便。还是喜欢类似PPTP的帐号密码认证。OPENVPN也有这种认证,只是需要修改/etc/openvpn/server目录下的server.conf文件,但是这个文件修改只对当前有效,重启路由后失效。然而/etc/storage目录下的文件是可以通过这个命令mtd_storage.sh save保存的。所以我的思路是正常配置好OPENVPN的路由器全部动作启动完成后,杀死openvpn进程,然后从storage目录复制server.conf等文件至/etc/openvpn/server目录,然后再行openvpn。
共涉及三个文件
psw-file 储存账号和密码的文件,可以用winscp直接建立,内容为帐号空格密码,文件属性为0444
checkpsw.sh 核对连接者帐号密码的命令,可以用winscp直接建立,文件属性为0777,具体也可以百度。
  1. #!/bin/sh
  2. ###########################################################
  3. # checkpsw.sh (C) 2004 Mathias Sundman
  4. #
  5. # This script will authenticate OpenVPN users against
  6. # a plain text file. The passfile should simply contain
  7. # one row per user with the username first followed by
  8. # one or more space(s) or tab(s) and then the password.

  9. PASSFILE="/etc/openvpn/server/psw-file"
  10. LOG_FILE="/tmp/syslog.log"
  11. TIME_STAMP=`date "+%Y-%m-%d %T"`

  12. ###########################################################

  13. if [ ! -r "${PASSFILE}" ]; then
  14.   echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >> ${LOG_FILE}
  15.   exit 1
  16. fi

  17. CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}' ${PASSFILE}`

  18. if [ "${CORRECT_PASSWORD}" = "" ]; then
  19.   echo "${TIME_STAMP}: User does not exist: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
  20.   exit 1
  21. fi

  22. if [ "${password}" = "${CORRECT_PASSWORD}" ]; then
  23.   echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE}
  24.   exit 0
  25. fi

  26. echo "${TIME_STAMP}: Incorrect password: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
  27. exit 1
复制f码

server.conf f以借用原来/etc/openvpn/server下文件,文件属性不变,修改增加如下
script-security 3     (从2改为3)
auth-user-pass-verify /etc/openvpn/server/checkpsw.sh via-env  (此行新增)
把这三个文件保存至/etc/storage目录下,用mtd_storage.sh save命令保存。
然后在脚本里的启动后运行最后面添加如下复制运行的命令。
killall openvpn
sleep 2
cp -f -p /etc/storage/psw-file /etc/openvpn/server
cp -f -p /etc/storage/checkpsw.sh /etc/openvpn/server
cp -f -p /etc/storage/server.conf /etc/openvpn/server
sleep 2
/usr/sbin/openvpn --daemon openvpn-srv --cd /etc/openvpn/server --config server.conf

客户端的ovpn配置文件需要增加一行
auth-user-pass

我是测试通过后才上来分享的。



   版权声明,所有转载都有注明出处,本站不负责承担任何法律责往。若有侵权,请联系我。我会及时删除。

电脑维护,系统安装,软 、硬件维修,电脑配件,零售业务,网站建设,路由器安装设置 服务器维护,电脑、网络维护,智能手机刷机,安装WIFI 调试!郴州网站建设 小程序搭建 郴州电脑维修

        咨询电话:18175576644  点击这里给我发消 息
   扫描二维码。关注公众号,小程序
       享受星级服务   

手机点击二维码关注
      


手机点击打开小程序
      


相关评论
免责申明:本站部分资料来源互联网,如果侵犯了您的版权,请作者速来电或QQ与本站联系,我们将第一时间给予以改正或删除。

Copyright © 2020 哎丫丫电脑 All Rights Reserved 
 工信部备案:湘ICP备14010293号-1