如果需要访问美国网站,则需要一台有美国ip的服务器,并在服务器上配置pptpd,你在有上海ip一台电脑上vpn到美国那台服务器上,然后访问美国网站。登陆qq,你会发现你的qq在美国登陆了。你也可以访问美国其他网站。
这里只是测试,假设美国一个服务器ip:192.168.151.202。
环境:
vpn服务器:192.168.151.202能访问公网。
vpn客户端:192.168.151.246
一、检查服务器能否安装pptpd
modprobe ppp-compress-18 && echo ok
这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:
#cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state
上述两条只要下面一条通过,就能安装pptp。如果还有其它问题,或者请你的服务商来解决这个问题。
pptpd需要iptables的支持,默认的都已经安装了。
二、安装pptpd-1.3.1
./configure --prefix=/usr/local/pptpd
make
make install
三、配置pptpd.conf
cp pptpd-1.3.1/samples/pptpd.conf /etc/
Vim /etc/pptpd.conf
###############修改#############
option /usr/local/pptpd/options.pptpd
###############注释#############
#logwtmp
###############添加#############
localip 192.168.151.201
remoteip 10.10.10.1-20
###设置VPN拨号的客户端ip为10.10.10.1-20
vim /usr/local/pptpd/options.pptpd
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 233.5.5.5
vim /etc/ppp/chap-secrets
# client server secret IP addresses
hunk pptpd 123456 *
###用户名:hunk 密码:123456 允许的ip:* ,即所有ip。 可根据自己的情况进行修改。
四、启动pptpd
/usr/local/pptpd/sbin/pptpd -c /etc/pptpd.conf
五、修改内核设置,使其支持转发。编辑/etc/sysctl.conf文件:
vi /etc/sysctl.conf
将“net.ipv4.ip_forward”的值改为1:
net.ipv4.ip_forward=1
同时在“net.ipv4.tcp_syncookies = 1”前面加# :
# net.ipv4.tcp_syncookies = 1
保存退出,并执行下面的命令来生效它:
sysctl -p
六、ppp文件,重建一下:
rm -r /dev/ppp
mknod /dev/ppp c 108 0
七、配置防火墙,使用一个脚本来执行。(需注意,避免将自己锁在外面,一定要放行22)
vim iptables.sh
#!/bin/bash
# 2014-08-07
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/iptables -X
/sbin/iptables -Z
modprobe ip_tables
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ipt_MASQUERADE
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -A INPUT -i eth0 -p 47 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
chmod u+x iptables.sh //给予可执行权限
bash iptables.sh //执行该脚本
八、测试
netstat -tupln|grep pptpd
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 49666/pptpd
九、在xp客户端创建vpn及步骤
十、总结
1.搭建完成后,xp客户端总是报619错误,关闭防火墙后,则可以连上。弄了好久,最终排查到GRE协议防火墙没有放行,GRE协议号是47。主体配置 见 七、配置防火墙。
/sbin/iptables -A INPUT -i eth0 -p 47 -j ACCEPT
2.pptp vpn出现800错误解决方法
当我们在确保pptpd服务成功启动时,却出现800错误,服务器不可达,我们可以用,tail -f /var/log/message来查看日志,
我们只要到vim /etc/pptpd.conf中修改配置文件,将logwtmp注释掉即可。
# TAG: logwtmp
# Use wtmp(5) to record client connections and disconnections.
#
#logwtmp
3.xp客户端连接vpn后,其他网站可以访问,如www.sina.com,apache.org。但是访问www.baidu.com网站, 则是不行。不知其原因。