debian搭建pptp代理 作者: morningp 时间: 2021-04-27 分类: shell相关 这边简单介绍下debian下搭建vpn的一些步骤,主要是留个记录。 其实本来这个文章是不打算写的,毕竟涉及到VPN,万一把我blog给封了就不好了,但是毕竟我搭这个也不是翻墙用途(pptp早就被GFW橄榄了),而且里面涉及到的一些iptables之类的我也不是特别熟悉,所以还是记录一下。 - ## 什么是VPN 首先还是要说下什么是VPN,vpn是英文virtual private network的缩写,翻译过来就是虚拟私人网络。其实VPN除了翻墙的作用,还是常用于连接中、大型企业或团体间私人网络的通讯方法。只是在某些地方被污名化了而已。 - ## 为什么要搭建VPN Wikipedia上说VPN利用隧道协议来达到发送端认证、消息保密与准确性等功能。所以总结下来,VPN主要是保密和安全。这个在哪些地方比较有用呢?比如说你在机场,咖啡厅之类的地方,这些地方一般会提供公共WiFi,虽然方便了大家的网络生活,但是也方便了不法之徒,例如一些黑客通过公共WiFi进行网络攻击等违法犯罪行文,这时如果你连接了VPN的话,就可以大大提升网络的安全性。 - ##为什么选择PPTP 如果你在上一节搜索了Wikipedia,会发现Wikipedia上对PPTP的评价是不安全(不使用MPPE时),这时你可以打开你的Android手机,选择连接选项中的新建VPN,选择PPTP,你会发现MPPE是自动勾选的。是的,现代操作系统基本的安全性还是可以满足的。 首先PPTP比较方便,配置简单,临时使用基本足够了。其次如果你连接国内的地址基本不会被干扰。最后是因为支持广泛,日常的操作系统基本上都自带VPN的连线方式,不用另外装软件。 - ##搭建步骤 说了那么多,那么下面就来说说如何搭建PPTP服务端。 这里我选择的是debian系统,源里自带了pptp协议的开源实现:pptpd。安装前最好先更新一下系统 `apt update && apt upgrade` ,然后安装pptpd: `apt install pptpd`。 接下来来配置,配置主要分为两个步骤,一是pptp的配置:首先编辑文件 /etc/pptpd.conf,在这里配置你的网段: ``` localip 192.168.7.1 #你选择的网段,需要是私网IP remoteip 192.168.7.2-5 #你的VPN客户端的IP池,个人用其实可以设置少一点 ``` 接下来是编辑 /etc/ppp/pptpd-options,这里已经默认配置好了MPPE的加密设置,不用特别配置,这里是对于DNS的配置,可以配置你个人需要的DNS,在ms-dns后面配置你需要的DNS服务器即可,建议配置一下。 最后是编辑 /etc/ppp/chap-secrets建立账号,形如 `username pptpd password *` username用户名,pptpd不用改,password是密码(明文配置),*是允许任意IP连接,也可以写上IP限制,但是一般我们都不会有固定IP,所以一般不会限制。 接下来第二步是配置网络,首先需要执行 `sysctl net.ipv4.ip_forward=1` ,开启转发,接下来配置iptables: ``` iptables -A INPUT -p gre -j ACCEPT #允许gre包入站 iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT #允许pptp协议默认端口1723的tcp协议入站 iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE #开启eth0的网络伪装,让客户端的网络请求被伪装成由服务端发出 iptables -A FORWARD -s 192.168.7.0/24 -j ACCEPT #允许你设置的VPN网段的入站转发 iptables -A FORWARD -d 192.168.7.0/24 -j ACCEPT #允许你设置的VPN网段的出站转发 ``` 这里的iptables配置会在重启后失效,可以将其保存在脚本里。如果要设置开启自启,只需要在 /etc/network/if-up.d 下创建一个脚本,赋予执行权限,脚本内容为: ``` #! /bin/bash iptables-restore < /home/script.sh #/home/script.sh这里是你保存命令脚本的完整路径 ``` 即可。 到这里iptables也配置好了,重启下pptpd服务 `service pptpd restart` 应该就可以连接了。 标签: none