近来翻墙越来越困难,经不住廉价VPS的诱惑,开始自己搭建pptp。网上虽然已经有很多利用Openvz VPS搭建pptp服务的教程,由于Linux小白的身份,在搭建过程中还是遇到不少问题,用了3天时间才算基本搭建完成,记录下来以备后用。
第一步 选择合适的VPS
我用的是年费3.99美元的VPS。
第二步 确定机器已开通PPP和TUN
以下两个命令均返回“未找到”表示已经开通,如未开通则需要联系VPS管理员开通。我用的VPS默认已经开通。
cat /dev/ppp
cat/dev/net/tun
第三步 清除原有设置或以前安装痕迹
yum remove -y pptpd ppp
#参数flush和table前面的横线是两条短横线,被自动转码成一条长横线了
iptables –flush POSTROUTING –table nat
iptables –flush FORWARD
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp
第四步 获取需要的软体
软体的版本选择很重要,版本不匹配即使安装成功也不能连接
wget http://poptop.sourceforge.net/yum/stable/rhel6Server/i386/dkms-2.0.17.5-1.noarch.rpm
wget http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
wget http://poptop.sourceforge.net/yum/stable/rhel6Server/i386/ppp-2.4.5-33.0.rhel6.i686.rpm
wget http://poptop.sourceforge.net/yum/stable/rhel6Server/i386/pptpd-1.4.0-1.el6.i686.rpm
第五步 安装软体
yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers
rpm -ivh dkms-2.0.17.5-1.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -qa kernel_ppp_mppe
rpm -Uvh ppp-2.4.5-33.0.rhel6.i686.rpm
rpm -ivh pptpd-1.4.0-1.el6.i686.rpm
第六步 配置pptp
mknod /dev/ppp c 108 0
echo 1 > /proc/sys/net/ipv4/ip_forward
#引号都是单字节(英文)引号,被自动转码成双字节引号了
echo “mknod /dev/ppp c 108 0″ >> /etc/rc.local
echo “echo 1 > /proc/sys/net/ipv4/ip_forward” >> /etc/rc.local
#此处的IP段可以任意,但是尽量注意不要跟本地网络的IP段有冲突
echo “localip 172.16.36.1″ >> /etc/pptpd.conf
echo “remoteip 172.16.36.2-254″ >> /etc/pptpd.conf
#也可以设为其他有效dns
echo “ms-dns 8.8.8.8″ >> /etc/ppp/options.pptpd
echo “ms-dns 8.8.4.4″ >> /etc/ppp/options.pptpd
#其中‘name’是用来连接pptp的用户名,‘1234’是连接用的密码,可以任意设置
echo “name pptpd 1234 *” >> /etc/ppp/chap-secrets
#添加转发规则,此处的IP要与上面设置的IP段匹配。参数to、syn和set前面的横线是两条短横线,被自动转码成一条长横线了
iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT –to-source `ifconfig | grep ‘inet addr:’| grep -v ‘127.0.0’ | cut -d: -f2 | awk ‘NR==1 { print $1}’`
#MTU必须是1200,大了安卓无法上网
iptables -A FORWARD -p tcp –syn -s 172.16.36.0/24 -j TCPMSS –set-mss 1200
service iptables save
#启动服务
chkconfig iptables on
chkconfig pptpd on
service iptables start
service pptpd start
到这里pptp服务就配置好了,我的电脑、iphone和安卓都可以正常连接使用了。
推荐阅读:
评论
本文评论功能已关闭。