在ubuntu 上搭建vpn

Reading time ~1 minute

在家里上网总是有很多网站不能上,很郁闷,以前的翻墙利器,xxnet也不能使用了,正好 最近在公司抢到100元腾讯云代金券,于是租了一台香港的服务器,准备搭建一个自己的vpn。 说干就干,整个过程不到半小时就完成了,下面将自己搭建vpn 服务器的过程记录如下.

作用

虚拟专用网络的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。 简单说,对于我们最直观的功能就是可以翻墙,访问境外网站。

搭建VPN 服务器

在腾讯云上安装的系统是ubuntu 16.04, 这里是在ubuntu 下,安装PPTP VPN 服务 点对点隧道协议(PPTP)是VPN服务的一种最简单的实现协议,其它常见的VPN类型还有:使用IPsec的第2层隧道协议(L2TP/IPsec)、安全套接字隧道协议(SSL VPN)。 这里主要讨论PPTP VPN服务在Ubuntu上的安装和配置

第一步, 连接到server

第二步,使用 apt 源服务来安装pptpd 服务

pptpd 是一个vpn 服务端软件

$ sudo apt-get update

$ sudo apt-get install pptpd

安装完成后,进行第三步

第三步, 修改文件 /etc/pptpd.conf

$ sudo vi /etc/pptpd.conf

找到# TAG: localip一行,在后面添加以下2行:

localip 192.168.0.1

remoteip 192.168.0.234-238,192.168.0.245 

保存退出

第四步,设置dns, 修改文件/etc/ppp/pptpd-options

$ sudo vi /etc/ppp/pptpd-options

找到 #ms-dns这行,去掉前面的#号,修改成google提供的DNS server或其他DNS:

ms-dns 8.8.8.8 
ms-dns 8.8.4.4 

ms-dns 这一行代表dns 服务器地址。

第五步,设置账号密码, 修改文件 /etc/ppp/chap-secrets

$ sudo vi /etc/ppp/chap-secrets

按一行四列添加账号、服务器名、密码和IP限制。服务器名(默认 写pptpd 即可,务必与pptpd-options 文件的name一行一样)。如创建一个名为user,密码为userpasswd,不限制登录IP的VPN账号:

user pptpd userpasswd * 

例如:

test pptpd 123456 *

第六步,设置IP转发 修改文件 /etc/sysctl.conf

$ sudo vi /etc/sysctl.conf

去掉这一行 #net.ipv4.ip_forward=1 的#号,开启ipv4 forward,然后运行命令:

$ sudo sysctl –p

运行后会显示 net.ipv4.ip_forward = 1,就表示修改生效了。

第七步,使用iptables 建立一个NAT

首先安装iptables

$ sudo apt-get install iptables 
$ iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o eth0 -j MASQUERADE 

上面的24表示子网掩码,代表24个1. eth0是网卡名字,可以通过命令 ifconfig 查看自己的网卡.

为防止重启服务器后iptables丢失,先运行

$ iptables-save > /etc/iptables-rules

然后修改文件 /etc/network/interfaces ,在eth0/eth1.. 下面加入

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

第八步,重启pptd 服务

$ sudo /etc/init.d/pptpd restart 

现在应该已经大功告成了。

第九步, 在client 端设置vpn 进行测试

注意client 中填写的server 地址是服务器的外网地址, 别弄成内网地址了。

下面是macos的vpn 配置

参考链接

Ubuntu14.04下搭建VPN服务

安全HTTP--HTTPS

Published on February 16, 2017

我猜你十岁开始恋爱

Published on February 16, 2017