上回說到如何在 Windows 下安裝 OpenVPN client, 這回會介紹如何在 Linux 下使用 OpenVpn Client.有些時侯, 中小企需要使用一些自動化程序 Script 作安全連線. 在windows 下生成這樣的連線會比較難設定和不穩定. 這個時侯就需要 linux 的幫助. 在 Linux 下安裝openvpn 軟件就可以輕易創作自動連線的 Script
安裝 OpenVPN 軟件
在linux 下, OpenVPN 沒有server 和client 的分別, 都是用同一軟件進行. 所以只需要安裝 OpenVPN 便可
sudo apt-get install openvpn
創建鑰匙
首先,要創建鑰匙, 以下是在服務器端上鑰匙的制法 (把keithyau 換成你的使用者名字, 詳情參考 http://keithyau.wordpress.com/2009/02/07/vpn-solution-2-openvpn/)
sudo su
cd /etc/openvpn/examples/easy-rsa/2.0/
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-key keithyau
./build-dh
cd keys
openssl dhparam -out dh1024.pem 1024
cd ..
openvpn –genkey –secret ta.key #optional
拷貝鑰匙
鑰匙拷貝到客戶端內, 例如
在服務器端輸入
scp -pr /etc/openvpn/examples/easy-rsa/2.0/keys/
創建 ovpn Client 設定檔案 (把123.123.123 換成服務器的地址)
- .opvn示範檔案如下
- client
- dev tap
- proto udp
- # change this to your server’s address
- remote 123.123..123..123 1194
- resolv-retry infinite
- nobind
- persist-key
- persist-tun
- #tls-client
- ca keys/ca.crt
- cert keys/keithyau.crt
- key keys/keithyau.key
- #ensure that we are talking to a server
- ns-cert-type server
- #confirm we are talking to the correct server
- #tls-auth ta.key 1
- # Select a cryptographic cipher.
- # If the cipher option is used on the server
- # then you must also specify it her e.
- cipher AES-128-CBC
- # Enable compression on the VPN link.
- comp-lzo
- #fragment 1400
- # enable user/pass authentication
- # auth-user-pass
相應的服務器設定參考
- # Which local IP address should OpenVPN
# listen on? (optional)
local 192.168.1.102 #服務器的本地地址 (LOCAL IP)
port 1194
proto udp
dev tap0
#direct these to your generated files
ca /etc/openvpn/examples/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/examples/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/examples/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem
ifconfig-pool-persist ipp.txt
#需要 dhcp 服務器 的配合
server 10.3.0.0 255.255.255.0
# 服務器上沒有 dhcp 服務器的請選這行
# server-bridge 192.168.1.102 255.255.255.0 192.168.1.230 192.168.1.231
keepalive 10 120
#encryption
cipher AES-128-CBC
#Push routing configuration
#push “route 192.168.2.0 255.255.255.0″
#tls-auth ta.key 0
comp-lzo
#fragment 1400
#limit the number of connections
max-clients 5
#some secuurity settings
# do not use if running server on Windows
user nobody
group nogroup
persist-key
persist-tun
#log file settings
status openvpn-status.log
verb 3
詳程參考 如何設立虛擬網絡
打開 VPN 連線
sudo openvpn <你的設定檔案>.ovpn完成後, Client 會有以下情況
輸入 ifconfig 會看到新的虛擬網卡
服務器那邊都會出現成功訊息
自動化程序示範
#! /bin/bashcheck=`ls /var/log/remote`
if [ -z check ] ;# no log file
then
exit 0
else # 打開 openvpn 連線,開始 backup
sudo openvpn <你的設定檔案>.ovpn
sudo backup.sh
fi
exit 0
如有任何問題, 歡迎與我連絡/ 留言, 大家交流一下
沒有留言:
張貼留言