in Developer

DigitalOcean:ubuntu vps下配置vpn

系统 Ubuntu 12.04.3 x64

看了流量统计,发现这篇还真有不少人在看,希望帮到你们了。正巧,如果你没有用过DigitalOcean,那欢迎使用我的推荐连接注册,点击注册DigitalOcean

安装pptpd

$ sudo apt-get install pptpd

编辑配置文件:

$ sudo vi /etc/pptpd.conf

找到最下面,修改ip:

localip 你的主机ip
remoteip 10.100.0.2-10

第二行为分配的ip段

设置dns

$ sudo vi /etc/ppp/pptpd-options

修改以下部分为google的dns:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

设置账号:

$ sudo vi /etc/ppp/chap-secrets

添加一行,依次为:用户名,服务,密码,限制ip:

"user" pptpd "user" *

重启服务:

$ sudo /etc/init.d/pptpd restart

设置转发:

$ sudo vi /etc/sysctl.conf

去掉文件中这一行的注释:

net.ipv4.ip_forward=1

使它立刻生效:

sudo sysctl -p

安装iptables:

sudo apt-get install iptables

建立一个 NAT:

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

将规则保存,使重启后规则不丢失:

sudo iptables-save > /etc/iptables-rules

若此处提示:-bash: /etc/iptables-rules: Permission denied 则可使用root用户,命令:su - 进入root用户保存

编辑网卡文件,加载网卡时自动加载规则

sudo vi  /etc/network/interfaces

末尾加入:

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

设置MTU,防止包过大:

sudo iptables -A FORWARD -s 10.100.0.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200

若设置了,记得保存:

sudo iptables-save > /etc/iptables-rules

macos 能连上,但没有任何收发包的问题,即能连接上VPN,不能上网:vpn高级里勾选发送全部流量

至此,搞定。

参考:单网卡 Ubuntu 服务器打造 PPTP Server

Write a Comment

Comment

12 Comments

  1. 我用这个做在了linode上面,成功了,速度还行,MTU防治包过大是对付gfw的么?这样做是全局代理,虽然用的日本机房一半国内的网站速度还行。但总还是慢一点,有什么方法可以局部代理么?谢谢!

  2. 抱歉,具体方法只能Google了。我也是配置VPN时才去研究这个,现在我已经不使用我的DO主机VPN了,而是使用了曲径的服务,原因就是方便和快速。关于你问的问题,我之前也有看到过,大体好像是在本地系统上做一些配置,一些链接使用VPN一些不使用。

  3. 请问一下你这个博客用的是digitalocean吗? 为什么我在DO上的wordpress非常之慢, 只有翻了墙才能流畅浏览? 但是你这个博客我不翻墙也很流畅

  4. e.. 确实是在DO上。 你的被墙了? 是IP被墙还是域名呢。 非常慢是不是因为有写请求被墙了。或者在解析上慢了?

  5. linlexus.com 这是我的域名,我叫很多朋友都试过了,要么打不开要么10-20秒才打开.. 我这才刚买的服务器呢,怎么会被墙呢? 还有,我创建过一个新的droplet用“wordpress on ubuntu 14.04”,访问这个新的droplet依旧超慢

  6. 抱歉回复晚了,我特意关了曲径打开你的站点看了看,太多的我也不懂了。不过用Chrome的审查元素-Network中看到你的Css请求用了很长时间,不过话说回来,我特意打开我的博客看了一下,比你的慢多了……用了10几秒

  7. 请问下,为什么我设置了两个账号,不能同时在线呢?

  8. iPhone?我的iPhone以前可以连上,但现在也连不上了。可系统并没有任何更改,换了其他VPN pptp也连接不上,网上有说iOS对pptp支持不好。