阿里云搭建VPN

2018/10/16 VPN 阅读次数:

使用阿里云服务器搭建vpn服务器,访问谷歌

  • 香港服务器
  • ubuntu 16.0.4
  • pptpd

1.开始搭建,服务器首先是能ping通谷歌的

ping www.google.com

2.安装 pptpd,提供VPN服务

 sudo apt-get install pptpd

3.安装完后对其进行配置

vi /etc/pptpd.conf
找到logwtmp,将其注释掉
#logwtmp

# TAG: localip后增加2行
localip 172.31.211.192   # 这个ip是自己服务器内网ip
remoteip 172.31.211.0-200

vpn

4.分配账号和密码,用空格隔开

vi /etc/ppp/chap-secrets
# client server secret IP addresses
root  pptpd  123456  *

5.设置DNS解析,编辑pptpd-options文件

将下面的注释去掉
ms-dns 10.0.0.1
ms-dns 10.0.0.2

更改为:
ms-dns 8.8.8.8
ms-dns 8.8.4.4

6.开启转发:

vi /etc/sysctl.conf
取消注释
net.ipv4.ip_forward=1

vpn

7.更新配置:

sudo sysctl -p

8.安装iptables并设置

apt-get install iptables

sudo iptables -F
sudo iptables -t nat -A POSTROUTING -s 172.31.0.0/24 -o eth0 -j MASQUERADE
后面这句话作用是:立刻让LINUX支持NAT(platinum)

为防止重启服务器后iptables丢失,先运行 
iptables-save > /etc/iptables-rules 

然后修改文件vi /etc/network/interfaces ,最后面加入下面: 
pre-up iptables-restore < /etc/iptables-rules 

9.重新启动服务

/etc/init.d/pptpd restart

10.vpn服务器配置完毕,配置过程中出现了很多问题,刚开始连接不上,问题出现在第3步,vpn能连接上后,又不能上网,ping 8.8.8.8是不通的,这个问题出现在第8步,终于ok;

vpn

vpn

搭建L2TP VPN

  1. 安装:openswan
sudo apt-get install openswan

如果报错: Package openswan has no installation candidate

是没有源,请添加源,执行第二步
  1. 创建源文件
sudo vi /etc/apt/sources.list.d/lzu.list
  1. lzu.list中,加入一下源:
deb http://mirror.lzu.edu.cn/ubuntu/ precise main restricted universe multiverse
deb http://mirror.lzu.edu.cn/ubuntu/ precise-security main restricted universe multiverse
deb http://mirror.lzu.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
deb http://mirror.lzu.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse
deb http://mirror.lzu.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirror.lzu.edu.cn/ubuntu/ precise main restricted universe multiverse
deb-src http://mirror.lzu.edu.cn/ubuntu/ precise-security main restricted universe multiverse
deb-src http://mirror.lzu.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://mirror.lzu.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://mirror.lzu.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
  1. 更新一下
sudo apt-get update
  1. 安装 xl2tpd 并配置 IPSec 服务
sudo apt-get install xl2tpd
  1. 修改/etc/ipsec.conf配置文件
sudo vi /etc/ipsec.conf
  1. 修改文件/etc/ipsec.secrets
sudo vi /etc/ipsec.secrets

赋值下面的代码,将x.x.x.x改成服务器外网ip
x.x.x.x  %any: PSK "hellovpn"
  1. 保存后,命令行执行一下代码
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 > $each/accept_redirects
    echo 0 > $each/send_redirects
done
  1. 启动 IPSEC 服务并检测 IPSEC 是否正常工作
sudo /etc/init.d/ipsec start
#使用如下命令确认 ipsec 是否工作正常
sudo ipsec verify
#注意:只要没有Faild就可以了

出现错误,处理方法:

#错误1.Checking /bin/sh is not /bin/dash   [WARNING] 输入以下代码
sudo dpkg-reconfigure dash
#按英文提示,选择no


#错误2.pluto is running [FAILED]
sudo /etc/init.d/ipsec start


#错误3:NETKEY: Testing XFRM related proc values [FAILED]
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 > $each/accept_redirects
    echo 0 > $each/send_redirects
done


#错误4:Pluto listening for IKE on udp 500 [FAILED]
apt-get install lsof


#错误5:Hardware RNG detected, testing if used properly            [FAILED]
sudo apt-get install rng-tools

  1. 修改 /etc/xl2tpd/xl2tpd.conf 配置
sudo vi /etc/xl2tpd/xl2tpd.conf
[global]
ipsec saref = yes

[lns default]
# ip range是服务器内网ip段
ip range = 10.10.20.100-10.10.20.254
# local ip是服务器内网ip
local ip = 10.10.20.1
require chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

  1. 修改PPP配置
sudo vi /etc/ppp/options.xl2tpd
# 写入一下内容
refuse-mschap-v2
refuse-mschap
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
lock
hide-password
local
#debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
mtu 1404
mru 1404

  1. 添加用户
sudo vi /etc/ppp/chap-secrets

username * password *
  1. 设置转发
sudo vi /etc/sysctl.conf
#找到并去掉以下代码的#号
net.ipv4.ip_forward=1
# 配置生效
sysctl -p

14.允许gre协议以及1723端口、47端口

sudo iptables -A INPUT -p gre -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 47 -j ACCEPT 

  1. 开启NAT转发
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#注意填写eth0,不同机器是不一样的,可以在终端输入ifconfig来查看网卡联网以及网卡的名称
  1. 启动VPN
sudo /etc/init.d/xl2tpd restart 

Search

    Table of Contents