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 端口为刚才记下的端口号
 
 
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';

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;
查看用户