Install PPTP service on Centos5.6 (linode)
二、 我购买的是Linode 512MB内存的VPS,安装了CentOS 5.6 32bit 三、注意事项 1、安装过程需要root权限 2、需要注意的地方加粗显示 四、服务端安装步骤 1、用secureCRT登录CentOS。为了安全起见,可以先用普通用户登录,而后再使用su -命令及root密码切换到root用户。 2、因为pptp需要MPPE的支持,所以首先检测系统是否符已经编译了MPPE。如果没有,那请您别往下看了。 下面介绍两种检测方法,只要符合其中的一条就可以
zgrep MPPE /proc/config.gz
返回
CONFIG_PPP_MPPE=y
或者
cat /dev/net/tun
返回
cat: /dev/net/tun: File descriptor in bad state
恭喜您,可以安装了!
网上大多数资料还提到了另一个测试命令
modprobe ppp-compress-18 && echo ok
如果返回“OK”说明可以安装PPTP,我查了一下,这个命令是在CentOS 4.4版本中有人提出的,但是经过实际测试,发现在我的环境中非但没有效果,而且报错,运行后结果如下:
[root@HOSTNAME ~]# modprobe ppp-compress-18 && echo ok FATAL: Module ppp_mppe not found. [root@HOSTNAME ~]#
一开始我傻掉了,内牛满面,原以为无法安装了。 后来用上面提到的zgrep MPPE /proc/config.gz命令查看后表明可以安装,而事实证明确实如此。 所以如果modprobe ppp-compress-18 && echo ok没有显示“OK”甚至报错,并不代表不能安装。最好还是用zgrep MPPE /proc/config.gz命令查看。 3、由于pptp需要iptables支持,所以需要安装iptables。如果您的服务器上已经安装了iptables,那么可以只安装pptp
yum install -y ppp iptables
注意:这里先安装的是ppp而不是pptp,不要打错了。另:PPP是一种数据链路层协议类似我们熟知的pppoe 接下来就是一大堆的信息,无非是寻找最快的源,找到后下载相关安装包,下载完成自动安装。 如果回到提示符状态,并且安装结果为Complete!,说明安装成功。
…… …… Complete! [root@HOSTNAME ~]#
4、安装pptp 由于pptp没有存放在CentOS的源中,所以用yum命令安装返回的是找不到安装包
[root@HOSTNAME ~]# yum install pptp Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: mirrors.cat.pdx.edu * base: mirrors.easynews.com * extras: mirrors.xmission.com * updates: mirrors.versaweb.com addons | 951 B 00:00 base | 2.1 kB 00:00 extras | 2.1 kB 00:00 updates | 1.9 kB 00:00 Setting up Install Process No package pptp available. Nothing to do [root@HOSTNAME ~]#
安装pptp需要使用rpm命令直接从网站上下载并安装,这里要注意的是:pptp分为32bit版和64bit版,大家可以根据需要下载
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用) rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)
下载和安装过程都很快,安装包很小 5、配置pptp (1)编辑/etc/pptpd.conf
vi /etc/pptpd.conf
将
#localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245
修改成
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
即将这两行第一个字符“#”去掉 保存退出 注意:此处的remoteip指定的IP范围是用来给远程连接使用的。如果您远程访问VPN,VPN就会在remoteip范围内分配一个ip地址给你。localip的值直接影响到后面要说的iptables转发规则的编写,所以建议不要随意改动 (2)编辑/etc/ppp/options.pptpd
vi /etc/ppp/options.pptpd
将
#ms-dns 10.0.0.1 #ms-dns 10.0.0.2
改成
ms-dns 8.8.8.8 ms-dns 8.8.4.4
即将这两行第一个字符“#”去掉,而后修改DNS的IP。 这里使用的是Google发布的Public DNS,您也可以修改为OpenDNS的IP,即
ms-dns 208.67.222.222 ms-dns 208.67.220.220
保存并退出 (3)设置使用pptp的用户名和密码
vi /etc/ppp/chap-secrets
打开后只有两行,而且一个账号都没有
# Secrets for authentication using CHAP # client server secret IP addresses
根据您的需要添加账号,每行一个。 按照:“用户名 pptpd 密码 ip地址”的格式输入,每一项之间用空格分开,例如:vpnuser pptpd 123456 * 保存并退出 6、修改内核设置,使其支持转发。
vi /etc/sysctl.conf
将 net.ipv4.ip_forward=0 改成 net.ipv4.ip_forward=1 将 net.ipv4.tcp_syncookies = 1 改成 #net.ipv4.tcp_syncookies = 1 即行首添加“#” 保存并退出 执行以下命令使修改后的内核生效
sysctl -p
7、添加iptables转发规则
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 12.34.56.78 (适合于OpenVZ架构的VPS,12.34.56.78为您VPS的公网IP地址) iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE (适合于XEN架构的VPS)
以上两条命令分别对应OpenVZ架构和XEN架构的VPS,您的VPS是什么架构需要询问供应商。Linode采用的是XEN架构,所以输入
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
添加好转发规则后保存一下并重启iptables
/etc/init.d/iptables save /etc/init.d/iptables restart
注意:遇到两个错误
Setting chains to policy ACCEPT: security raw nat mangle fi[FAILED]
编辑/etc/init.d/iptables 在
Setting chains to policy $policy: “ ret=0 for i in $tables; do echo -n “$i “ case “$i” in
后面增加
security) $IPTABLES -t filter -P INPUT $policy \ && $IPTABLES -t filter -P OUTPUT $policy \ && $IPTABLES -t filter -P FORWARD $policy \ || let ret+=1 ;;
Loading additional iptables modules: ip_conntrack_netbios_n[FAILED]
编辑/etc/sysconfig/iptables-config 注释掉。 IPTABLES_MODULES="ip_conntrack_netbios_ns" 8、重启pptp服务
/etc/init.d/pptpd restart
这里要注意一下,其实此时pptp还没运行起来。所以使用restart重启,会显示Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。 9、设置pptp和iptables随系统启动
chkconfig --list
查看所有的系统服务, 如果下面的两个服务没有或在状态2,3,4,5上不是on的话, 执行
chkconfig pptpd on chkconfig iptables on
如果出现错误619则输入命令
mknod /dev/ppp c 108 0
注意:我没有遇到619错误,所以以上命令是否有效未知 至此pptp服务端安装全部结束 五、客户端设置 (1)WinXP a、鼠标右击“网络邻居”在弹出框中选择“属性” b、在“网络连接”窗口左侧点击“创建一个新连接”,并在弹出框中选择“下一步” c、选择“连接到我的工作场所的网络”,点击“下一步” d、选择“虚拟专用网络连接”,点击“下一步” e、输入VPN的名称,点击“下一步” f、输入主机名IP,也就是您VPS服务器的IP地址或者域名,点击“下一步” g、点击“完成” 每次需要使用VPS时只需双击连接图标,然后输入用户名和密码,等待一会儿就可以youtube了 (2)Win7(Vista) a、点击“开始”,选择“控制面板” b、选择“网络和Internet” c、选择“网络和共享中心” d、选择“设置新的连接或网络” e、在弹出框里选择“连接到工作区”,点击“下一步” f、选择“使用我的Internet连接(VPN)(I)” g、在“Internet地址”中输入VPN服务器的IP地址或者域名,“目标名称”可以随便填,勾选最下面的“现在不连接:仅进行设置以便稍后连接”。点击“下一步” h、输入VPN的用户名和密码,点击“创建” 创建完成后就可以连接了,连接方法同WinXP。 至此客户端设置全部完成。