1. 环境说明
面对天朝强大的GFW,我们能做的只有翻墙,下面列举安装翻墙软件的环境.
Linode VPS
CentOS 5.6
pptpd 1.3.4
因为pptpd需要MPPE的支持,所以首先检测系统是否符已经编译了MPPE,执行如下shell,如果返回CONFIG_PPP_MPPE=y表示可以安装pptpd,如果没有请更换版本.
- zgrep MPPE /proc/config.gz
2. 安装安装pptpd
pptpd需要iptables支持,所以需要安装iptables.如果您的服务器上已经安装了iptables,默认系统一般都已经安装成功,那么只安装pptpd.
由于pptp没有存放在CentOS的源中,所以用yum命令安装返回的是找不到安装包.
安装pptp需要使用rpm命令直接从网站上下载并安装,这里要注意的是,pptp分为32bit版和64bit版,大家可以根据需要下载.
3.设置pptpd解析用的dns(把ms-dns前的#号去掉,#号代表注释,填上opendns的服务器地址)
- vi /etc/ppp/options.pptpd
- ms-dns 208.67.222.222
- ms-dns 208.67.220.220
4.设置拨号时候用的:用户名、拨号方式、用户密码、来源ip地址(用户名和密码可以随便设置,拨号方式只能填pptpd,来源ip用*号代表不限制)
- vi /etc/ppp/chap-secrets
- linuxeye pptpd 123456 *
5.设置本地ip和远端ip(本地ip就是你等一下建立拨号后分配给你的,远端ip是分配给服务器的)
- vi /etc/pptpd.conf
- localip 192.168.1.1
- remoteip 192.168.1.2-20
6.设置ip转发状态为生效,然后立即载入(和第9步的NAT转发有关)
- vi /etc/sysctl.conf
- net.ipv4.ip_forward = 1
- /sbin/sysctl -p
7.启动pptpd服务,并且设置为开机启动
- /sbin/service pptpd start
- chkconfig pptpd on
8.启动iptables规则,设置NAT转发,然后保存
- /sbin/service iptables start
- /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
- service iptables save
配置过程中问题如下:
1. 启动防火墙报错Setting chains to policy ACCEPT: security raw nat mangle fi[FAILED]
问题主要是iptables版本和内核对不上导致的,linode使用的是自己修改过的内核.
第一个问题的修复需要在/etc/init.d/iptables,找到set_policy函数,添加一个security选项,如下123-128行.
- 120 for i in $tables; do
- 121 echo -n “$i ”
- 122 case “$i” in
- 123 security)
- 124 $IPTABLES -t security -P INPUT $policy \
- 125 && $IPTABLES -t security -P OUTPUT $policy \
- 126 && $IPTABLES -t security -P FORWARD $policy \
- 127 || let ret+=1
- 128 ;;
- 129 raw)
- 130 $IPTABLES -t raw -P PREROUTING $policy \
- 131 && $IPTABLES -t raw -P OUTPUT $policy \
- 132 || let ret+=1
- 133 ;;
2. 配置好后,一直不能拨号成功
原因是PPTP穿透没有开启,这个一定要开启。