记一次搭建 OpenVPN 过程

之前公司的 VPN 都是使用路由器上自带的 VPN 功能,速度慢不说,能连上的几率就跟中彩票一样,为了做开发的同志们回家也能继续安心工作,于是在公司内部的一台服务器上搭建了一个 OpenVPN,通过路由器的端口映射,将服务器的 1194 端口映射到公网上,以下是 OpenVPN 的搭建过程。

1、安装前准备

  • 关闭 selinux

setenforce 0
sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
  • 安装 openssllzolzo 用于压缩通讯数据,加快数据的传输速度

yum -y install openssl openssl-devel
yum -y install lzohell
  • 安装 epel

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo

2、安装及配置 OpenVPN 和 easy-rsa

  • 安装 openvpneasy-rsa

yum -y install openvpn easy-rsa
  • 修改 vars 文件

cd /usr/share/easy-rsa/2.0/
vim vars
vars
# 修改注册信息,比如公司地址、公司名称、部门名称等。
export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="xianda365"
export KEY_EMAIL="[email protected]"
export KEY_OU="Tech"
  • 初始化环境变量

  • 清除 keys 目录下所有与证书相关的文件

下面步骤生成的证书和密钥都在 /usr/share/easy-rsa/2.0/keys 目录里

  • 生成根证书 ca.crt 和根密钥 ca.key(一路按回车即可)

  • 服务端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)

  • 客户端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)

  • 创建迪菲·赫尔曼密钥,会生成 dh2048.pem 文件(生成过程比较慢,在此期间不要去中断它)

  • 生成 ta.key 文件(防 DDos 攻击、UDP 淹没等恶意攻击)

3、创建服务器端配置文件

  • 在 openvpn 的配置目录下新建一个 keys 目录

  • 将需要用到的 openvpn 证书和密钥复制一份到刚创建好的 keys 目录中

  • 复制一份服务器端配置文件模板 server.conf/etc/openvpn/

  • 查看 server.conf 里的配置参数

  • 编辑 server.conf

4、配置内核和防火墙,启动服务

路由转发功能由 iptables 服务实现,不可将 iptables 服务关闭。

  • 开启路由转发功能

  • 配置防火墙

  • 启动 openvpn 并设置为开机启动

5、创建客户端配置文件

  • 创建 client 文件夹,复制一份 client.conf 模板命名为 client.ovpn

将之前生成的客户端证书、密钥一起复制到此文件夹中

  • 编辑 client.ovpn

  • client 文件夹打包为 client.zip 供客户端使用

Last updated

Was this helpful?