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网络。