PPTP的搭建

 一、准备

1、检查是否支持pptp

modprobe ppp-compress-18 && echo yes 

  yes支持

2、是否开启tun

cat /dev/net/tun  

  返回cat: /dev/net/tun: File descriptor in bad state

二、安装

sudo apt-get install pptpd

  

三、配置

1、配置pptp

vi /etc/pptpd.conf

  

取消掉以下 2 行的注释:  
localip 192.168.0.1  
remoteip 192.168.0.234-238,192.168.0.245  

 

2、新建文件 sudo vi /etc/ppp/options.pptpd #编辑,保存

name pptpd                        #自行设定的VPN服务器的名字,可以任意  
#refuse-pap                        #拒绝pap身份验证  
#refuse-chap                      #拒绝chap身份验证  
#refuse-mschap                 #拒绝mschap身份验证  
require-mschap-v2             #为了最高的安全性,我们使用mschap-v2身份验证方法  
require-mppe-128              #使用128位MPPE加密  
ms-dns 8.8.8.8                   #设置DNS  
ms-dns 8.8.4.4  
proxyarp                            #启用ARP代理,如果分配给客户端的IP与内网卡同一个子网  
#debug                              #关闭debug  
lock  
nobsdcomp  
novj  
novjccomp  
#nologfd                            #不输入运行信息到stderr  
logfile /var/log/pptpd.log    #存放pptpd服务运行的的日志  

3、设置iptables

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o bond0 -j MASQUERADE  

  

iptables -I INPUT -p 47 -m state -state ESTABLISHED -j ACCEPT 
iptables -I OUTPUT -p 47 -m state -state NEW,ESTABLISHED -j ACCEPT 
iptables -I INPUT -p tcp -sport 1723 -m state –state ESTABLISHED -j ACCEPT 
iptables -I OUTPUT -p tcp -dport 1723 -m state –state NEW,ESTABLISHED -j ACCEPT

  或

iptables -A INPUT -p 47 -j ACCEPT 
iptables -A OUTPUT -p 47 -j ACCEPT 
iptables -A INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT 
iptables -A OUTPUT -p TCP -d 0.0.0.0/0 --destination-port 1723 -j ACCEPT

4、分配账号

sudo vi /etc/ppp/chap-secrets  
这个是用户列表文件  
在里面添加账户按如下格式  
username  pptpd  "password"  *  
username为你的用户名password为你的密码,<strong>密码用引号引起</strong>,最后的*号表示允许在任意IP连接到服务  

5、设置DNS

sudo vi /etc/ppp/pptpd-options  
找到ms-dns,取消掉注释,改成你喜欢的DNS比如114.114.114.114, 8.8.8.8, 8.8.4.4  

6、IP转发

  

sudo vi /etc/sysctl.conf  
取消掉 net.ipv4.ip_forward=1 这一行的注释.  

  

修改立即生效  
sysctl -p  

7、重启

service pptpd restart

  【注意】

客户端连接VPN时,“在远程网络上使用默认网关”没有勾选,这会造成不能访问VPN网络中的DNS服务器的问题。

如果勾选了“在远程网络上使用默认网关”,除了到局域网的通信之外的所有通信都将发送到VPN网络。

 

posted @ 2017-09-28 09:42  Rainbowz  阅读(1284)  评论(0编辑  收藏  举报