Ubuntu14.04 下搭建 VPN 服务
手里有一台海外 VPS,系统是 ubuntu 14.04 LTS,搭建个 VPN 方便看世界。
采用 PPTP
搭建 VPN,优点是配置简单快捷。步骤如下:
1. 第一步需要安装 PPTP,以用来提供 VPN 服务
sudo apt-get install pptpd
如果有问题的话比如提示找不到之类的,apt-get update
一下应该就可以了,然后再来一次就会自动完成安装。
2. 装好了之后我们需要进行配置一下以让它可以使用
sudo vim /etc/pptpd.conf
取消掉以下 2 行的注释:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
分别是通过 VPN 连接后主机和客户端所使用的 IP,可以自行修改,如果没有特殊要求,默认即可。注意这个 IP 在下面还会用的到。
3. 然后我们需要分配账号给自己使用
sudo vim /etc/ppp/chap-secrets
这个是用户列表文件,在里面添加账户按如下格式:
username pptpd "password" *
username
为你的用户名,password
为你的密码,密码用引号引起,最后的 *
号表示允许在任意 IP 连接到服务。
4. 至此服务弄好了
如果你 sudo service pptpd restart
一下,就应该已经能连接到该 VPN 了,但是连接了之后会发现还访问不了外网。然后我们需要让他能访问外网。首先,
sudo vim /etc/ppp/pptpd-options
找到 ms-dns
,取消掉注释,改成你喜欢的 DNS 比如 8.8.8.8,8.8.4.4。
5. 然后我们要开启内核IP转发。
sudo vim /etc/sysctl.conf
取消掉 net.ipv4.ip_forward=1
这一行的注释。
6. 然后我们需要安装 iptables,用来实现请求的 NAT 转发。
sudo apt-get install iptables
然后开启NAT转发。
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
192.168.0.0/24 是你在上面设置的 IP 段,让这个段转发。
注意 eth0
是你连接外网的那块网卡,不一定是 0 也有可能是 1 或者看你的机器哪块网卡连的外网了。这样就以 NAT 的方式请求外网的东西了。不知道你的机器哪块网卡连的外网的话 ifconfig
一下看看哪个网卡是外网 IP 就知道了。
7. 最后,我们需要重启服务,让配置生效。
sudo service pptpd restart
可能有点延迟,稍等一会连接 VPN,应该就可以去看世界了。
确定连接没有问题,正常访问外网后,有的时候,用了一段时间,可能服务出现故障,或者机器重启,pptp 没有启动,只需要执行一下
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
sudo service pptpd restart
就可以了。