openvpn安裝配置過程

前言

    之前為了方便遠程辦公時訪問公司的內部系統,如:svn、OA、wiki、禪道等等;通通在防火墻上做了端口映射。然后有個內部系統被黑了,各種弱口令沒辦法。果斷關閉端口映射,看來還是得搭建個VPN服務器,vpn設備感覺大材小用。馬上就想到了開源的openvpn,下面就來介紹openvpn的安裝配置過程。

openvpn簡介

    官方網站:https://openvpn.net 打不開請爬墻

    openssl原理:http://www.www58058.com/archives/2704 參考書生的博客,哈哈

    openvpn原理:http://freeloda.blog.51cto.com/2033581/1354768 參考往期學員的博客,此處就不贅述了。

安裝配置步驟

    1、安裝openvpn軟件

    2、生成服務器證書

    3、修改主配置文件

    4、生成并簽署客戶端證書

    4、客戶端配置并連接

    

一、安裝openvpn軟件    

    安裝epel源

[root@qin ~]# rpm -ivh http://mirrors.zju.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm
Retrieving http://mirrors.zju.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

    安裝openvpn

 [root@qin ~]# yum -y install openvpn

    下載easyesa,創建CA、生成證書都需要它

[root@qin ~]# wget https://github.com/OpenVPN/easy-rsa/archive/master.zip 
[root@qin ~]# unzip master.zip
[root@qin ~]# mv easy-rsa-master/ /etc/openvpn

二、生成服務器證書

    先切換目錄到/etc/openvpn/easy-rsa-master/easyrsa3以便生成證書

cd.png

    pki目錄初始化,此動作會刪除pki目錄下所有證書及密鑰文件

initpki.png

    創建根證書,密鑰文件需要設置密碼保護,并指定一個名稱

buildca.png

    生成一個服務器端的證書請求文件,不需要密碼保護

gen-req.png

    簽署服務器端的請求證書,需要輸入根證書的密碼授權

sign-req.png

    生成 Diffie Hellman 參數

gen-dh.png

    查看服務器端生成的所有證書及密鑰文件

    treepki.png

    為方便查看及配置,把服務器端需要用到的證書及密鑰文件放到/etc/openvpn目錄下

cp.png

三、修改主配置文件,

    默認沒有主配置文件,需要從/usr/share/doc下復制一個模版文件過來

[root@qin ~]# cp /usr/share/doc/openvpn-2.3.6/sample/sample-config-files/server.conf /etc/openvpn
[root@qin ~]# vim /etc/openvpn/server.conf
local 192.168.18.42
port 2285
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key  # This file should be kept secret
dh /etc/openvpn/dh.pem
server 10.38.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;push "redirect-gateway def1 bypass-dhcp"     #啟用后,客戶端連接后所有上網請求都走VPN網關
push "route 192.168.0.0 255.255.0.0"
push "dhcp-option DNS 114.114.114.114"
keepalive 10 120
comp-lzo
max-clients 100
persist-key
persist-tun
status /var/log/openvpn-status.log
log         /var/log/openvpn.log
log-append  /var/log/openvpn.log
verb 3
[root@qin ~]# service openvpn start

    需要啟用路由轉發

[root@qin ~]# sysctl -w net.ipv4.ip_forward=1

  

    服務啟動后會生成一個VPN網關

ip.png

    在硬件防火墻上做端口映射后,openvpn就可以提供連接服務了

    服務器iptables沒啟動,此處略過,可以參考示例文件 /usr/share/doc/openvpn-2.3.6/sample/sample-config-files/firewall.sh

四、生成并簽署客戶端證書

    生成一個證書請求文件,在服務器端或客戶端都可以生成;設置密碼保護并指定一個名稱

[root@qin ~]# cp -r /etc/openvpn/easy-rsa-master/ /tmp
[root@qin ~]# cd /tmp/easy-rsa-master/easyrsa3/
[root@qin easyrsa3]# ./easyrsa init-pki

genclient.png

    導入客戶端證書請求文件

[root@qin ~]# cd /etc/openvpn/easy-rsa-master/easyrsa3/
[root@qin easyrsa3]# ./easyrsa import-req /tmp/easy-rsa-master/easyrsa3/pki/reqs/client1.req client1

    簽署客戶端證書,同樣,需要需要輸入根證書密碼授權

signclient.png

五、客戶端配置并連接

    到官網下載相應的軟件 https://openvpn.net/index.php/open-source/downloads.html

    默認會安裝到 C:\Program Files\OpenVPN 下

    下載根證書、客戶端證書、客戶端密鑰這三個文件,放到 C:\Program Files\OpenVPN\config下

/etc/openvpn/easy-rsa-master/easyrsa3/pki/ca.crt
/etc/openvpn/easy-rsa-master/easyrsa3/pki/issued/client1.crt
/tmp/easy-rsa-master/easyrsa3/pki/private/client1.key

    修改客戶端配置文件,默認沒有此文件,需要從 C:\Program Files\OpenVPN\sample-config\client.ovpn 復制一份到config目錄下

client
dev tun
proto udp
remote 192.168.18.42 2285 #指向openvpn服務器ip及端口
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt #指向證書,默認路徑無需指定
cert client1.crt
key client1.key
comp-lzo
verb 3

client.png

    注意:config目錄下沒有證書和配置文件時,軟件是不能使用的,如圖

vpn.png

    有配置文件和證書后,點擊connect并輸入client1.key的密鑰密碼后即可連接,如圖

vpn.png

寫的比較簡單,不要見怪哈~

原創文章,作者:秦,如若轉載,請注明出處:http://www.www58058.com/4114

(0)
秦
上一篇 2015-05-11 05:44
下一篇 2015-05-11 11:55

相關推薦

  • 位置變量$1,$2,$@,$*,$#詳解

    位置變量: 位置變量實際是屬于系統預定義變量的一種,不能修改變量名,同時作用也是固定的,也不能新增的變量,只能修改變量的值。     常用的位置參數變量        $0代表命令本身,$1-$9代表第一到第九個參數,十以上的參數需要用大括號括起來,比如${11}.     該變…

    Linux干貨 2016-08-18
  • Mariadb數據庫備份恢復系列(一):mysqldump邏輯備份工具實戰

    實驗一:利用mysqldump+二進制日志實現備份恢復數據庫 1、查看原始數據 2、mysqldump執行備份 3、模擬在備份后修改數據,模擬利用二進制日志還原的場景 4、還原mysqldump備份的數據 5、導出二進制日志的事件 6、還原二進制日志事件   

    Linux干貨 2016-11-24
  • Linux救援模式

        學習了Linux的啟動流程,為了加深理解,今天做了如下的實驗:刪除掉Linux系統在啟動過程中比較重要的幾個文件,查看啟動時出現的現象。加深對知識的理解。學習機器因為某些文件的缺失的修復方式。     一、刪除grub.conf    &nb…

    Linux干貨 2016-11-23
  • 創建用戶、用戶組

    創建用戶、用戶組                  1解釋Linux的安全模型   2解釋用戶帳號和組群帳號的目的   3用戶和組管理命令   4理解并設置文件權限 5默認權限 6特殊權限 …

    Linux干貨 2016-08-08
  • 文件管理和用戶組權限管理小結

    文件管理 文件系統結構 /boot: 引導文件存放目錄,內核文件,引導加載器都存放在此目錄 /bin:供所有用戶使用的基本命令,不能關聯至獨立分區,os啟動即會用到的程序 /sbin:管理類的基本命令:不能關聯至獨立分區,os啟動即會用到的程序 /etc:配置文件目錄 /home:普通用戶家目錄 /root:管理員的家目錄 /dev: 設備文件及特殊文件存儲…

    2017-07-23
  • 初識selinux

    一、selinux介紹     1.selinux歷史     SELinux: Secure Enhanced Linux,是美國國家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)開…

    Linux干貨 2016-09-21

評論列表(3條)

  • stanley
    stanley 2015-05-11 11:53

    不錯,可以嘗試下標題段落功能,樣式會更好

  • 風追海浪
    風追海浪 2015-05-22 09:33

    可以嘗試user/password驗證。

    • 秦
      2015-05-22 10:11

      @風追海浪嗯,已經實現了呢,server.conf加倆字段,取消私鑰認證,可以使用系統帳號登錄
      auth-user-pass-verify auth-pam.pl via-file
      client-cert-not-required

欧美性久久久久