如何在Centos 7安裝openVPN

我們將在Centos 7安裝及配置OpenVPN 服務,並共使用Windows Client連接OpenVPN。
OpenVPN是一個open source的VPN應用程式(服務),允許使用者通過Internet 安全的建立連線至Private Network。
詳細的介紹可以參考其官網:OPENVPN
事情準備:
  1. CentOS 7 環境
  2. root權限帳號
  3. 固定IP (如果有Domain或SubDomain是更好的選擇)
在安裝之前需要先安裝Extra Packages for Enterprise Linux (EPEL) repository,因為OpenVPN並不包含在CentOS的 repository,EPEL是一個很受歡迎的repository.
yum install epel-release

一. 安裝Open VPN

使用Easy RSA來產生SSL Key當做VPN安全連線使用。
yum install openvpn easy-rsa -y

二. 設定Open VPN

copy一個sample的設定檔來當做預設的config檔案。
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
nano /etc/openvpn/server.conf

A.查看dh的檔案是否為dh2048.pem,筆者安裝時預設已由原本的dh1024.pem改成dh2048.pem了,所以並不需要更動。

dh dh2048.pem

B. 如果想要上網均由vpn server端出去的話,把下面redirect-gateway這行mark拿掉,再加上push remote-gateway 主機ip

push “redirect-gateway def1 bypass-dhcp”
push “remote-gateway vpn_server_ip”
push “route 10.8.0.0 255.255.255.0”

C. push dbcp的DNS Service,給client使用的dns,這裡使用Google’s public DNS server

push “dhcp-option DNS 8.8.8.8”
push “dhcp-option DNS 8.8.4.4”

D. 我們希望執行OpenVPN後沒有任何權限

user nobody
group nobody

三. 建立 Keys and Certificates

使用Easy RSA來建立keys and Certificates,其它vars的修改部份,並不一定要跟著修改,只是在建立Keys and Certificates都要重新輸入一次

A. 建立一個目錄來存放建立的資料

mkdir -p /etc/openvpn/easy-rsa/keys

B. 把建立key and certificate的script copy過來

cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa

C. 修改vars預設值

nano /etc/openvpn/easy-rsa/vars
內容請依實際狀況填寫,建立時也可再行修改
其中
KEN_NAME :請填入server
KEN_CN : 填入domain或是subdoman

Read More