Skip to content

OpenVPN 使用

Published: at 11:12 AM

背景:服务器都在云上,云服务器内部通过VPC内网通信,是个小型局域网。但有些服务需要对外提供访问,比如:GitLab、MySQL、Redis等。但这些服务又不能暴露在公网,于是我们需要一个VPN实现本地和服务器内网访问需求,OpenVPN 比较适合我们的需求。

网络大概如下图所示: OpenVPN 使用

服务端安装

https://github.com/hwdsl2/openvpn-install

wget -O openvpn.sh https://get.vpnsetup.net/ovpn

按照提示一步步安装,按默认UDP即可,不要使用默认端口号。

sudo bash openvpn.sh

客户端安装

安装好会生成客户端账户文件,比如 user1.ovpn,OpenVPN 提供了各个平台的客户端,对于 Windows 或 Mac 直接安装官方客户端,将账户配置文件拖进去即可使用。对于 Linux 客户端,以 Debian 为例:

安装

apt install openvpn

后台运行 vim openvpn-client.sh

#! /bin/bash

openvpn --config /data/user1.ovpn --daemon --log-append /var/log/openvpn.log
./openvpn-client.sh

路由配置

由于 OpenVPN 默认代理所有流量,而我们只需要云服务器相关地址走VPN。

编辑 user1.ovpn 添加如下2行,192.168.0.0只是示例IP,请替换为自己VPC IP地址。

# 所有路由都不走openvpn 仅192.168.0.0走,vpn_gateway表示走vpn
route-nopull
route 192.168.0.0 255.255.255.0 vpn_gateway