Pritunl + Openvpn 安装使用

1 Pritunl介绍

1.1 介绍

当今市场上有几种 VPN 服务器。pritun VPN 是 Pulse Secure 和 Aviatrix 等可用商业产品的最佳开源替代品之一。除了简单易用的图形界面。它提供了更多令人惊叹的功能,例如:

  • 无需注册即可免费使用。
  • 安装和配置简单
  • 它支持多种协议,因为它为客户端提供了与 OpenVPN 或 Wireguard 连接的选项
  • 它有一个 REST API,可以轻松地将 Pritunl 与其他服务集成和配置
  • 通过对客户端和服务器之间的所有流量进行加密,提供更高的安全性。还有一个可选的 Google 身份验证器两步验证。
  • 通过 VPC 对等连接支持多云站点到站点链接。VPC 对等连接适用于 AWS、Google Cloud、Azure 和 Oracle Cloud。
  • Pritunl 基于 MongoDB 构建,MongoDB 是一种可靠且可扩展的数据库,可以快速部署

1.2 Pritunl VPN 架构

Pritunl VPN 旨在在云中提供高度分布式和可扩展的基础设施,无需昂贵的硬件。Pritunl 使用客户端-服务器架构,其中服务器具有所有必需的 VPN 配置,并且客户端配置为使用客户端配置文件连接到它。
Pritunl VPN 可以作为单个服务器或多个服务器运行以实现高可用性和冗余系统以实现自动故障转移。此部署中的所有服务器都是相等的,没有主服务器,并且也可以在其他实例发生故障时独立运行。
下图表示一个简单的 Pritunl 架构
在这里插入图片描述

1.3 背景

服务端选择:pritunl (Linux)
客户端选择:openvpn (Windows)
openvpn的服务端限制为两个免费连接,而且下载有点麻烦。而pritunl 作为开源软件提供了与 OpenVPN 或 Wireguard 连接的选项,是一个很好的替代工具。

2 安装

2.1 安装Pritunl

1、Ubuntu apt安装

# 1、添加 Pritunl 和 MongoDB 存储库和公钥
## 现在在 Ubuntu 22.04 上添加 Pritunl 存储库。
sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb https://repo.pritunl.com/stable/apt jammy main
EOF
## 为存储库添加 GPG 密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
## 在 Ubuntu 22.04 上添加 MongoDB 存储库。
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-6.gpg
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

# 2、安装 Pritunl 和 MongoDB
## 使用上面添加的存储库,我们可以轻松地在 Ubuntu 22.04 上安装 Pritunl 和 MongoDB。实现此目的的命令如下所示:
sudo apt update && sudo apt install pritunl mongodb-org

安装完成后,启动并启用 Pritunl 和 MongoDB 服务:
sudo systemctl restart pritunl mongod
sudo systemctl enable pritunl mongod

在这里插入图片描述

# 获取密码,把密码填入上述图片中
sudo pritunl setup-key

# 更新之后出现如下界面:
# 使用如下命令生成用户名密码
sudo pritunl default-password
[local][2024-08-27 16:00:24,966][INFO] Getting default administrator password
Administrator default password:
  username: "pritunl"
  password: "XhZZtgt9Rzzs"

在这里插入图片描述
在这里插入图片描述

2、Docker安装

需要保证已经安装好 docker 和 docker-compose

# 1、为安装创建 docker-compose 文件。
cat > docker-compose.yml << EOF
version: '3'

services:
  mongo:
    image: mongo:latest
    container_name: pritunldb
    hostname: pritunldb
    volumes:
      - /usr/local/pritunl/db:/data/db
    ports:
      - 27017:27017

  pritunl:
    image: goofball222/pritunl:latest
    container_name: pritunl
    hostname: pritunl
    depends_on:
        - mongo
    privileged: true
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0
    links:
      - mongo
    volumes:
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 80:80
      - 443:443
      - 1194:1194
      - 1194:1194/udp
      - 1195:1195/udp
    environment:
      - TZ=EAT
EOF

mkdir -p /usr/local/pritunl/db

docker-compose up -d
docker-compose ps


# 2、管理 Pritunl 和 MongoDB 容器
为了让上述容器在系统启动时自动启动,我们需要创建一个 systemd 服务文件。
sudo vim /etc/systemd/system/pritunl_container.service
[Unit]
Description=Pritunl and MongoDB
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/docker-compose -f /usr/local/pritunl/docker-compose.yml up -d
ExecStop=/usr/local/bin/docker-compose -f /usr/local/pritunl/docker-compose.yml stop
StandardOutput=syslog
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

# 3、重新加载系统守护程序。
sudo systemctl daemon-reload
# 启动并使服务能够在启动时自动运行。
sudo systemctl start pritunl_container 
sudo systemctl enable pritunl_container


# 4、登录
# 获取密码
docker exec pritunl pritunl default-password
[local][2024-08-27 06:05:24,685][INFO] Getting default administrator password
Administrator default password:
  username: "pritunl"
  password: "QFQhI7Xou9NC"

在这里插入图片描述

3 使用

3.1 添加server

在这里插入图片描述
在这里插入图片描述
移除路由:0.0.0.0/0 是为了防止该vpn劫持所有网络。如果需要劫持所有流量,那就不要删除

3.2 添加路由

在这里插入图片描述

3.3 添加user

需要先添加 Organization
在这里插入图片描述
在这里插入图片描述
如果在添加路由时选了:Enable Google Authenticator ,在添加用户时需要填 Pin, 可以认为是用户的密码

在这里插入图片描述
在这里插入图片描述

3.4 在server中添加organization

相当于把 server 和用户绑定
在这里插入图片描述
在这里插入图片描述
记得一定要打开server
在这里插入图片描述

3.5 使用

1、下载 user文件

在这里插入图片描述

2、安装openvpn

openvpn客户端下载
在这里插入图片描述

下载后直接安装即可

3、部署vpn配置文件

上面下载user文件后就是需要的vpn配置文件
在这里插入图片描述
双击配置文件,并点击确认
在这里插入图片描述
在这里插入图片描述
发起连接并连接成功
在这里插入图片描述

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Windows系统上安装并配置OpenVPN,请按照以下步骤操作: ### 安装 OpenVPN **第一步:下载 OpenVPN** 访问 OpenVPN 的官方网站 (https://openvpn.net/) 下载适用于 Windows 系统的 OpenVPN 安装包。 **第二步:运行安装程序** 双击下载的 `.exe` 文件启动安装向导。 **第三步:完成安装** 根据提示选择默认选项进行安装即可。通常情况下,可以选择“典型”或“完全”安装,并允许添加到系统路径中以便于在命令行中直接使用 OpenVPN 工具。 ### 配置 OpenVPN 安装完成后,需要生成配置文件以及设置服务器和客户端证书等信息。以下是基本的配置过程: #### 创建 OpenVPN 配置文件 (`server.conf` 或 `client.conf`) 打开文本编辑器(如 Notepad++、Sublime Text 等),创建一个新的配置文件。下面是一个简单的示例配置用于创建一个本地服务器端口443的例子: ```plaintext dev tun proto tcp port 443 ca ca.crt cert server.crt key server.key dh dh2048.pem server 192.168.1.0 255.255.255.0 push "redirect-gateway def1 bypass-dhcp" keepalive 10 120 tls-auth ta.key 0 # This is the same as the name of your .key file without ".key" at the end. cipher AES-256-CBC auth SHA256 verb 3 ``` 这里,你需要替换上述示例中的 `ca.crt`, `server.crt`, `server.key`, 和 `ta.key` 文件名及内容。 #### 获取 SSL 证书 为了使服务器能够验证客户端身份并安全地连接,您需要获取或自动生成一对 CA (Certificate Authority) 和服务器证书。通常,这一步骤包括: 1. **生成 CA**:使用 OpenSSL 来生成 CA。 ```bash openssl genrsa -out ca-key.pem 2048 openssl req -x509 -new -nodes -key ca-key.pem -sha256 -days 3650 -out ca.crt ``` 2. **生成服务器证书和私钥**:基于您的域名或IP地址生成。 ```bash openssl genrsa -out server-key.pem 2048 echo "CN=localhost" | openssl req -new -sha256 -key server-key.pem -out server.csr openssl x509 -req -in server.csr -CA ca.crt -CAkey ca-key.pem -set_serial 01 -out server.crt ``` #### 验证配置文件 确认所有参数都已正确填写,并检查是否有语法错误。 #### 运行 OpenVPN 在命令行中输入以下命令开始服务器: ``` cd \path\to\your\openvpn\folder openvpn --config path\to\your\configuration_file.ovpn ``` 对于客户端,使用类似于的服务: ``` openvpn --config path\to\your\client_configuration_file.ovpn ``` ### 使用 OpenVPN - 对于服务器,确保其正在运行并且正确配置了网络规则以允许从外部设备连接。 - 对于客户端,通过将相应的配置文件指定给 `openvpn` 命令来进行连接。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值