CentOS搭建OpenVPN服务

OpenVPN服务端配置

1. 安装OpenVPN软件包

默认的Centos软件源里面没有OpenVPN的软件包,我们可以添加rpmforge的repo,从而实现yum安装openvpn

针对CentOS 5

rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

针对CentOS 6

rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

安装完rpmforge的repo之后,执行yum命令安装OpenVPN

yum install -y openvpn

2. 生成OpenVPN需要的证书

使用easy-rsa脚本产生OpenVPN所需的CA证书、CA私钥、服务端证书、服务端私钥、客户端证书、客户端私钥
先将easy-rsa脚本copy到/etc/openvpn,并添加可执行权限

cp -R /usr/share/doc/openvpn-*/easy-rsa /etc/openvpn
cd /etc/openvpn/easy-rsa/2.0
chmod +x  *

然后使用easy-rsa的脚本产生证书

ln -s openssl-1.0.0.cnf openssl.cnf
. vars
./clean-all
./build-ca server
./build-key-server server
./build-key client
./build-dh

执行以上命令后将在/etc/openvpn/easy-rsa/2.0/keys/目录下产生对应的证书和秘钥,ls一下确认都已经生成,后面要用到。

ls /etc/openvpn/easy-rsa/2.*/keys/

3.生成OpenVPN服务端配置文件

编辑/etc/openvpn/server.conf文件,内容如下:

port        1194
proto       udp
dev         tun
ca          /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert        /etc/openvpn/easy-rsa/2.0/keys/server.crt
key         /etc/openvpn/easy-rsa/2.0/keys/server.key
dh          /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server      10.1.1.0 255.255.255.0
push        "redirect-gateway def1 bypass-dhcp"
push        "dhcp-option DNS 8.8.8.8"
log         /var/log/openvpn.log
keepalive   10 120
verb        3
client-to-client
comp-lzo
persist-key
persist-tun

4.开启OpenVPN服务

将openvpn设置为开机自启动的服务

chkconfig openvpn on

立即启动openvpn服务

/etc/init.d/openvpn start

如果OpenVPN启动失败,请查看OpenVPN的启动日志/var/log/openvpn.log。可能导致启动失败的原因:

  • 第3步使用easy-rsa生成的证书有问题,请重新按照第3步重新生成

5.服务端开启nat功能

客户端拨入OpenVPN后,默认网关会指向OpenVPN服务器,为了能使客户端可以上网,需要在服务端开启nat功能
首先,打开ip forward功能

sed -i ‘/net.ipv4.ip_forward/s/0/1/g‘ /etc/sysctl.conf
sysctl -w net.ipv4.ip_forward=1

然后,配置iptables snat

iptables -t nat -A POSTROUTING -s 10.1.1.0/255.255.255.0 -j SNAT --to-source SERVER_IP

将SERVER_IP替换为服务器的出口ip

OpenVPN客户端配置

好了服务端准备就绪,接下来开始客户端配置

对于Windows客户端

http://openvpn.se/download.html 下载gui版的OpenVPN,按照提示安装完成后,进入到安装目录,如D:\Program Files\OpenVPN。将Linux服务端使用easy-rsa产生的客户端证书、私钥和ca证书下载到本地。即需要下载到本地的文件如下:

/etc/openvpn/easy-rsa/2.0/keys/ca.crt       #ca证书
/etc/openvpn/easy-rsa/2.0/keys/client.crt   #客户端证书
/etc/openvpn/easy-rsa/2.0/keys/client.key   #客户端私钥

将这些文件下载到D:\Program Files\OpenVPN\config下。
编辑客户端OpenVPN配置文件client.ovpn,内容如下:

client
dev tun
proto udp
remote SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
redirect-gateway def1
route-method exe
route-delay 2

将SERVER_IP写成OpenVPN服务器的ip,然后打开OpenVPN的GUI,点击连接,完成OpenVPN拨入

时间: 2024-10-25 06:45:59

CentOS搭建OpenVPN服务的相关文章

docker核心技术分享搭建OpenVPN服务只需5分钟搞定!

OpenVPN是款开源的VPN服务软件, 大家可以在自己的服务器上部署.由于采用了非对称加密算法, 保证数据传输的安全, 不被恶意偷窥.但是部署过程中, 涉及很多文件(CRT+KEY). 稍不注意, 就会遗漏.借助于Docker, 就可以在短短5分钟之内, 搭建一个OpenVPN服务. 下载服务包 https://wfuzz.com/open/openvpn.tgz https://wfuzz.com/open/centos.tgz 导入服务包 gunzip  -c centos.tgz  |

centos 搭建 git 服务端和客户端

centos 搭建git需要设置远程服务端和客户端.远程代码存放在服务端,多个客户端可以共享和维护服务端代码. 一.服务端主机 1.创建ssh,大部分默认已经安装,有ssh就跳过 yum install openssh-server -y 2. 安装git yum -y install git-core 3.1 创建git用户 useradd git 3.2 设置密码 passwd git 4. git用户登录 su git 5. 初始化服务器端仓库 cd /home/gitgit init -

centos搭建samba服务

环境: CentOS release 6.8 (Final) Microsoft Windows XP [版本 5.1.2600] 一.windows为服务器端,Centos为客户机挂载samba服务 1.共享samba文件夹 2.本地测试共享是否开启 3.Centos安装客户端所需的软件 yum list | grep samba | wc -l #查看yum源有关samba关键字的安装包数量 yum install samba-client samba-common samba-winbin

centos搭建openvpn+mysql数据库认证

一服务器环境 1.系统版本 CentOS release 5.10 (Final) 64bits 2.软件版本 openvpn-2.3.6-1.el5 lzo-2.02-2.el5.1 lzo-devel-2.02-2.el5.1 easy-rsa-2.2.2-1.el5 pam-0.99.6.2-12.el5 pam-devel-0.99.6.2-12.el5 二配置服务器安装前环境 1.打开ip转发功能 echo "net.ipv4.ip_forward = 1">> 

Centos 搭建ngrok服务

什么是Ngrok Ngrok是一款用go语言开发的开源软件,它是一个反向代理.通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道.Ngrok可捕获和分析所有通道上的流量,便于后期分析和重放. 下图简述了Ngrok的原理 应用场景 用于对处在内网环境中,无外网IP的计算机的远程连接. Ngrok可以做TCP端口转发,对于Linux可以将其映射到22端口进行SSH连接.Windows的远程桌面可以将其映射到3389端口来实现.同理,如果要做MySQL的远程连接,只需映射3306端口即可.

搭建openvpn服务

这篇文章将一步一步的教会你如何在Ubuntu Server 14.04 LTS上安装OpenVPN.OpenVPN所在的主机可能是云上的一台VPS,一台在我们家里某台电脑上运行的虚拟机,或者是一个老到你都快忘了的设备. 第一步 准备系统 我们需要Ubuntu Server主机的一个命令行终端,比如通过SSH从远程访问它.首先需要更新它的本地仓库数据: [email protected]:~$ sudo apt-get update 进行操作系统和已安装的包的升级,输入: [email prote

CentOS 搭建openVPN

1.安装前准备 # 关闭selinux setenforce 0 sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config # 安装openssl和lzo,lzo用于压缩通讯数据加快传输速度 yum -y install openssl openssl-devel yum -y install lzo 2.安装及配置OpenVPN和easy-rsa [[email protected] ~]# yum install -y openss

Centos搭建FTP服务

1.安装并启动 FTP 服务 1.1 安装 VSFTPD 使用 yum 安装 vsftpd yum install -y vsftpd 1.2 启动 VSFTPD 安装完成后,启动 FTP 服务: service vsftpd start 启动后,可以看到系统已经监听了 21 端口: netstat -nltp | grep 21 此时,访问 ftp://192.168.1.170 可浏览机器上的 /var/ftp目录了. 2.配置 FTP 权限 2.1 了解 VSFTP 配置 vsftpd 的

Centos搭建Git服务端

首先需要安装git,可以使用yum源在线安装 yum install -y git 创建一个git用户,用来运行管理git服务 adduser git 初始化git仓库(这里我们选择/home/git/123.git来作为我们的git仓库) 记得先切换为git用户(su git),在/home/git目录下执行 git init --bare 123.git Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上