内容摘要:下午研究了一下,总算曲线成功。简单分享一下给需要的人。老毛子的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,具体也可以百度。
- #!/bin/sh
- ###########################################################
- # checkpsw.sh (C) 2004 Mathias Sundman
- #
- # This script will authenticate OpenVPN users against
- # a plain text file. The passfile should simply contain
- # one row per user with the username first followed by
- # one or more space(s) or tab(s) and then the password.
- PASSFILE="/etc/openvpn/server/psw-file"
- LOG_FILE="/tmp/syslog.log"
- TIME_STAMP=`date "+%Y-%m-%d %T"`
- ###########################################################
- if [ ! -r "${PASSFILE}" ]; then
- echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >> ${LOG_FILE}
- exit 1
- fi
- CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}' ${PASSFILE}`
- if [ "${CORRECT_PASSWORD}" = "" ]; then
- echo "${TIME_STAMP}: User does not exist: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
- exit 1
- fi
- if [ "${password}" = "${CORRECT_PASSWORD}" ]; then
- echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE}
- exit 0
- fi
- echo "${TIME_STAMP}: Incorrect password: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
- 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
扫描二维码。关注公众号,小程序
享受星级服务
|
手机点击二维码关注
|
手机点击打开小程序
|