天天看點

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程序與端口

公司内網openvpn部署

準備環境

編号 伺服器名稱 網卡名稱 網卡 定位
1号虛拟機 lan1 ens33 lan:10.2.2.1 内網主機
2号虛拟機 lan2 ens33 lan:10.2.2.2 中間主機vpn伺服器
ens34 NAT:192.168.15.144
3号虛拟機 lan3 ens33 lan:10.2.2.3 内網主機
4号虛拟機 window1 NAT:192.168.15.136 外網主機
公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

1号虛拟機 網絡配置

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

3号虛拟機 網絡配置

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

2号虛拟機 網絡配置  (openvpn伺服器需要2張網卡,一張負責連接配接内網,一張負責連接配接外網)

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

系統時間與硬體時間同步

[[email protected] ~]# crontab -l # 定時任務同步系統時間
[[email protected] ~]# crontab -e # 添加定時任務
*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1
[[email protected] ~]# ll /etc/localtime # 使用上海時間
lrwxrwxrwx. 1 root root 33 Mar 9 03:59 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
[[email protected] ~]# hwclock --show # 檢視硬體時間
Sun 03 May 2020 03:34:37 PM CST -0.614806 seconds
[[email protected] ~]# hwclock --systohc # 系統時間同步到硬體時間
說明:如果時間不同步,那麼VPN登入通路就可能存在問題。
           

安裝openvpn

安裝前置  查詢前置

rpm -q lz4-devel lzo-devel pam-devel openssl-devel systemd-devel sqlite-devel autoconf automake libtool libtool-ltdl
           
公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

安裝依賴

yum -y install lz4-devel lzo-devel pam-devel openssl-devel systemd-devel sqlite-devel autoconf automake libtool libtool-ltdl
           

如果無網,,在有網的虛拟機上下載下傳rpm,傳上去。 裝備2個安裝包  (EasyRSA-3.0.8.tgz,openvpn-2.5.0.tar.gz)都可以在github上下載下傳  

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

  開始安裝  tar xf openvpn-2.5.0.tar.gz

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

 cd openvpn-2.5.0  autoreconf -i -v -f

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口
./configure --prefix=/usr/local/openvpn --enable-lzo --enable-lz4 --enable-plugins --enable-port-share --enable-iproute2 --enable-pf --enable-plugin-auth-pam --enable-pam-dlopen --enable-systemd
           
公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口
公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

make && make install

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

建立軟連接配接 ln -s /usr/local/openvpn/sbin/openvpn /usr/local/sbin/openvpn

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

來到檔案配置端。 cd /usr/local/openvpn/lib/systemd/system/

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

  這裡使用[email protected] 檔案注冊服務端 cp -a /usr/local/openvpn/lib/systemd/system/open[email protected] /usr/lib/systemd/system/openvpn-tcp.service cp -a /usr/local/openvpn/lib/systemd/system/open[email protected] /usr/lib/systemd/system/openvpn-udp.service 複制2份到系統開機注冊下 修改服務使用的配置檔案對象。 vim openvpn-tcp.service ### 找到 ExecStart 這行,注釋改為如下 ExecStart=/usr/local/openvpn/sbin/openvpn --config server-tcp.conf

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

同理 udp的也改。 vim openvpn-udp.service

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

根據配置檔案,我們知道(WorkingDirectory在/etc/openvpn/server下面)需要有server-tcp.conf和server-udp.conf2個配置檔案 但是這個稍後再做。

生成證書(這裡需要一個專門的工具Easy-rsa)

easy-rsa下載下傳與配置修改

tar xf EasyRSA-3.0.8.tgz

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

根據 EasyRSA-3.0.8 /vars.example檔案生成全局配置檔案vars cp -a vars.example vars

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

需要修改的 # 國家 set_var EASYRSA_REQ_COUNTRY "CN" # 省 set_var EASYRSA_REQ_PROVINCE "SC" # 城市 set_var EASYRSA_REQ_CITY "LeShan" # 組織 set_var EASYRSA_REQ_ORG "yang" # 郵箱 set_var EASYRSA_REQ_EMAIL "[email protected]" # 擁有者 set_var EASYRSA_REQ_OU "yxl"   # 長度 set_var EASYRSA_KEY_SIZE 2048 # 算法 set_var EASYRSA_ALGO rsa   # CA憑證過期時間,機關天 set_var EASYRSA_CA_EXPIRE 36500 # 簽發證書的有效期是多少天,機關天 set_var EASYRSA_CERT_EXPIRE 36500

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

生成服務端和用戶端證書

初始化與建立CA根證書  1  ./easyrsa init-pki 初始化,會在目前目錄建立PKI目錄,用于存儲一些中間變量及最終生成的證書

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

  2 ./easyrsa build-ca 在這部分需要輸入PEM密碼 PEM pass phrase,輸入兩次,此密碼必須記住,不然以後不能為證書簽名。 還需要輸入common name 通用名(這裡不支援删除鍵),如: openvpen ,這個你自己随便設定個獨一無二的。

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

生成服務端證書 3 ./easyrsa build-server-full server nopass 密碼就是剛剛上面一步輸入的 為服務端生成證書對并在本地簽名。nopass參數生成一個無密碼的證書;在此過程中會讓你确認ca密碼

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

  4 ./easyrsa gen-dh 建立Diffie-Hellman,確定key穿越不安全網絡的指令,時間會有點長,耐心等待

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口
公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

生成用戶端證書 生成多個用戶端證書   ./easyrsa build-client-full client nopass # 無密碼,實際應用中不推薦,用戶端有密碼可提高安全性  //不推薦 不做測試 5  ./easyrsa build-client-full zhonghaoling # 讓你輸入密碼,後續VPN連接配接時會使用 為用戶端生成證書對并在本地簽名。nopass參數生成一個無密碼的證書;在此過程中都會讓你确認ca密碼

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

為了提高安全性,openvpn生成ta.key 6 openvpn --genkey secret ta.key 加強認證方式,防攻擊。如果配置檔案中啟用此項(預設是啟用的),就需要執行上述指令,并把ta.key放到/etc/openvpn/server目錄。配置檔案中服務端第二個參數為0,同時用戶端也要有此檔案,且client.conf中此指令的第二個參數需要為1。 【服務端有該配置,那麼用戶端也必須要有】

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

整理服務端證書 mkdir -p /etc/openvpn/server/ cp -a pki/ca.crt /etc/openvpn/server/ cp -a pki/private/server.key /etc/openvpn/server/ cp -a pki/issued/server.crt /etc/openvpn/server/ cp -a pki/dh.pem /etc/openvpn/server/ cp -a ta.key /etc/openvpn/server/

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

這些檔案都是openvpn伺服器需要的,用戶端使用者等下再整理

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

建立服務端配置檔案

參照openvpn-2.4.9/sample/sample-config-files/server.conf檔案

配置檔案參數說明

參考:openvpn-2.4.9/sample/sample-config-files/server.conf local 0.0.0.0 表示openvpn服務端的監聽位址   port 1194 監聽的端口,預設是1194   proto tcp 使用的協定,有udp和tcp。建議選擇tcp   dev tun 使用三層路由IP隧道(tun)還是二層以太網隧道(tap)。一般都使用tun   ca ca.crt cert server.crt key server.key dh dh2048.pem ca證書、服務端證書、服務端密鑰和密鑰交換檔案。如果它們和server.conf在同一個目錄下則可以不寫絕對路徑,否則需要寫絕對路徑調用   server 10.8.0.0 255.255.255.0 vpn服務端為自己和用戶端配置設定IP的位址池。 服務端自己擷取網段的第一個位址(此處為10.8.0.1),後為用戶端配置設定其他的可用位址。以後用戶端就可以和10.8.0.1進行通信。 注意:該網段位址池不要和已有網段沖突或重複。其實一般來說是不用改的。除非目前内網使用了10.8.0.0/24的網段。   ifconfig-pool-persist ipp.txt 使用一個檔案記錄已配置設定虛拟IP的用戶端和虛拟IP的對應關系, 以後openvpn重新開機時,将可以按照此檔案繼續為對應的用戶端配置設定此前相同的IP。也就是自動續借IP的意思。   server-bridge XXXXXX 使用tap模式的時候考慮此選項。   push "route 10.0.10.0 255.255.255.0" push "route 192.168.10.0 255.255.255.0" vpn服務端向用戶端推送vpn服務端内網網段的路由配置,以便讓用戶端能夠找到服務端内網。多條路由就寫多個Push指令   client-to-client 讓vpn用戶端之間可以互相看見對方,即能互相通信。預設情況用戶端隻能看到服務端一個人; 預設是注釋的,不能用戶端之間互相看見   duplicate-cn 允許多個用戶端使用同一個VPN帳号連接配接服務端 預設是注釋的,不支援多個客戶登入一個賬号   keepalive 10 120 每10秒ping一次,120秒後沒收到ping就說明對方挂了   tls-auth ta.key 0 加強認證方式,防攻擊。如果配置檔案中啟用此項(預設是啟用的) 需要執行openvpn --genkey --secret ta.key,并把ta.key放到/etc/openvpn/server目錄 服務端第二個參數為0;同時用戶端也要有此檔案,且client.conf中此指令的第二個參數需要為1。   cipher AES-256-CBC # 選擇一個密碼。如果在伺服器上使用了cipher選項,那麼您也必須在這裡指定它。注意,v2.4用戶端/伺服器将在TLS模式下自動協商AES-256-GCM。   compress lz4-v2 push "compress lz4-v2" openvpn 2.4版本的vpn才能設定此選項。表示服務端啟用lz4的壓縮功能,傳輸資料給用戶端時會壓縮資料包。 Push後在用戶端也配置啟用lz4的壓縮功能,向服務端發資料時也會壓縮。如果是2.4版本以下的老版本,則使用用comp-lzo指令   comp-lzo 啟用lzo資料壓縮格式。此指令用于低于2.4版本的老版本。且如果服務端配置了該指令,用戶端也必須要配置   max-clients 100 并發用戶端的連接配接數   persist-key persist-tun 通過ping得知逾時時,當重新開機vpn後将使用同一個密鑰檔案以及保持tun連接配接狀态   status openvpn-status.log 在檔案中輸出目前的連接配接資訊,每分鐘截斷并重寫一次該檔案   ;log openvpn.log ;log-append openvpn.log 預設vpn的日志會記錄到rsyslog中,使用這兩個選項可以改變。 log指令表示每次啟動vpn時覆寫式記錄到指定日志檔案中, log-append則表示每次啟動vpn時追加式的記錄到指定日志中。 但兩者隻能選其一,或者不選時記錄到rsyslog中   verb 3 日志記錄的詳細級别。   ;mute 20 沉默的重複資訊。最多20條相同消息類别的連續消息将輸出到日志。   explicit-exit-notify 1 當伺服器重新啟動時,通知用戶端,以便它可以自動重新連接配接。僅在UDP協定是可用   配置參數 -------------------------------------------------------------------------------------------- local 0.0.0.0 port 1115 proto tcp dev tun ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/server.crt key /etc/openvpn/server/server.key dh /etc/openvpn/server/dh.pem server 10.123.0.0  255.255.255.0 ifconfig-pool-persist ipp.txt push "route 10.2.2.0 255.255.255.0" ;client-to-client ;duplicate-cn keepalive 10 120 tls-auth /etc/openvpn/server/ta.key 0 cipher AES-256-CBC compress lz4-v2 push "compress lz4-v2" ;comp-lzo max-clients 1000 user nobody group nobody persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3 ;explicit-exit-notify 1         ------------------------------------------------------------------------------------------------------------------------ vim  server-tcp.conf 建立配置檔案

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

  local 0.0.0.0 port 1229 proto udp dev tun ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/server.crt key /etc/openvpn/server/server.key dh /etc/openvpn/server/dh.pem server 10.124.0.0  255.255.255.0 ifconfig-pool-persist ipp.txt push "route 10.2.2.0 255.255.255.0" ;client-to-client ;duplicate-cn keepalive 10 120 tls-auth /etc/openvpn/server/ta.key 0 cipher AES-256-CBC compress lz4-v2 push "compress lz4-v2" ;comp-lzo max-clients 1000 user nobody group nobody persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3 ;explicit-exit-notify 1 -------------------------------------------------------------------------------------------------------------------------------------- vim  server-udp.conf

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

注冊開機認證 systemctl enable openvpn-tcp.service systemctl enable openvpn-udp.service

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

啟動openvpn服務并檢視程序與端口

# systemctl start openvpn-tcp.service # ps -ef | grep 'open' nobody     1587      1  0 12:13 ?        00:00:00 /usr/local/openvpn/sbin/openvpn --config server-tcp.conf # systemctl status openvpn-tcp.service

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

ip address  同時也會新增一個網卡

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

同理啟動 systemctl start openvpn-udp.service

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

ip address

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

systemctl status openvpn-udp.service

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

用戶端client使用者配置檔案

備注:檔案名 windows為client.ovpn,Linux為client.conf 需要的證書與配置檔案如下圖: 下載下傳并安裝用戶端

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

使用者的配置檔案需要放到config下

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

建立使用者目錄存放使用者配置檔案

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

說明: 1、注意路徑,在OpenVPN/config目錄下建立了zhonghaoling目錄 2、ca.crt、 zhonghaoling .crt、 zhonghaoling .key、ta.key都是之前建立好的,隻有zhangsan.ovpn需要單獨下載下傳并修改。 整理客戶證書。 如果是公司給員工開通vpn,需要打包 ( ca.crt、 zhonghaoling .crt、 zhonghaoling .key、ta.key, zhonghaoling-tcp.ovpn,zhonghaoling-udp.ovpn ) 發給員工。 員工隻需要安裝用戶端,放入配置檔案即可,不要把過多複雜的操作交給員工 cd /home/EasyRSA-3.0.8 mkdir /opt/zhonghaoling cp -a pki/ca.crt /opt/zhonghaoling/ cp -a pki/issued/zhonghaoling.crt /opt/zhonghaoling/ cp -a pki/private/zhonghaoling.key /opt/zhonghaoling/ cp -a ta.key /opt/zhonghaoling/

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

  首先這個使用者是用window連接配接的 來到目錄下 cd /opt/zhonghaoling/ 建立用戶端配置檔案 vim zhonghaoling-tcp.ovpn client dev tun proto tcp remote 192.168.15.144 1115 resolv-retry infinite nobind ;user nobody ;group nobody persist-key persist-tun ca ca.crt cert zhonghaoling.crt key zhonghaoling.key remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC compress lz4-v2 verb 3 ;mute 20

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

  繼續建立一份udp的 vim zhonghaoling-udp.ovpn -------------------------------------------------------------------------------------------------------------------------------- client dev tun proto udp remote 192.168.15.144 1229 resolv-retry infinite nobind ;user nobody ;group nobody persist-key persist-tun ca ca.crt cert zhonghaoling.crt key zhonghaoling.key remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC compress lz4-v2 verb 3 ;mute 20

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

配置檔案參數說明

參考:openvpn-2.4.9/sample/sample-config-files/client.conf # 檔案名 windows為client.ovpn,Linux為client.conf   client # 辨別這是個用戶端   dev tun # 使用三層路由IP隧道(tun)還是二層以太網隧道(tap)。服務端是什麼用戶端就是什麼   proto tcp # 使用的協定,有udp和tcp。服務端是什麼用戶端就是什麼   remote 10.0.0.190 1194 # 服務端的位址和端口   resolv-retry infinite # 一直嘗試解析OpenVPN伺服器的主機名。 # 在機器上非常有用,不是永久連接配接到網際網路,如筆記本電腦。   nobind # 大多數客戶機不需要綁定到特定的本地端口号。   ;user nobody ;group nobody # 初始化後的降級特權(僅非windows)   persist-key persist-tun # 嘗試在重新啟動時保留某些狀态。   ca ca.crt cert client.crt key client.key # ca證書、用戶端證書、用戶端密鑰 # 如果它們和client.conf或client.ovpn在同一個目錄下則可以不寫絕對路徑,否則需要寫絕對路徑調用   remote-cert-tls server # 通過檢查certicate是否具有正确的密鑰使用設定來驗證伺服器證書。   tls-auth ta.key 1 # 加強認證方式,防攻擊。服務端有配置,則用戶端必須有   cipher AES-256-CBC # 選擇一個密碼。如果在伺服器上使用了cipher選項,那麼您也必須在這裡指定它。注意,v2.4用戶端/伺服器将在TLS模式下自動協商AES-256-GCM。   compress lz4-v2 # 服務端用的什麼,用戶端就用的什麼 # 表示用戶端啟用lz4的壓縮功能,傳輸資料給用戶端時會壓縮資料包。   verb 3 # 日志級别   ;mute 20 # 沉默的重複資訊。最多20條相同消息類别的連續消息将輸出到日志。 最後 檢視檔案

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

打包發給員工  zip -r  zhonghaoling.zip zhonghaoling/

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

zip給用戶端

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

啟動openvpn

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

看見2個連接配接 首先确定openvpn伺服器對應端口開啟

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

tcp連接配接能用 能用内網ip登入和外網ip登入openvpn伺服器

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口
公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

udp連接配接能用

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

到了這裡意味着成功了一半。 第一步測試網絡能否通10.2.2.1

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

這裡網絡不通。需要開啟轉發功能   開啟轉發功能并生效 修改配置 grep 'net.ipv4.ip_forward = 1' /etc/sysctl.conf || echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf 使其生效 sysctl -p

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

原因:從用戶端通路web01或web02機器需要通過VPN機器中轉。

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

現在能ping通,但是還是無法用ssh登陸 原因是請求後的資料包無法找到網絡傳回回來,需要手動指定資料包傳回路徑 這裡需要停止防火牆,去除開機啟動,用 iptables規則。這裡經測試firewall無法使用該規則 systemctl stop firewalld systemctl disable firewalld

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

  iptables配置 隻需添加配置,不需要啟動iptables服務 添加規則 iptables -t nat -A POSTROUTING -s 10.123.0.0/24 -o ens33  -j MASQUERADE 永久儲存 iptables-save > /etc/sysconfig/iptables 查詢規則 iptables -L -n -t nat

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

原因:用戶端連接配接VPN後,預設配置設定的10.123.0.0/24網段位址,不能直接擷取web01或web02機器【這兩台是10.2.2.0/24網段】傳回的資料包,是以需要在iptables進行nat配置。 删除上面的iptables配置資訊指令如下。作用:對比正常的通路和異常的通路 iptables -t nat -D POSTROUTING 1   現在可以進行通路了

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

接下來就是另一台Linux做用戶端 安裝步驟,如服務端一樣   tar xf openvpn-2.5.0.tar.gz   cd openvpn-2.5.0   autoreconf -i -v -f   ./configure --prefix=/usr/local/openvpn --enable-lzo --enable-lz4 --enable-plugins --enable-port-share --enable-iproute2 --enable-pf --enable-plugin-auth-pam --enable-pam-dlopen --enable-systemd   make && make install   ln -s /usr/local/openvpn/sbin/openvpn /usr/local/sbin/openvpn   cp -a /usr/local/openvpn/lib/systemd/system/openvpn[email protected] /usr/lib/systemd/system/openvpn-client.service    vi /usr/lib/systemd/system/openvpn-client.service 修改指向配置檔案

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

mkdir -p /etc/openvpn/ 将用戶端生成的客戶配置檔案傳到該伺服器解壓

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口
公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

備注:檔案名 windows為wangwu.ovpn,Linux為wangwu.conf cp -a zhonghaoling-tcp.ovpn zhonghaoling.conf 注冊開機服務 systemctl enable openvpn-client.service 啟動服務 systemctl start openvpn-client.service 這裡會報提示 Broadcast message from [email protected] (Wed 2021-01-06 22:36:04 CST):   Password entry required for 'Enter Private Key Password:' (PID 16008). Please enter password with the systemd-tty-ask-password-agent tool!

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

這裡告訴你需要使用systemd-tty-ask-password-agent( 列出或處理目前正在等待中的系統密碼請求)對其輸入使用者密碼, 如果跳過,每隔1分鐘又會提示輸入密碼 直接複制上面的提示,然後會輸入密碼 systemd-tty-ask-password-agent

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

ip address

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

就可以看見配置設定的位址了 先ping一下 内網伺服器

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

可以看見可以ping通了 然後我們登陸一下

公司内網openvpn部署,公司内網openvpn部署安裝openvpn生成證書(這裡需要一個專門的工具Easy-rsa)建立服務端配置檔案啟動openvpn服務并檢視程式與端口

發現也可以登入了。   這裡udp的連接配接就不配置了 ,     這裡有個很迷的操作  1---如何保留firewall的情況下openvpn伺服器生效 2----udp無法立即生效,需要等待十幾分鐘才會生效,允許udp連接配接                        end 參照  http://www.zhangblog.com/2020/05/09/openvpn01/