1、检查服务器是否有必要的支持。如果检查结果没有这些支持的话,是不能安装
pptp的。执行指令:
#modprobe ppp-compress-18 && echo ok
这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:
#cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state
上述两条均通过,才能安装pptp。否则就只能考虑open***,或者请你的服务商来解决这个问题。
2、安装ppp和iptables。默认情况下,完整的CentOS是带有这两个组件的,但是精简版的系统可能没有。我们输入下面的命令来确认,如果没有则进行安装,有的话系统不会做任何动作:
#yum install -y ppp iptables
3、安装pptp。这个软件在yum源里是没有的,我们需要手动下载。我们先切换到tmp目录:
#cd /tmp
然后执行下面的命令来下载pptp安装包:
#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)
如果你的CentOS是32位的,则执行32位的那条指令;如果是64位的CentOS,则执行64位的那条指令。注意不要搞错了。
接下来安装pptp,同样分32位和64位系统:
#rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
#rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)
4、配置pptp。首先我们要编辑/etc/pptpd.conf文件:
#vim /etc/pptpd.conf
找到“locapip”和“remoteip”这两个配置项,将前面的“;”注释符去掉,更改为你期望的IP段值。localip表示服务器的IP,remoteip表示分配给客户端的IP地址,可以设置为区间。这里我们使用pptp默认的配置:
localip 192.168.0.1(根据自己的当前的ip)
remoteip 192.168.0.234-238,192.168.0.245(根据要用远程***访问的主机网络ip)
注意,这里的IP段设置,将直接影响后面的iptables规则添加命令。请注意匹配的正确性,如果你嫌麻烦,建议就用本文的配置,就可以一直复制命令和文本使用了。
接下来我们再编辑/etc/ppp/options.pptpd文件,为×××添加Google DNS:
#vim /etc/ppp/options.pptpd
在末尾添加下面两行:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
5、设置pptp ×××账号密码。我们需要编辑/etc/ppp/chap-secrets这个文件:
#vim /etc/ppp/chap-secrets
在这个文件里面,按照“用户名 pptpd 密码 *”的形式编写,一行一个账号和密码。比如添加用户名为test,密码为1234的用户,则编辑如下内容:
test pptpd 1234 *
6、修改内核设置,使其支持转发。编辑/etc/sysctl.conf文件:
#vim /etc/sysctl.conf
将“net.ipv4.ip_forward”改为1,变成下面的形式:
net.ipv4.ip_forward=1
保存退出,并执行下面的命令来生效它:
#sysctl -p
7、添加iptables转发规则。经过前面的6个步骤,我们的×××已经可以拨号了,但是还不能访问任何网页。最后一步就是添加iptables转发规则了,输入下面的指令:
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
需要注意的是,这个指令中的“192.168.0.0/24”是根据之前的配置文件中的“localip”网段来改变的,比如你设置的 “10.0.0.1”网段,则应该改为“10.0.0.0/24”。此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的!
然后我们输入下面的指令让iptables保存我们刚才的转发规则,以便重启系统后不需要再次添加:
#/etc/init.d/iptables save
然后我们重启iptables:
#/etc/init.d/iptables restart
8、重启pptp服务。输入下面的指令重启pptp:
#/etc/init.d/pptpd restart
现在你已经可以连接自己的×××并浏览网页了。不过我们还需要做最后的一步。
9、设置开机自动运行服务。我们最后一步是将pptp和iptables设置为开机自动运行,这样就不需要每次重启服务器后手动启动服务了。当然你不需要自动启动服务的话可以忽略这一步。输入指令:
#chkconfig pptpd on
#chkconfig iptables on
10.用netstat -untap | grep pptpd查看端口 记下
11. 在菜单栏系统栏打开管理的安全级别和防火墙
添加其他端口 tcp 端口为刚才记下的端口号
#modprobe ppp-compress-18 && echo ok
这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:
#cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state
上述两条均通过,才能安装pptp。否则就只能考虑open***,或者请你的服务商来解决这个问题。
2、安装ppp和iptables。默认情况下,完整的CentOS是带有这两个组件的,但是精简版的系统可能没有。我们输入下面的命令来确认,如果没有则进行安装,有的话系统不会做任何动作:
#yum install -y ppp iptables
3、安装pptp。这个软件在yum源里是没有的,我们需要手动下载。我们先切换到tmp目录:
#cd /tmp
然后执行下面的命令来下载pptp安装包:
#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)
如果你的CentOS是32位的,则执行32位的那条指令;如果是64位的CentOS,则执行64位的那条指令。注意不要搞错了。
接下来安装pptp,同样分32位和64位系统:
#rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
#rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)
4、配置pptp。首先我们要编辑/etc/pptpd.conf文件:
#vim /etc/pptpd.conf
找到“locapip”和“remoteip”这两个配置项,将前面的“;”注释符去掉,更改为你期望的IP段值。localip表示服务器的IP,remoteip表示分配给客户端的IP地址,可以设置为区间。这里我们使用pptp默认的配置:
localip 192.168.0.1(根据自己的当前的ip)
remoteip 192.168.0.234-238,192.168.0.245(根据要用远程***访问的主机网络ip)
注意,这里的IP段设置,将直接影响后面的iptables规则添加命令。请注意匹配的正确性,如果你嫌麻烦,建议就用本文的配置,就可以一直复制命令和文本使用了。
接下来我们再编辑/etc/ppp/options.pptpd文件,为×××添加Google DNS:
#vim /etc/ppp/options.pptpd
在末尾添加下面两行:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
5、设置pptp ×××账号密码。我们需要编辑/etc/ppp/chap-secrets这个文件:
#vim /etc/ppp/chap-secrets
在这个文件里面,按照“用户名 pptpd 密码 *”的形式编写,一行一个账号和密码。比如添加用户名为test,密码为1234的用户,则编辑如下内容:
test pptpd 1234 *
6、修改内核设置,使其支持转发。编辑/etc/sysctl.conf文件:
#vim /etc/sysctl.conf
将“net.ipv4.ip_forward”改为1,变成下面的形式:
net.ipv4.ip_forward=1
保存退出,并执行下面的命令来生效它:
#sysctl -p
7、添加iptables转发规则。经过前面的6个步骤,我们的×××已经可以拨号了,但是还不能访问任何网页。最后一步就是添加iptables转发规则了,输入下面的指令:
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
需要注意的是,这个指令中的“192.168.0.0/24”是根据之前的配置文件中的“localip”网段来改变的,比如你设置的 “10.0.0.1”网段,则应该改为“10.0.0.0/24”。此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的!
然后我们输入下面的指令让iptables保存我们刚才的转发规则,以便重启系统后不需要再次添加:
#/etc/init.d/iptables save
然后我们重启iptables:
#/etc/init.d/iptables restart
8、重启pptp服务。输入下面的指令重启pptp:
#/etc/init.d/pptpd restart
现在你已经可以连接自己的×××并浏览网页了。不过我们还需要做最后的一步。
9、设置开机自动运行服务。我们最后一步是将pptp和iptables设置为开机自动运行,这样就不需要每次重启服务器后手动启动服务了。当然你不需要自动启动服务的话可以忽略这一步。输入指令:
#chkconfig pptpd on
#chkconfig iptables on
10.用netstat -untap | grep pptpd查看端口 记下
11. 在菜单栏系统栏打开管理的安全级别和防火墙
添加其他端口 tcp 端口为刚才记下的端口号
PS:也可来此http://down.51cto.com/data/491015下载一键安装包
安装apache.mysql.php
1.yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
2.启动mysql
/etc/init.d/mysqld start
3.设置mysql数据库root帐号密码
mysqladmin -u root password newpassword
"newpassword" 代表的是你想要设置的密码,新安装的mysql的root根用户密码默认为空,设置密码后可以让mysql数据库更安全
四、 配置防火墙
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启iptables: service iptables restart
六、安装php的扩展
代码:
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
七、安装apache扩展
代码:
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
3. 启动服务配置
[root@linuxfei ~]# /sbin/chkconfig httpd on [设置apache为自启动]
[root@linuxfei ~]# /sbin/chkconfig --add mysqld [mysql服务]
[root@linuxfei ~]# /sbin/chkconfig mysqld on [mysqld服务]
[root@linuxfei ~]# /sbin/service httpd start [自启动 httpd 服务]
[root@linuxfei ~]# /sbin/service mysqld start [自启动mysqld服务]
配置FreeRADIUS
1. 登入终端后,首先安装FreeRAIUS,一般源里两个版本,其中FreeRADIUS 1.x已经不被支持了,我们安装的是freeradius2。
yum install freeradius2 freeradius2-mysql freeradius2-utils
2. 安装完后,我们编辑/etc/raddb/users,在文件开头加上:testing Cleartext-Password := "password"。
Tips:你需要了解如何使用SSH终端,和终端里文本编辑的方法,例如Vim的使用。
3. 启动radiusd,第一次启动会生成密钥,稍等片刻即可。使用-X参数可以让调试信息直接输出屏幕:
radiusd -X
4. 新打开一个SSH终端,测试服务器是否连通:
radtest testing password 127.0.0.1 0 testing123
如果看到Access-Accept就说明连接成功了。如果看到类似“Ignoring request to authentication address * port 1812 from unknownclient”的文字,可能需要去修改/etc/raddb/clients.conf,将client localhost段下的ipaddr改为服务器的IP,而不是127.0.0.1。
测试连接成功后,我们可以把users里临时加上去的第一行删除。
5. 下载ppp源码,因为要用到其中的配置文件:
wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.5.tar.gz
tar zxvf ppp-2.4.5.tar.gz
cp -R /root/ppp-2.4.5/pppd/plugins/radius/etc/ /usr/local/etc/radiusclient
6. 编辑/usr/local/etc/radiusclient/servers,加上一组服务器和密钥,本例中为“My×××”:
1
localhost My×××
7. 编辑/usr/local/etc/radiusclient/dictionary,将最后一行改为:
INCLUDE /usr/local/etc/radiusclient/dictionary.microsoft
可以再添加一行:
INCLUDE /usr/local/etc/radiusclient/dictionary.merit
8. 编辑/etc/raddb/clients.conf,把client localhost段下的secret改成刚才指定的密钥。
9. 编辑/etc/raddb/radiusd.conf,找到$INCLUDE sql.conf,去掉前面的#;找到$INCLUDE sql/mysql/counter.conf,去掉前面的#。
10. 添加MySQL用户及数据库,你可以使用现成的phpMyAdmin等工具,也可以在终端下操作。本例中,创建了radius的用户和同名的数据库:
CREATE USER 'radius'@'localhost' IDENTIFIED BY 'mima';
CREATE DATABASE IF NOT EXISTS radius ;
GRANT ALL PRIVILEGES ON radius . * TO 'radius'@'localhost';
安装apache.mysql.php
1.yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
2.启动mysql
/etc/init.d/mysqld start
3.设置mysql数据库root帐号密码
mysqladmin -u root password newpassword
"newpassword" 代表的是你想要设置的密码,新安装的mysql的root根用户密码默认为空,设置密码后可以让mysql数据库更安全
四、 配置防火墙
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启iptables: service iptables restart
六、安装php的扩展
代码:
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
七、安装apache扩展
代码:
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
3. 启动服务配置
[root@linuxfei ~]# /sbin/chkconfig httpd on [设置apache为自启动]
[root@linuxfei ~]# /sbin/chkconfig --add mysqld [mysql服务]
[root@linuxfei ~]# /sbin/chkconfig mysqld on [mysqld服务]
[root@linuxfei ~]# /sbin/service httpd start [自启动 httpd 服务]
[root@linuxfei ~]# /sbin/service mysqld start [自启动mysqld服务]
配置FreeRADIUS
1. 登入终端后,首先安装FreeRAIUS,一般源里两个版本,其中FreeRADIUS 1.x已经不被支持了,我们安装的是freeradius2。
yum install freeradius2 freeradius2-mysql freeradius2-utils
2. 安装完后,我们编辑/etc/raddb/users,在文件开头加上:testing Cleartext-Password := "password"。
Tips:你需要了解如何使用SSH终端,和终端里文本编辑的方法,例如Vim的使用。
3. 启动radiusd,第一次启动会生成密钥,稍等片刻即可。使用-X参数可以让调试信息直接输出屏幕:
radiusd -X
4. 新打开一个SSH终端,测试服务器是否连通:
radtest testing password 127.0.0.1 0 testing123
如果看到Access-Accept就说明连接成功了。如果看到类似“Ignoring request to authentication address * port 1812 from unknownclient”的文字,可能需要去修改/etc/raddb/clients.conf,将client localhost段下的ipaddr改为服务器的IP,而不是127.0.0.1。
测试连接成功后,我们可以把users里临时加上去的第一行删除。
5. 下载ppp源码,因为要用到其中的配置文件:
wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.5.tar.gz
tar zxvf ppp-2.4.5.tar.gz
cp -R /root/ppp-2.4.5/pppd/plugins/radius/etc/ /usr/local/etc/radiusclient
6. 编辑/usr/local/etc/radiusclient/servers,加上一组服务器和密钥,本例中为“My×××”:
1
localhost My×××
7. 编辑/usr/local/etc/radiusclient/dictionary,将最后一行改为:
INCLUDE /usr/local/etc/radiusclient/dictionary.microsoft
可以再添加一行:
INCLUDE /usr/local/etc/radiusclient/dictionary.merit
8. 编辑/etc/raddb/clients.conf,把client localhost段下的secret改成刚才指定的密钥。
9. 编辑/etc/raddb/radiusd.conf,找到$INCLUDE sql.conf,去掉前面的#;找到$INCLUDE sql/mysql/counter.conf,去掉前面的#。
10. 添加MySQL用户及数据库,你可以使用现成的phpMyAdmin等工具,也可以在终端下操作。本例中,创建了radius的用户和同名的数据库:
CREATE USER 'radius'@'localhost' IDENTIFIED BY 'mima';
CREATE DATABASE IF NOT EXISTS radius ;
GRANT ALL PRIVILEGES ON radius . * TO 'radius'@'localhost';
11. 编辑/etc/raddb/sql.conf,配置login(用户名)(root),password(密码),radius_db(数据库名)等字段,并找到readclients一行,设为yes并去掉注释符号#。
12. 编辑/etc/raddb/sites-enabled/default,根据下面的说明注释或取消注释相应的行:
* authorize段,关掉files,打开sql,也可以把unix关掉
* preacct段,关掉files
* accounting段,打开sql,也可以把unix关掉
* session段,打开sql
* post-auth段,打开sql
* pre-proxy段,关掉files
到这一步,我们的FreeRADIUS就算配置好了,用户信息都将保存在MySQL数据库中。至于数据库中的表,我们在后面统一导入。
*在这启动一下radiusd -X 看看能否启动若不行则编辑/etc/raddb/sql.conf找到readclients一行,设为yes并加上注释符号# 再试试
daloRadius的安装配置
* 下载后解开到Web主目录的aaa目录下,进入library目录,修改daloradius.conf.php文件,填写正确的数据库名称(radius)、用户名(root)和密码。
* 进入aaa/contrib/db,在前面创建的radius数据库添加表。
mysql -uroot -p radius < /var/www/html/aaa/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
* 访问aaa/index.php,出现登录页面,如果登录后出错或者什么也不显示,则可能是PEAR没装。参见下面的链接完成安装,其中一定要安装DB包:yum install php-pear-DB 或者 pear install DB
*限制一个账户同时只能登陆一个,不做下面限制,可以同时登陆多个
INSERT INTO radgroupcheck (GroupName, Attribute, op, Value) values("user", "Simultaneous-Use", ":=", "1"); 限制登陆次数
重启重启Apache和MySQL
service httpd restart
service mysqld restart
配置pppd
20. 编辑/etc/ppp/options.pptpd,里面已经有许多配置选项了,我们要保证有下面的几行,如果没有就添加上去,为了保障用户登录的安全我们限制只使用MS-CHAPv2:
refuse-pap
refuse-chap
refuse-mschap
require-mppe-128
require-mschap-v2
在配置文件最后加上3行
plugin radius.so
plugin radattr.so
radius-config-file /usr/local/etc/radiusclient/radiusclient.conf
启动服务
21. 一切完成后我们不需要使用debug模式启动radiusd了:
service radiusd start
22. 当然,我们可以把radiusd和pptpd设为开机启动服务:
chkconfig radiusd on
chkconfig pptpd on
23.可以用
mysql -u root -prootpass
mysql>use radius;
mysql>select * from radcheck;
查看用户
转载于:https://blog.51cto.com/caogang440/821744