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。 至此客户端设置全部完成。

posted on 2013-01-14 01:17  Milton  阅读(237)  评论(0编辑  收藏  举报

导航