Linux下配置pptpd


    如果需要访问美国网站,则需要一台有美国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网站, 则是不行。不知其原因。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。