新(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)