环境
- Ubuntu 16.04
安装
将下面代码保存为install.sh
#!/bin/bash
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" > /etc/apt/sources.list.d/mongodb-org-3.2.list
echo "deb http://repo.pritunl.com/stable/apt xenial main" > /etc/apt/sources.list.d/pritunl.list
tee -a /etc/yum.repos.d/mongodb-org-3.2.repo << EOF
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
EOF
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 42F3E95A2C4F08279C4960ADD68FA50FEA312927
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
apt-get --assume-yes update
apt-get --assume-yes upgrade
apt-get --assume-yes install pritunl mongodb-org
systemctl start pritunl mongod
systemctl enable pritunl mongod
其他操作系统可以在这里找到对应的安装脚本
然后通过运行脚本来进行安装
sudo bash install.sh
配置
- 安装完成后,服务会自动启动并监听在443端口,通过浏览器访问目标服务器的IP地址,浏览器会警告不是私密连接
just like this…
- 现在需要先设置一个给数据库的密钥,
ssh
连接到服务器输入命令pritunl setup-key
会得到一串密钥,复制下来,粘贴到上面的输入框,下面的数据库URI保持默认就可以了
如图
点击保存
接着进入到登录界面,初始用户名和密码都是
pritunl
- 然后会看到一个初始化界面
- 除了用户名和密码要及时改掉以外,其他的均可以保持默认
TIPS: 如果忘记了用户名或密码可以
ssh
连接到服务器后通过命令pritunl reset-password
来重置用户名和密码,重置后用户名和密码均为pritunl
要连接上
pritunl
的VPN服务器就需要设置organization, user和server在网页users界面点击 Add Organization 来添加一个organization,然后点击 Add User 来添加一个user
TIPS: Pin 就是后面客户端连接时的密码,Name就是用户名
然后就可以添加一个VPN服务器了,点到Servers界面,点击
Add Server
来添加一个服务器
刚添加完的服务器还不能启动,需要附加到一个organization上才可以启动- 点击
Attach Organization
将刚创建的服务器附加到organization上
- 点击
Start Server
启动服务
连接
配置完了服务端,现在开始进行客户端的连接
1. 客户端有两种选择一种是OpenVPN原生客户端,另外一种是Pritunl提供的客户端
2. 安装完客户端后,点击Users界面
点击下载配置文件
或者
从这些链接下载不同格式的配置文件,最后一个URI链接可以直接通过pritunl客户端导入配置文件
3. 右键OpenVPN客户端,导入配置文件
4. 导入刚刚下载的配置文件,导入成功后就可以连接了
当图标变绿的时候就是连接成功
一个小trick
单纯的OpenVPN用起来可能比较不稳定,丢包比较严重,如果你是用的CN2等路线的服务器的请忽视,这里介绍的是一个在 shadowsocks GitHub 上有简单提到一种增强方法(搭建 shadowsocks 的方法可以参考前面的shadowsocks安装配置 ),就是 OpenVPN over shadowsocks ,简单来说就是在让OpenVPN走一个本地的shadowsocks代理,由比较稳定的shadowsocks 来进行转发,以达到提高OpenVPN 稳定性的目的。
下面是过程
Setup OpenVPN and Shadowsocks (Python / Node.js) on your server.
Setup OpenVPN client and Shadowsocks(Python / Node.js) on your local machine.
Connect Shadowsocks.
Add these lines to your .ovpn file:
socks-proxy 127.0.0.1 1080
route SHADOWSOCKS_SERVER_IP 255.255.255.255 net_gatewayThen connect OpenVPN.
Notice: only versions that support UDP relay support this feature.
译:
在服务器端配置 OpenVPN 和shadowsocks(Python/Node.js)
在本地端配置 OpenVPN 和shadowsocks(Python/Node.js)
连接 shadowsocks
在OpenVPN的配置文件 *.ovpn中添加如下两行
socks-proxy 127.0.0.1 1080
route SHADOWSOCKS_SERVER_IP 255.255.255.255 net_gateway
然后连接OpenVPN
注意:只有支持UDP转发的版本才支持这个特性