1. 程式人生 > >linux下openvpn搭建

linux下openvpn搭建

實驗環境
system:centos 6.5
hostname:openvpn-server
ip:192.168.1.236

[[email protected] ~]# yum -y install openssl openssl-devel gcc
1.安裝lzo
注:lzo,用於壓縮隧道通訊資料以加快傳輸速度。
[[email protected] opt]# tar zxf lzo-2.03.tar.gz 
[[email protected] opt]# cd lzo-2.03
[[email protected] lzo-2.03]# ./configure --prefix=/usr
[

[email protected] lzo-2.03]# make && make install
2.安裝openvpn
[[email protected] opt]# tar zxf openvpn-2.0.9.tar.gz 
[[email protected] opt]# cd openvpn-2.0.9
[[email protected] openvpn-2.0.9]# ./configure --with-lzo-lib=/usr
[[email protected] openvpn-2.0.9]# make && make install
3.openvpn服務端配置
[
[email protected]
openvpn-2.0.9]# vi /opt/openvpn-2.0.9/easy-rsa/2.0/vars 
export KEY_COUNTRY=CN                 #國家
export KEY_PROVINCE=GD                #所屬省份
export KEY_CITY=Shenzhen              #所在城市
export KEY_ORG="Kimvpn"               #所屬組織,CA證書也會根據這個生成
export KEY_EMAIL="[email protected]"        #郵箱,可任意填寫
[
[email protected]
openvpn-2.0.9]# source /opt/openvpn-2.0.9/easy-rsa/2.0/vars   #使修改的變數生效
NOTE: when you run ./clean-all, I will be doing a rm -rf on /root/keys
4.openvpn配置
[[email protected] ~]# cd /opt/openvpn-2.0.9/easy-rsa/2.0
[[email protected] 2.0]# ./clean-all         #清除所有openvpn的證書檔案
[[email protected] 2.0]# ./build-ca          #生成ca證書

wKioL1S7caTz-RiAAAKzbqlIUDs538.jpg

[[email protected] 2.0]# ls -lsart keys |grep ca
4 -rw------- 1 root root  916 Jan  8 12:12 ca.key
4 -rw-r--r-- 1 root root 1220 Jan  8 12:12 ca.crt
[[email protected] 2.0]# ./build-dh           #生成 dh1024.pem  檔案

wKiom1S7cOPgrk8OAAI6nld7ek4715.jpg

為伺服器生成證書和金鑰
[[email protected] 2.0]# ./build-key-server Kimvpn

wKioL1S7ccHh4RzUAAIS3Wk0_2Q356.jpg

wKiom1S7cPCxlFHUAAI5EpKzEfQ721.jpg

為客戶端生成客戶端證書檔案,本文用到了client1和client2兩個使用者為例。
[[email protected] 2.0]# ./build-key client1

wKioL1S7cc-Sq-foAAKAaHip5Fs919.jpg

wKiom1S7cP7CxLGeAAKzKpEFsCY199.jpg

[[email protected] 2.0]# ./build-key client2  #操作同上
[[email protected] 2.0]# ls -lsart keys

wKioL1S7ceLAWR3vAAM0i0sF0Ow278.jpg

修改openvpn伺服器的配置檔案/etc/server.conf
[[email protected] 2.0]# cp -p /opt/openvpn-2.0.9/sample-config-files/server.conf /etc/server.conf
[[email protected] 2.0]# vi /etc/server.conf   #修改配置為如下內容
proto tcp       #將proto udp改成 proto tcp,即啟用tcp埠。
ca /opt/openvpn-2.0.9/easy-rsa/2.0/keys/ca.crt
cert /opt/openvpn-2.0.9/easy-rsa/2.0/keys/Kimvpn.crt
key /opt/openvpn-2.0.9/easy-rsa/2.0/keys/Kimvpn.key  
dh /opt/openvpn-2.0.9/easy-rsa/2.0/keys/dh1024.pem

log        /var/log/openvpn.log     #開啟日誌

server 192.168.2.0 255.255.255.0    #openvpn服務端為vpn客戶端分配的網段,注意不要與公司真實網段發生衝突。
verb 5
[[email protected] 2.0]# echo "1" > /proc/sys/net/ipv4/ip_forward   #開啟ip轉發,保證資料包在不同網段之間流通。
[[email protected] ~]# /usr/local/sbin/openvpn --config /etc/server.conf &    #啟動vpn,加入後臺執行
[[email protected] ~]# netstat -anpt |grep openvpn
tcp        0      0 0.0.0.0:1194                0.0.0.0:*                   LISTEN      51774/openvpn    

5.客戶端配置

wKiom1S7cS3zb3xCAAGFYeI6OaA071.jpg

wKiom1S7cS3zusRvAAH6Wi-25zs371.jpg

wKioL1S7cf_yHlkgAAG4UhzM0So958.jpg

wKiom1S7cS7D8UtGAAFjDGu7Ysg351.jpg

wKioL1S7cf-ws4ueAAJo4dYhY5s532.jpg

wKiom1S7cS_xlR0TAAFIKqxRE48727.jpg

登陸到linux端openvpn伺服器上,將/opt/openvpn-2.0.9/sample-config-files目錄下的cleint.conf

檔案下載到windows端vpn客戶端機器上,放到C:\\Program Files (x86)\\OpenVPN\\config目錄下,重新命名為client.ovpn ,將/opt/openvpn-2.0.9/easy-rsa/2.0/keys目錄下的ca.crt ,client1.crt ,client1.key三個檔案下載到windows端vpn客戶端機器上,放到C:\\Program Files (x86)\\OpenVPN\\config目錄下。

wKioL1S7chGTYny2AAGwdTDH9lY499.jpg

編輯C:\\Program Files (x86)\\OpenVPN\\config目錄下的client.ovpn檔案

proto tcp      #將proto udp改成proto tcp

remote 192.168.1.236 1194   

ca ca.crt
cert client1.crt
key client1.key

#comp-lzo   #註釋comp-lzo

6.客戶端連線vpn

點選windows右下角的OpenVPN GUI圖示,選擇connect。

wKioL1S7cjDR0jp7AAEV2NwSR34072.jpg

wKiom1S7cV_R4Sb-AADyKk74-vQ888.jpg

wKioL1S7cjCCZztnAAH2ZDyf-1M313.jpg

由上圖可見,客戶端已經獲取到vpn-server分配的ip地址。

7.登出vpn使用者

注:由於vpn用在企業中,vpn的服務端會為每個vpn客戶端建立證書檔案,如果有同事離職,需要登出使用者,例client1使用者:

[[email protected] ~]# cd /opt/openvpn-2.0.9/easy-rsa/2.0/

[[email protected] 2.0]# ./revoke-full client1

Please source the vars script first (i.e. "source ./vars")
Make sure you have edited it to reflect your configuration.

提示以上資訊需做一下操作

[[email protected] 2.0]# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /opt/openvpn-2.0.9/easy-rsa/2.0/keys

然後在執行登出

[[email protected] 2.0]# ./revoke-full client1

wKiom1S7cfezsgGuAALEmbLmZ3Y069.jpg

 注:出現以上錯誤正常,這是openvpn自身的bug,解決方法如下

[[email protected] 2.0]# vi /opt/openvpn-2.0.9/easy-rsa/2.0/openssl.cnf

wKiom1S7csPSqnoaAADAMTZrkyE353.jpg 再次執行登出

[[email protected] 2.0]# ./revoke-full client1

wKioL1S7dDyyBMUhAAE8oTyb6hU981.jpg

 如上圖,出現error23字樣,表示登出成功,不過你會發現這個證書任然能登陸,原因是上面的操作在keys下產生了crl.pem檔案,裡面就是登出掉的證書。也就是說相關證書還未完全登出,需做以下操作:

[[email protected] 2.0]# vi /etc/server.conf

crl -verify /opt/openvpn-2.0.9/easy-rsa/2.0/keys/crl.pem      #新增本行內容

重啟openvpn,發現客戶端已經不能登陸vpn了。

相關推薦

linuxopenvpn搭建

實驗環境 system:centos 6.5 hostname:openvpn-server ip:192.168.1.236 [[email protected] ~]# yum -y install openssl openssl-devel gcc 1.安裝lzo 注:lzo,用於壓縮

LinuxDockerfile搭建lnmp(目前只有n和p)

docker# 一:環境準備centos7.4以及搭建好的Docker [root@node01 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)[root@node01 ~]# docker -vDocker version

linux tftpf搭建

 什麼是TFTP服務 TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協議)   是TCP/IP協議族中的一個用來在客戶機與伺服器之間進行   簡單檔案傳輸的協議,它基於UDP協議實現。提供不復雜、   開銷

Linux部署搭建Keepalived+LVS負載均衡實戰

1.1 LVS簡介     LVS(Linux Virtual Server),也就是Linux虛擬伺服器, 是一個自由軟體專案。使用LVS技術要達到的目標是:通過LVS提供的負載均衡技術和Linux作業系統實現一個高效能、高可用的伺服器群集,它具有良好可靠性、可擴充套件性和可

Linuxftp搭建教程

在linux系統搭建一個vsftpd的ftp伺服器 1.檢查ftp是否已安裝 #rpm –qa | grep vsftpd 2.安裝vsftpd #yum install vsftpd -y 3.啟動服務  使用vsftpd軟體,主要包括如下幾個命令: 啟動ft

Linux伺服器搭建SVN

系統環境:Centos 7 第一步:通過yum命令安裝svnserve,命令如下: >yum -y install subversion 此命令會全自動安裝svn伺服器相關服務和依賴,安裝完成會自動停止命令執行 若需檢視svn安裝位置,可以用以下命令: >rpm -q

Linux搭建STM32的開發環境,非st官方工具

目錄 一、概述   1.目的 一、概述 1、目的   MDK+Jlink的開發環境集編譯、下載、除錯為一體,配合上友好的操作介面,給使用者者提供了很Happy的開發工具。但是,曾經玩過Linux系統的人總想嘗試對開發環境的一次搬移,轉戰到Li

【Informatica從零開始】第一彈之Informatica在linux安裝搭建

安裝介質清單準備 介質名稱 版本資訊 描述 Informatica Powercenter 9.5.1 for Linux 64 bit 必須 Java Jdk 1.6.

Linuxsmb搭建

                       一、安裝Samba服務 yum -y install samba # 檢視yum源中Samba版本 yum lis

linux 快速搭建python3 環境

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0a4.tgz tar -zxvf Python-3.7.0a4.tgz cd

LinuxPPTPD搭建VPN伺服器連線後無法上外網及619錯誤的解決辦法

最近在搭建VPN伺服器時卻遇到了困難 先是出現619錯誤,接著是連線後無法上外網 下面一一給出解決辦法 解決619錯誤 619錯誤的原因有很多,下面給出原因列表,供大家排查 1、logwtmp衝突 解決:編輯 /etc/pptpd.conf,找到logwtmp用#註釋掉

Linux快速搭建DNS伺服器

二、實施步驟:1、下載bind9.7程式安裝包2、解壓縮tar包tar -zxvf bind-9.7.4-P1.tar.gz3、cd bind-9.7.4-P1 執行./configure檢查執行環境發現未找到openssl4、檢查是否安裝了openssl程式rpm -qa|grep "open*"5、檢查到

linuxnfs搭建

安裝nfs服務 服務主要的任務是把本地的一個目錄通過網路匯出去,可供其他計算機可以遠端訪問該目錄。 步驟: 1、檢測電腦是否安裝    sudo dpkg -s nfs-kernel-server  2、安裝    sudo apt-get istall nfs-kernel-server  3、需要修改nf

ACE在LINUX環境搭建的一個小問題及處理

昨天下午在Ubuntu下搭建ACE環境。 在做完環境變數設定,建立config.h後,按照安裝說明進行make.一段時間後提示瞭如下錯誤,並終止了make. /usr/local/ACE_wrappers/apps/gperf/tests/test.cpp:28: unde

Linux安裝搭建WordPress網站

WordPress簡介     WordPress 是一種使用 PHP語言和 MySQL資料庫開發的開源、免費的Blog(部落格,網誌)引擎,使用者可以在支援 PHP 和 MySQL 資料庫的伺服器上建立自己的 Blog。WordPress 是一個功能非常強大 的部落格系統

GitLab篇之Linux環境搭建

外部 x文件 cal href 兼容 遠程 站點 python 多說 之前公司一直在使用微軟的VSS和SVN做為源代碼管理工具,考慮到VSS和SVN的局限性,個人一直建議我們應該采用Git來管理我們的源代碼。Git的好處不多說相信大家也都知道的。Git不僅僅是

Linux環境搭建(二)——jenkins+gitlab配置

 配置jenkins+gitlab環境,需要依託java環境,在之前的博文中,已配置好java環境,所以可以直接搭建這兩個工具的環境即可。 jenkins配置 jenkins的配置方法,在之前windows下搭建的方式一樣,可以採用安裝包的方式安裝,也可以使用web應用方式安裝。web應用方式需

Linuxnagios的搭建及相關配置

linux下nagios的搭建及相關配置一、LAMP環境部署1、安裝php 1.安裝yum源 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpm

linux搭建rocketmq(附服務腳本)

linux mq rocketmq rocketmq腳本 此文檔安裝的是rocketmq當前最新版本rocketmq v4.0.0,當時阿裏已經把rocketmq捐贈給了apache組織,為什麽要特別指明這一點,因為在下載、安裝和服務腳本中有個別不同的地方。這是本人第一篇博客,如果排版不是很清

LinuxHadoop2.7.1集群環境的搭建(超詳細版)

目錄 hdfs cp命令 manage war 替代 share logs hadoop 本文旨在提供最基本的,可以用於在生產環境進行Hadoop、HDFS分布式環境的搭建,對自己是個總結和整理,也能方便新人學習使用。 一、基礎環境 在Linux上安裝Hadoop之前