Ubuntu系统下freeradius+pptpd+mysql的VPN服务系统

/*以下操作为radius服务器上操作*/
#更新源
sudo apt-get update
#先安装Mysql
sudo apt-get install -y mysql-server mysql-client
#安装freeradius及所需组件
sudo apt-get install -y freeradius freeradius-mysql freeradius-utils freeradius-dialupadmin

#从这里开始,要切换到root用户,否则看不到freeradius的配置文件。
sudo su

#修改主配置文件
vim /etc/freeradius/radiusd.conf
#listen字段的配置
listen {
 ...
 ipaddr = *    			#默认为*,可修改为所需的本机ip地址
 type = auth                    	#acct类型下的配置写法也类似
 ...
 #interface = eth0          		#多个网络接口的情况下,可以指定其中一个
 ...
 }

 #module字段的配置
modules {
 ...
 $INCLUDE ${confdir}/modules/        #pap、chap等模块的配置也在该目录下
 ...
 $INCLUDE sql.conf                   #反注释,以开启sql的相关配置
 ...
 } 

 #修改配置文件
 vim /etc/freeradius/sites-enabled/default
找到authorize {}模块,	注释掉files(170行),	去掉sql前的#号(177行)。
找到preacct {}模块,	注释掉files(372行)。
找到accounting {}模块,	注释掉radutmp(396行),	去掉sql前面的#号(406行)。
找到session {}模块,	注释掉radutmp(450行),去掉sql前面的#号(454行)。
找到post-auth {}模块,	去掉sql前的#号(475行),去掉sql前的#号(563行)。

#修改配置文件
vim /etc/freeradius/sites-enabled/inner-tunnel
找到authorize {}模块,注释掉files(124行),去掉sql前的#号(131行)。
找到session {}模块,注释掉radutmp(251行),去掉sql前面的#号(255行)。
找到post-auth {}模块,去掉sql前的#号(277行),去掉sql前的#号(301行)。

#修改客户端配置文件
client 10.0.0.0/16 {        #客户端的ip地址,可以是ip段,如192.168.1.0/24
 secret        = testing123
 shortname    = private-network-client
 }

 #修改访问数据库的配置文件
 vim /etc/freeradius/sql.conf
 sql {
		database = "mysql"
        driver = "rlm_sql_${database}"
        server = "localhost"
        login = "radius"
        password = "xxxxxxx"
        radius_db = "radius"
 }

 #创建radius数据库和用户
 mysql> create database radius;
 mysql> grant all on radius.* to [email protected]'%' identified by 'xxxxxx';
 mysql> flush privileges;

 #导入freeradiu表
 cd /etc/freeradius/sql/mysql/
 for i in `ls`;do mysql -uroot -pxxxxxx radius < $i; done

 /*以上操作为radius服务器上操作*/

 ========================================================================================

 /*以下操作为pptpd服务器上操作*/
 #在PPTPD服务器上安装Freeradius-client,注意使用root编译
 wget -c ftp://ftp.freeradius.org/pub/freeradius/freeradius-client-1.1.7.tar.gz
 tar zxvf freeradius-client-1.1.7.tar.gz
 cd freeradius-client-1.1.7
 ./configure
 make && make install

 #修改客户端的配置文件
 vim /usr/local/etc/radiusclient/servers
 x.x.x.x      testing123<span style="white-space:pre">	</span>//radius服务器地址及密钥
 vim /usr/local/etc/radiusclient/radiusclient.conf
 authserver  x.x.x.x   //radius服务器地址

 #增加字典(重要)
 wget -c http://small-script.googlecode.com/files/dictionary.microsoft
 mv dictionary.microsoft /usr/local/etc/radiusclient/
 # cat >>/usr/local/etc/radiusclient/dictionary << EOF
 # INCLUDE /usr/local/etc/radiusclient/dictionary.sip
 # INCLUDE /usr/local/etc/radiusclient/dictionary.ascend
 # INCLUDE /usr/local/etc/radiusclient/dictionary.merit
 # INCLUDE /usr/local/etc/radiusclient/dictionary.compat
 # INCLUDE /usr/local/etc/radiusclient/dictionary.microsoft
 # EOF

 #修改配置文件(重要)
 vim /usr/local/etc/radiusclient/dictionary
 #注释与IPv6有关的行
 92:#ATTRIBUTE       Framed-IPv6-Prefix      97      ipv6prefix
 100:#ATTRIBUTE      Framed-IPv6-Address     168     ipv6addr
 101:#ATTRIBUTE      DNS-Server-IPv6-Address 169     ipv6addr
 102:#ATTRIBUTE      Route-IPv6-Information  170     ipv6prefix

 #与PPTP整合
 sed -i 's/logwtmp/\#logwtmp/g' /etc/pptpd.conf
 sed -i 's/radius_deadtime/\#radius_deadtime/g' /usr/local/etc/radiusclient/radiusclient.conf
 sed -i 's/bindaddr/\#bindaddr/g' /usr/local/etc/radiusclient/radiusclient.conf
 #注意:32操作系统的radius.so路径为/usr/lib/pppd/2.4.5/radius.so,这里是64位的路径
 echo plugin /usr/lib64/pppd/2.4.5/radius.so >> /etc/ppp/options.pptpd
 echo radius-config-file /usr/local/etc/radiusclient/radiusclient.conf >> /etc/ppp/options.pptpd
 /*以上操作为pptpd服务器上操作*/

 ========================================================================================================================

 /*以下操作为radius服务器上操作*/
 #Mysql添加认证账号
 #添加demo用户并加入到user用户组
 mysql>INSERT INTO radcheck (username,attribute,op,VALUE) VALUES ('demo','Password',':=','demo');
 mysql> INSERT INTO radusergroup (username,groupname) VALUES ('demo','user');

 #debug模式启动freeradius
 freeradiusd -X
 #正式启动
 /etc/init.d/freeradius start

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 03:13:40

Ubuntu系统下freeradius+pptpd+mysql的VPN服务系统的相关文章

Linux系统下不让MySQL区分表名的大小写的解决办法

问题描述: 今天将某项目数据库移植到liunix服务器上,结果出现无法找到表的错误,查询数据库,表确实是存在的.经过分析比较,发现是表名大小写问题导致. 问题分析: MySQL数据库的表名在Linux系统下是严格区分大小写的,在Windows系统下开发的程序移植到Linux系统下,如果程序中SQL语句没有严格按照大小写访问数据库表,就可能会出现找不到表的错误. 解决办法: 修改MySQL的配置文件my.cnf,在[mysqld]部分添加如下配置选项lower_case_table_names =

windows 64位系统下 apache+php+mysql

环境搭建 第一步: 64位系统下的 apache.php .mysql软件下载 apache2.4 http://www.apachelounge.com/download/win64/ php5.5 http://windows.php.net/qa/ PHP 5.5 (5.5.17RC1) 就这个版本 mysql http://www.mysql.com/downloads/mysql/ MySQL Community Server 5.6.20 这个是安装版当然你下载zip包的也可以 第二

第二节windows系统下Xshell 5软件远程访问虚拟机 Linux系统

下载Xshell 5软件在windows下安装 安装好后Xshell 5启动软件 下一步,检查虚拟机,配置是否正确 下一步,设置网络,保障虚拟机系统能够连接网络 下一步,进入虚拟机系统,检查虚拟机网络连接是否正常,如果没有,将链接网络,链接到网络 下一步,网络正常连接后,打开终端命令 下一步,在终端输入“ifconfig”回车查看系统的ip地址 下一步,此时你应该可以看到虚拟机的ip地址,和网关等信息     (如果发现系统没有获得ip地址,可以用“ifconfig eth0 ip地址”命令来设

windows系统下安装 apache+mysql+php

获取软件: apache:http://httpd.apache.org/download.cgi mysql: http://dev.mysql.com/downloads/ php: http://www.php.net/downloads.php ZendOptimizer: http://www.zend.com/en/downloads/ phpMyAdmin: http://www.phpmyadmin.net/home_page/downloads.php 或到百度云分享链接下载:

liunx系统下如何安装MySQL

安装 1.使用yum install MySQL 下载MySQL安装包(下载成功后提醒 complete) 2.启动MySQL : service mysqld start 设置账号: 一般情况下都需要从新设置账号 1. 杀掉所有的MySQL进程 killall mysqld 2. 查看mysql状态 /etc/rc.d/init.d/mysqld status 3.安全模式下面进入mysql mysqld_safe --user=mysql --skip-grant-tables --skip

Mac系统下 brew 安装mysql

brew 安装mysql 可以指定版本安装,不指定版本默认最新版本 brew install mysq[email protected] 修改环境变量 brew安装的东西都是在 /usr/local/Cellar/ 路径下,所有需要进到里面找到mysql然后一层一层进去直到找到bin目录,获取这时路径 我的电脑是: /usr/local/Cellar/[email protected]/5.7.23/bin (可能mysql版本不同,路径不同,自己切换目录找就ok) 1)终端输入命令 sudo

centos 系统下彻底删除mysql

yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql (删除数据库) rm /etc/my.cnf 查看是否还有mysql软件: rpm -qa|grep mysql 有的话继续删除

在centos 6.6 使用pptpd上构建VPN服务

原理:PPTP 使用 PPP 协议对用户数据进行封装,然后将 PPP 数据帧封装在 IP 数据包里,pptpd 更多是负责客户端到服务器的连接,ppp协议负责用户数据包的封装和转发,当客户端连接到服务器时pptpd服务就是创建一个虚拟网卡ppp0进行用户数据包的封装,和转发到物理网卡,进入以太网 1:验证内核是否加载MPPE模块 modprobe ppp-compress-18 && echo MPPE is ok #打印ok表示已加载 2:安装ppp软件 yum install ppp

Linux系统下启动MySQL报错:Neither host &#39;localhost.localdomain&#39; nor &#39;localhost&#39; could be looked up with

Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with 摘要 Linux系统下安装完MySQL,启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with... Linux系统下装完MySQL,然后重启动时报错: 解决方法:  查看cat /etc/h