更新服务器并安装 PPTP 服务 

apt-get update

apt-get upgrade

apt-get install pptpd


编辑  /etc/pptpd.conf

找到 #localip 以及 #remoteip 行,删除#并设置 ip 地址

localip 172.16.31.254

remoteip 172.16.31.234-238


编辑  /etc/sysctl.conf

去掉 #net.ipv4.ip_forward=1 的#号,开启ipv4 forward

修改完成后执行  sysctl -p


编辑  /etc/ppp/pptpd-options

修改dns服务器地址

ms-dns 8.8.8.8

ms-dns 8.8.4.4


编辑  /etc/ppp/chap-secrets

添加 PPTP 账号

[注

  格式为:

    username1 pptpd password *

    username2 pptpd password 172.16.31.234

  第一列是用户名,第二列是服务器名(默认 pptpd ,注意和 /etc/ppp/pptpd-options 文件中 name 行的值保持一致)

  第三列是密码,第四列是 IP 限制(不限制用 * 表示)

  第一行格式为不固定客户端ip地址,第二行格式为固定客户端ip地址

]


使用 iptables 来建立 NAT

安装iptables  apt-get install iptables

向 nat 表中加入一条规则

iptables -t nat -A POSTROUTING -s 172.16.31.0/24 -o eth0 -j MASQUERADE

[注

  eth0是网卡名字,可以通过命令 ifconfig 查看得到

]

设置 MTU

iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356

[注

  Vultr 建议

  Note: We recommend configuring a MTU of 1450 on your private network. Using a larger MTU will result in poor performance.

]


iptables 的规则会在下次重启时被清除,为防止重启机器后iptables丢失,运行

iptables-save > /etc/iptables-rules

编辑 /etc/network/interfaces 文件

找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:

pre-up iptables-restore < /etc/iptables-rules

这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置


重启 PPTP 服务

/etc/init.d/pptpd restart


编辑  /etc/rc.local

添加开机启动

/etc/init.d/pptpd restart


特此感谢大牛们提供的思路与代码!

参考博文,不分先后:

Debian搭建vpn - 时光旅行的懒猫 - 博客园

Debian搭建VPN - 麦田守望者

Debian PPTP VPN 配置教程 - reizhi

在 Vultr VPS 中 以 Debian 8 i386 (jessie) 为 操作系统 平台 手动 搭建 PPTP VPN 全过程的更多相关文章

  1. 搬瓦工VPS搭建PPTP VPN

    之前一直在用神器Lantern和Nydus(20元一个月),感觉还不错,但是各有各的不足! 于是开始自己动手折腾用VPS搭建VPN... 上网逛了一圈,最后选择了搬瓦工的VPS:512RAM,10G ...

  2. vultr VPS的购买及搭建ss介绍,支持锐速加速优化

    Vultr虽然成立时间不久,但是其背景实力还是比较雄厚的,基于全球最大的游戏服务器提供商之一的基础,所以才有实力开设这么多的数据中心.有速度较好的日本东京.洛杉矶等机房,也有我们很多人需要的欧洲机房等 ...

  3. Vultr VPS建站攻略 – 一键安装LNMP无面板高性能WEB环境

    在"Vultr VPS建站攻略 - 一键安装宝塔面板架设LNMP/LAMP Web环境"文章中,VULTR中文网分享到我们常用的可视化面板宝塔面板安装在VULTR VPS主机中建站 ...

  4. 转载 - Vultr VPS注册开通且一键快速安装PPTP VPN和电脑连接使用

    本文转载来自:https://www.vultrclub.com/139.html 从2014年Vultr VPS进入市场之后,作为有背景.实力的搅局者,是的最近两年VPS.服务器的用户成本降低.配置 ...

  5. 官方解答:Vultr VPS常见问题

    VULTR VPS配置高,价格低廉,是非常优秀的vps品牌.今天我来翻译vultr官方FAQ,相信你能找到具体答案. Q 请介绍VULTR VPS机器硬件配置 Intel CPU 3+ GHz Cor ...

  6. Vultr VPS建站攻略 – 一键安装宝塔面板架设LNMP/LAMP Web环境

    我们选择VULTR VPS建站的还是比较多的,其主要原因在于商家的稳定,毕竟我们用来建站选择服务器价格考虑的不是主要的(当然VULTR价格也是比较便宜),最为主要的是因为VULTR商家比较稳定,而且多 ...

  7. vultr vps服务器存在的7个优势及选择原因

    原本准备在第一篇文章的时候完整的新注册账户的,但是考虑到对于这款VPS主机的了解,还是先整理这篇关于网络上和我自己在使用vultr vps主机产品的时候可能自认为的优势之处,这样可以加强很多新用户对于 ...

  8. vultr vps官网改版免费注册教程(最新优惠码)

    本站强烈推荐的,国外超高性价比vps服务器Vultr官方网站最近更新了,导致一些朋友心生茫然,今天写个简易教程给大家. 首先是打开vultr官网,免费注册一个vultr账号.填写邮箱地址.密码,非常简 ...

  9. Linux Root密码忘记怎么办?用Vultr vps教程演示重置root密码

    使用vultr免费提供的snapshots功能,可以轻松备份vps镜像,通常会碰到一个问题:恢复镜像后,vps的root密码失效了.正常情况下,root密码是镜像文件里的root密码,在某些情况下,由 ...

随机推荐

  1. [转]MySQL5.6新特性之Multi-Range Read

    这几天看到mrr的东西,刚好看到以前我们组的一个小伙的博客,我看挺全的,就转过来了,原博客地址请戳 一 介绍    MySQL 5.6版本提供了很多性能优化的特性,其中之一就是 Multi-Range ...

  2. 使用 greenDao 框架 操作数据库

    0.效果图

  3. CSS 笔记一(Selectors/ Backgrounds/ Borders/ Margins/ Padding/ Height and Width)

    Selectors/ Backgrounds/ Borders/ Margins/ Padding/ Height and Width CSS Introduction: CSS stands for ...

  4. 《Unix网络编程》卷一(简介TCP/IP、基础套接字编程)

    通常说函数返回某个错误值,实际上是函数返回值为-1,而全局变量errno被置为指定的常值(即称函数返回这个错误值). exit终止进程,Unix在一个进程终止时总是关闭该进程所有打开的描述符. TCP ...

  5. Js 实现tab切换效果

    今天商城系统的后台要添加一个Tab切换的效果,一开始没有思路想要自己去实践这个效果 从网上找jquery 已经有了很好看的案例,实现之后我来学习下思路是如何完成的

  6. python(五)文件操作

    1.打开文件 f = open('db','r')   #只读 f = open('db','w')   #只写,先清空原文件 f = open('db','x')   #文件存在,报错,不存在,创建 ...

  7. ubuntu下安装、启动和卸载SSH

    想往VMWare虚拟机上的Ubuntu里面拷贝代码,发现之前安装好的secureCRT链接不上.发现是ssh安装配置出了问题,于是就把openssh-server卸载后重装,发现又是与openssh- ...

  8. Git 忽略文件

    在Git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.a    ...

  9. C library function - freopen()

    Description The C library function FILE *freopen(const char *filename, const char *mode, FILE *strea ...

  10. [linux] Upgrading glibc for the GHOST Vulnerability

    1> Test if the problem exists, code: #include <netdb.h> #include <stdio.h> #include & ...