Ubuntu 14.04 LTS 搭建 VPN 服务器

来源:互联网 发布:js中使用contextpath 编辑:程序博客网 时间:2024/05/20 19:47
VPN 是什么?中文翻译叫做:虚拟专用网络。功能是,在公用网络上建立专用网络,进行加密通讯。

适用的场合:

1.你的公司网络在一个局域网,不能外部访问。有一天你外出度假了,想访问一下公司的内部网络,外网是不能直接访问的。如果公司的网络有一台主机设置了VPN,你就可以通过连上这台VPN主机,来访问公司内部网络啦。

2.如果你的主机是在国外,你可以在这台主机上配置VPN,然后你的电脑连上VPN之后就可以翻墙啦。

3.某台服务器(如游戏服务器)限制了一些IP连接到它上面,这时你配置VPN,连上VPN之后,就可以继续访问那台服务器咯。

一、安装 PPTP

PPTP 是一个协议,以用来提供 VPN 服务

sudo apt-get update

sudo apt-get install pptpd

二、修改配置文件

sudo vi /etc/pptpd.conf 

取消以下 2 行注释

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. localip 192.168.0.1    
  2. remoteip 192.168.0.234-238,192.168.0.245   

这几句的意思是:当外部计算机通过 PPTP 连接到 VPN 后所能拿到的 ip 地址范围和服务器的 ip 地址设置,ip 地址可以自行修改。

新建配置文件,可以不写,不写为默认

sudo vi /etc/ppp/options.pptpd

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. name pptpd                        #自行设定的VPN服务器的名字,可以任意    
  2. #refuse-pap                       #拒绝pap身份验证    
  3. #refuse-chap                      #拒绝chap身份验证    
  4. #refuse-mschap                    #拒绝mschap身份验证    
  5. require-mschap-v2                 #为了最高的安全性,我们使用mschap-v2身份验证方法    
  6. require-mppe-128                  #使用128位MPPE加密    
  7. ms-dns 8.8.8.8                    #设置DNS    
  8. ms-dns 8.8.4.4    
  9. proxyarp                          #启用ARP代理,如果分配给客户端的IP与内网卡同一个子网    
  10. #debug                            #关闭debug    
  11. lock    
  12. nobsdcomp    
  13. novj    
  14. novjccomp    
  15. #nologfd                          #不输入运行信息到stderr    
  16. logfile /var/log/pptpd.log        #存放pptpd服务运行的的日志    

三、添加账户

打开用户列表文件

sudo vi /etc/ppp/chap-secrets

添加账户

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. username  pptpd  "password"  *  

username  为你的用户名

password  为你的密码,密码用引号引起

* 表示允许在任意 IP 连接到服务 

四、设置DNS解析

sudo vi /etc/ppp/pptpd-options

找到ms-dns,取消掉注释,并修改 DNS 地址,全部添加或者添加部分

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. ms-dns 114.114.114.114  
  2. ms-dns 8.8.8.8  
  3. ms-dns 8.8.4.4  

五、开启内核 IP 转发

sudo vi /etc/sysctl.conf

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. net.ipv4.ip_forward=1  #去掉这一行的注释,这句话意思是:打开内核IP转发  

更新配置

sudo sysctl -p

六、开启 NAT 转发

需要安装iptables,用来实现请求的 NAT 转发

安装 iptables

sudo apt-get install iptables

开启 NAT 转发,立刻让LINUX支持NAT(platinum)

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

192.168.0.0/24是你在上面设置的IP段,让这个段转发 

七、重启服务

sudo service pptpd restart

八、客户端连接 VPN 服务器

1. 安装 VPN 客户端 

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <span style="font-size:14px;">sudo apt-get install pptp-linux</span>  

2. 命令行下拨号连接VPN服务器

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. sudo pptpsetup --create testvpn --server 192.168.1.138 --username Geek --password Geek --encrypt --start  

–create           是创建的连接名称,可以为任意名称;

–server           是 VPN 服务器的IP;

–username     是用户名

–password      是密码,在这也可以没这个参数,命令稍后会自动询问。这样可以保证账号安全

–encrypt         是表示需要加密,不必指定加密方式,命令会读取配置文件中的加密方式

–start              是表示创建连接完后马上连接,如果你不想连,就不写

3. 以后要连接VPN或断开VPN

pon testvpn     VPN 的“连接名称”

poff                  断开VPN连接

4. 全部流量走VPN通道

把下面两行加入 /etc/ppp/ip-up 中或者直接命令行输入也行,删除默认网关及把 VPN 服务器作为默认网关,也就是改变路由策略,把所以传输流量通过 VPN 线路来走。

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. route add default gw 192.168.0.1  
  2. route del default gw  


参考文章:https://yq.aliyun.com/articles/10515

http://blog.csdn.net/hiccupzhu/article/details/48177349

http://blog.csdn.net/efine_dxq/article/details/54562574

0 0