狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

告別繁瑣設置,用OpenVPN一鍵實現內網穿透與遠程辦公

admin
2024年8月23日 11:8 本文熱度 1084
今天帶大家學習一下,用OpenVPN輕松實現內網穿透,打造專屬安全遠程訪問通道。



01

在公有云搭建openvpn的服務端



# 安裝openvpn 

yum install openvpn



02

安裝Easy RSA套件




1、用于生成openVPN所需的密鑰,服務端和客戶端所需的證書和密鑰

# 下載Easy RSA源碼包

1、下載地址:

https://github.com/OpenVPN/easy-rsa/releases

2、下載源碼包

wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.1.2/EasyRSA-3.1.2.tgz

3、移動到固定位置

mv EasyRSA-3.1.2 /etc/openvpn/easy-rsa


2、修改配置文件

1、把vars.example樣例文件重命名為vars,然后編輯

2、搜索 set_var EASYRSA_CA_EXPIRE 設置證書有效期一年

3、搜索 set_var EASYRSA_CERT_EXPIRE 設置服務有效期


3、使用Easy RSA在服務端生成私鑰和證書

1、使用easyrsa清理原有證書和私鑰:             

                            ./easyrsa clean-all

2、生成CA根證書:./easyrsa build-ca                

                           這里輸入兩個根密碼,第三次回車即可 

3、證書生成位置               

                          /etc/openvpn/easy-rsa/pki/ca.crt

4、為OpenVPN服務端生成server證書和私鑰

1、使用nopass參數設置不需要密碼,那么在啟動OpenVPN服務的時候就不提示輸入密碼

                 ./easyrsa build-server-full server nopass

2、證書和密鑰的位置

                 服務端證書路徑:/etc/openvpn/easy-rsa/pki/issued/server.crt

                 服務端私鑰路徑:/etc/openvpn/easy-rsa/pki/private/server.key

3、生成Diffie-Hellman算法需要的密鑰文件: 

                 ./easyrsa gen-dh

4、生成tls-auth Key用于防止DDOS和TLS攻擊: 

                  openvpn --genkey --secret ta.key

5、ta.key路徑

                 /etc/openvpn/easy-rsa/ta.key




03

OpenVPN服務端配置


1、創建修改服務端配置文件

1、配置文件位置:/etc/openvpn/server/server.conf
vim /etc/openvpn/server/server.conf
======================================    BEGIN   ===========================================
port 1194                               #端口
dev tun                                 #采用路由隧道模式tun
ca ca.crt                               #ca證書文件位置
cert server.crt                         #服務端公鑰名稱
key server.key                          #服務端私鑰名稱
dh dh.pem                               #交換證書
auth SHA1
proto tcp
server 10.8.0.0 255.255.255.0           #給客戶端分配地址池,注意:不能和VPN服務器內網網段有相同
push "route 10.0.8.2 255.255.252.0"   #允許客戶端訪問內網10.0.8.2網段,我這里填了服務器內網IP和子網掩碼
client-to-client
verb 3                                  #openvpn版本
persist-key     #通過keepalive檢測超時后,重新啟動VPN,不重新讀取keys,保留第一次使用的keys。
persist-tun     #檢測超時后,重新啟動VPN,一直保持tun是linkup的。否則網絡會先linkdown然后再linkup
keepalive 10 120                        #存活時間,10秒ping一次,120 如未收到響應則視為斷線
max-clients 200                         #最多允許200個客戶端連接
ifconfig-pool-persist ipp.txt           #地址池記錄文件位置 維持客戶端和virtual ip的對應表,以便客戶端重連接連接也是相同IP
duplicate-cn    #和keys連接VPN,一定要打開這個選項,否則只允許一 個人連接VPN
script-security 3                                   #支持密碼認證-允許使用自定義腳本
auth-user-pass-verify /etc/openvpn/check.sh via-env #支持密碼認證-指定認證腳本
username-as-common-name                             #支持密碼認證-用戶密碼登陸方式驗證
======================================     END    ===========================================


2、編寫用戶認證腳本文件

1、腳本文件位置:/etc/openvpn/check.sh
vim /etc/openvpn/check.sh
======================================    BEGIN 寫入下面內容  ===========================================
#!/bin/bash
PASSFILE="/etc/openvpn/openvpnfile"   #密碼文件 用戶名 密碼明文
LOG_FILE="/var/log/openvpn-password.log"  #用戶登錄情況的日志
TIME_STAMP=`date "+%Y-%m-%d %T"`
if [ ! -r "${PASSFILE}" ]; then
   echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >> ${LOG_FILE}
   exit 1
fi
CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}'    ${PASSFILE}`
if [ "${CORRECT_PASSWORD}" = "" ]; then
   echo "${TIME_STAMP}: User does not exist: username=\"${username}\",password=\"${password}\"." >> ${LOG_FILE}
   exit 1
fi
if [ "${password}" = "${CORRECT_PASSWORD}" ]; then
   echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE}
   exit 0
fi
echo "${TIME_STAMP}: Incorrect password: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
exit 1  
======================================     END    ===========================================

2、給腳本可執行權限
chmod +x /etc/openvpn/check.sh


3、創建用戶密碼

1、文件密碼存儲文件位置:/etc/openvpn/openvpnfile
2、內容格式:每行對應一個賬號密碼
                 koten 1


4、移動相關密鑰文件啟動服務

1、拷貝私鑰、公鑰和證書等文件到server.conf同級目錄/etc/openvpn/server/下
注:需要拷貝的文件包括ca.crt、ca.key、server.crt、server.key、dh.pem、ta.key
cp /etc/openvpn/easy-rsa/pki/ca.crt
cp /etc/openvpn/easy-rsa/pki/private/ca.key
cp /etc/openvpn/easy-rsa/pki/issued/server.crt
cp /etc/openvpn/easy-rsa/pki/private/server.key
cp /etc/openvpn/easy-rsa/pki/dh.pem
cp /etc/openvpn/easy-rsa/ta.key

2、啟動服務:使用--config path 指定配置文件
openvpn --config server.conf

到這里我們的服務端就搭建好了,使用ifconfig可以看到我們的服務端已經給自己分配了一個10.8.0.1的虛擬IP


04

客戶端配置


1、安裝openVPn

# 安裝openvpn
yum install openvpn


2、在服務端生成客戶端的證書和私鑰,每個客戶端都要有自己的私鑰

1、在/etc/openvpn/easy-rsa/ 目錄下執行
./easyrsa build-client-full client nopass
注??:生成的時候需要輸入CA根證書的密碼
2、生成的證書位置
客戶端證書路徑:/etc/openvpn/easy-rsa/pki/issued/client.crt
客戶端私鑰路徑:/etc/openvpn/easy-rsa/pki/private/client.key
3、將生成的客戶端證書(client.crt)、私鑰(client.key),服務端根證書(ca.crt)、ta.key打包放到客戶端的 /etc/openvpn/client位置

3、創建/修改OpenVPN客戶端配置文件

1、編輯配置文件
client
dev tun
proto tcp
remote xx.xx.xx.xx 1194
ca ca.crt               #指定CA證書的文件路徑
cert client.crt         #指定當前客戶端的證書文件路徑
key client.key          #指定當前客戶端的私鑰文件路徑
nobind                  #不綁定本地特定的端口號
auth SHA1
resolv-retry infinite   #斷線自動重新連接,在網絡不穩定的情況下非常有用
verb 3                  #指定日志文件的記錄詳細級別,可選0-9,等級越高日志內容越詳細
persist-key     #通過keepalive檢測超時后,重新啟動VPN,不重新讀取keys,保留第一次使用的keys
persist-tun     #檢測超時后,重新啟動VPN,一直保持tun是linkup的。否則網絡會先linkdown然后再linkup
auth-user-pass pass.txt  #用戶密碼驗證
======================================     END    ===========================================


4、創建賬號密碼文件

1、/etc/openvpn/client下創建用戶密碼文件pass.txt:格式第一行賬號,第二行密碼,如:

                   張三

                 123456


5、啟動客戶端

# 啟動客戶端

1、openvpn --config client.conf

觀察下圖:已經為我們分配的對應的虛擬IP,通過這個IP在這個網段內的機器都可以互通了




05

在我們自己的電腦直接使用VPN訪問內網



分別配置在Windows和Mac上使用下載地址:https://openvpn.net/client/

1、Windows客戶端下載:

https://swupdate.openvpn.org/community/releases/OpenVPN-2.6.12-I001-arm64.msi

2、Mac客戶端下載

https://swupdate.openvpn.net/downloads/connect/openvpn-connect-3.4.9.4830_signed.dmg

3、以Mac為例

把上面說到的Easy RSA生成的服務器根證書ca.crt、客戶端私鑰clientpc.key、證書client.crt,和ta.key復制到一個目錄下面


然后新建一個client.ovpn文件

client
dev tun
proto tcp
remote 41.19.18.17 1194
ca ca.crt               #指定CA證書的文件路徑
cert client.crt         #指定當前客戶端的證書文件路徑
key client.key          #指定當前客戶端的私鑰文件路徑
nobind                  #不綁定本地特定的端口號
auth SHA1
resolv-retry infinite   #斷線自動重新連接,在網絡不穩定的情況下非常有用
verb 3                  #指定日志文件的記錄詳細級別,可選0-9,等級越高日志內容越詳細
persist-key     #通過keepalive檢測超時后,重新啟動VPN,不重新讀取keys,保留第一次使用的keys
persist-tun     #檢測超時后,重新啟動VPN,一直保持tun是linkup的。否則網絡會先linkdown然后再linkup
auth-user-pass pass.txt  #用戶密碼驗證


新建pass.txt 文件,與客戶端的賬號密碼規則一樣,第一行為賬戶,第二行密碼


點擊導入配置文件



這樣就連上了,觀察本地IP,發現為我們也分配了一個虛擬IP

在我們本地就可以隨意訪問內網網絡了。


該文章在 2024/8/26 10:27:43 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved