openVPN搭建

天遠(yuǎn)科技  發表于:2020-02-03  分(fēn)類:PHP相關(guān)  閱讀(6662)  贊同55

新(xīn)冠來(lái)襲,公司隻能(néng)通過網絡辦公,公司的svn、内部管理(lǐ)系統以及同局域網辦公是當務(wù)之急,公司沒有相關(guān)的網絡設備于是隻能(néng)用一(yī)台linux來(lái)下(xià)網關(guān)設備,部署openVPN,linux服務(wù)器(qì)兩塊網卡一(yī)塊接外網,一(yī)塊接内網,打通内部辦公系統,openVPN在linux安裝如(rú)下(xià)(linux是發行版是centos6,2.6内核)

1、安裝openvpn+easyrsa

yum install -y epel-release automake lzo-devel openssl-devel pam-devel openssl lzo pam pkgconfig makecache

yum install -y openvpn easy-rsa

2、複制相關(guān)文件

cp /usr/share/doc/easy-rsa-3.0.6/vars.example /etc/openvpn/easy-rsa/vars

cp -r /usr/share/easy-rsa/3.0.6/* /etc/openvpn/easy-rsa/

cp /usr/share/doc/openvpn-2.4.8/sample/sample-config-files/server.conf /etc/openvpn/

3、編輯vars文件

vi /etc/openvpn/easy-rsa/vars,内容如(rú)下(xià)

set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "ZHEJIANG"
set_var EASYRSA_REQ_CITY "TONGXIANG"
set_var EASYRSA_REQ_ORG "TYNT.CN"
set_var EASYRSA_REQ_EMAIL "admin@tynt.cn"
set_var EASYRSA_REQ_OU "admin"
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 3650
set_var EASYRSA_CERT_EXPIRE 3650
set_var EASYRSA_NS_SUPPORT "no"
set_var EASYRSA_NS_COMMENT "admin"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-1.0.cnf"
set_var EASYRSA_DIGEST "sha256"

4、創建證書

cd /etc/openvpn/easy-rsa

./easyrsa init-pki      #目錄初始化(huà)

4.1 創建ca根證書
./easyrsa build-ca      #創建根證書,輸入2次pem密碼,并記住(我輸入的是tynt)

出現(xiàn)Common Name 輸入名稱,如(rú)openvpn-ca,回車後生(shēng)成ca根證書

4.2 創建服務(wù)端證書

 ./easyrsa gen-req server nopass

出現(xiàn)Common Name 輸入tyntServer,回車顯示生(shēng)成了(le)2個(gè)文件server.key和server.req

4.3 簽署服務(wù)端證書

./easyrsa sign server server   #回車後輸入yes,當顯示ca.key:時(shí)輸入ca根證書的密碼,這(zhè)裏是tynt

4.4 創建Diffie-Hellman,确保key穿越不安全網絡的命令

./easyrsa gen-dh   #等一(yī)段時(shí)間(jiān)後顯示created at /etc/openvpn/easy-rsa/pki/dh.pem

4.5 生(shēng)成ta秘鑰文件
 openvpn --genkey --secret /etc/openvpn/easy-rsa/ta.key

5、創建客戶端證書

 mkdir /home/charles_li/client   #我這(zhè)裏用戶名是charles_li,根據你自己的來(lái)放(fàng)目錄

cd /home/charles_li/client

cp -r /usr/share/easy-rsa/3.0.6/* ./
5.1 初始化(huà)

 ./easyrsa init-pki

5.2 創建客戶端證書

./easyrsa gen-req client   #出現(xiàn)Common Name 輸入client,回車會創建2個(gè)文件 client.key和client.req

5.3 導入簽約證書

cd /etc/openvpn/easy-rsa/
./easyrsa import-req /root/client/pki/reqs/client.req client

5.4 簽約證書
./easyrsa sign client client   #回車後輸入yes,出現(xiàn)ca.key:輸入tynt。

6、拷貝相關(guān)文件

6.1 拷貝服務(wù)端文件
cp pki/ca.crt /etc/openvpn/
cp pki/private/server.key /etc/openvpn/
cp pki/issued/server.crt /etc/openvpn/
cp pki/dh.pem /etc/openvpn/
cp /etc/openvpn/easy-rsa/ta.key /etc/openvpn/

6.2 拷貝客戶端文件
cp pki/ca.crt /home/charles_li/client/
cp pki/issued/client.crt /home/charles_li/client/
cp /home/charles_li/client/pki/private/client.key /home/charles_li/client/
cp /etc/openvpn/easy-rsa/ta.key /home/charles_li/client/

7、編輯服務(wù)端配置文件
vi /etc/openvpn/server.conf 

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 172.16.0.0 255.255.255.0"
push "dhcp-option DNS 114.114.114.114"
push "dhcp-option DNS 8.8.8.8"
client-to-client
duplicate-cn
keepalive 10 120
tls-auth /etc/openvpn/ta.key 0
cipher AES-256-CBC
comp-lzo
max-clients 100
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 3
9、配置iptables

ifconfig查看下(xià)網卡的情況,我這(zhè)邊eth0是内網 172.16.0.201 ,eth1是外網IP,輸入

iptables -A INPUT -p UDP --dport 1194 -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 192.168.0.226

查看下(xià)情況
iptables -nL -t nat

保存iptables
service iptables save

10、配置轉發

echo 1 > /proc/sys/net/ipv4/ip_forward

vi /etc/sysctl.conf    #改 net.ipv4.ip_forward=1

sysctl -p

11、啓動服務(wù)端
openvpn /etc/openvpn/server.conf &
查看udp端口情況可以使用

netstat -lnptu
============以上(shàng)服務(wù)端搭建完成===============

客戶端使用(windows)

下(xià)載客戶端openvpn-gui,同時(shí)下(xià)載服務(wù)器(qì)上(shàng)保存的客戶端的幾個(gè)文件ca.crt,client.req,client.key,ta.key

安裝完openvpn後将4個(gè)文件拷貝到安裝目錄的config下(xià)面,同時(shí)新(xīn)建并編輯clients.ovpn,内容如(rú)下(xià):

client
dev tun
proto udp
remote 公司外網IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
comp-lzo
verb 3

保存


雙擊啓動文件或者 bin裏的openvpn-gui.exe,啓動後任務(wù)欄有個(gè)小圖标,右鍵選項-高級,裏面有個(gè)配置文件
文件夾欄目,選擇到C:\Program Files\OpenVPN\config,确定,點擊鏈接就(jiù)可以鏈接上(shàng)公司的VPN了(le)





在線聯系
點擊這(zhè)裏給我發消息
點擊這(zhè)裏給我發消息
關(guān)注我們