分类: Work__预览模式: 普通 | 列表

[转]CentOS  搭建pptp vpn

CentOS5.6下安装VPN (PPTPD)

安装环境:CentOS 5.5 32bit。
1、检查服务器是否有必要的支持。如果检查结果没有这些支持的话,是不能安装pptp的。命令:
#modprobe ppp-compress-18 && echo ok
这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:
#cat /dev/net/tun
如果显示如下信息,说明通过,如果不支持,可以给vps商发ticket开通tun
#cat: /dev/net/tun: File descriptor in bad state
上面的两个只要下面一条通过,就能安装VPN(pptp)


2、安装ppp和iptables。
#yum install -y ppp iptables
3、安装pptp。
#rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)


4、配置pptp。编辑/etc/pptpd.conf文件:
#vim /etc/pptpd.conf
去掉前面的#去掉:
localip 192.168.5.1
remoteip 192.168.5.234-238,192.168.5.245

解释下: localip是pptp使用的ip, 可以随意; remoteip链接到vpn的用户分配到ip的访问, 和localip同一个网段即可.

再编辑/etc/ppp/options.pptpd这个文件:
#vim /etc/ppp/options.pptpd
去掉ms-dns前面的#,修改成下面的数据:
ms-dns 8.8.8.8
ms-dns 8.8.4.4

解释: 设置链接到vpn的用户如果访问网络时使用的dns, 和他们自己电脑与服务器设置的dns没任何关系.


5、设置你需要的VPN账号和密码。这里编辑/etc/ppp/chap-secrets:
#vim /etc/ppp/chap-secrets
直接输入如下字段,vpsma可以换成其他字段,格式“用户名 pptpd 密码 *”的形式编写,如果需要多个账号就写多行,一行一个:
test pptpd 1234 *

解释: 这是链接vpn的用户密码, 每行一个, 代表一个用户.
格式说明: 第一列为用户, 依次是 服务器名称, 密码和ip, 中间使用一个空格或者tab隔开.
用户和密码可随意, 服务器名(pptpd)不要改, 后面的*代表ip由pptpd自动分配


6、编辑/etc/sysctl.conf文件:
#vim /etc/sysctl.conf
将“net.ipv4.ip_forward”改为1:这个不是必须的
net.ipv4.ip_forward=1
同时在“net.ipv4.tcp_syncookies = 1”前面加# 变成:
# net.ipv4.tcp_syncookies = 1

解释: 开启ip转发.
保存退出,执行以下命令生效:
#sysctl -p            能让设置立即生效


7、添加iptables转发规则。或者 #vim /etc/sysconfig/iptables添加规则
#iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -j SNAT --to-source 1.1.1.1

解释:设置客户端分配的公网ip, 就是使用vpn访问网站的时候体现出来的ip


#OpenVZ系统用此命令,1.1.1.1为你的VPS的IP地址
#iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -o eth0 -j SNAT --to 1.1.1.1
#iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -o eth0 -j MASQUERADE
#XEN系统用这个命令
这里一定看清楚,里面的ip“192.168.5.0/24”要和前面的“localip”网段对应,还要注意网卡eth0,如果你的网卡不是eth0,就改成你相应的网卡名!
如果某些网站不能访问,加上:
/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
修改规则:修改/etc/sysconfig/iptables文件
保存你的iptables转发规则:
#/etc/init.d/iptables save
重启iptables,命令:
#/etc/init.d/iptables restart  

或#service iptables restart

8、重启下pptp,命令:
#/etc/init.d/pptpd restart

或#service pptpd restart


9、把服务设置成开机自动运行运行:
chkconfig --level 35 pptpd on
chkconfig --level 35 iptables on
如果服务器有防火墙,需要开启端口
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT
官方网址:http://poptop.sourceforge.net/yum/stable/packages/

查看更多...

分类:Work__ | 固定链接 | 评论: 99 | 引用: 0 | 查看次数: 6470