Open***的簡介
Open***是一個用於創建虛擬專用網絡(Virtual Private Network)加密通道的免費開源軟件。使用Open***可以方便地在家庭、辦公場所、住宿酒店等不同網絡訪問場所之間搭建類似於局域網的專用網絡通道。Open***使用方便,運行性能優秀,支持Solaris、Linux 2.2+(Linux 2.2+表示Linux 2.2及以上版本,下同)、OpenBSD 3.0+、FreeBSD、NetBSD、Mac OS X、Android和Windows 2000+的操作系統,並且採用了高強度的數據加密,再加上其開源免費的特性,使得Open***成爲中小型企業及個人的***首選產品。
使用Open***配合特定的代理服務器,可用於訪問Youtube、FaceBook、Twitter等受限網站,也可用於突破公司的網絡限制。由於Open***支持UDP協議,還可以配合HTTP代理(HTTP Proxy)使用,使得只要是能夠打開網站或上QQ的地方,就可以訪問外部的任何網站或其他網絡資源。
Open***的官方最新版本是Open*** 2.3.0(發佈於2013年01月08日),你可以點擊此處查看Open*** 2.3.0的更新日誌內容。
一、服務端
配置光盤yum源
或者wget -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install openssl openssl-devel lzo lzo-devel pam pam-devel
然後用rpm裝pkcs11-helper跟pkcs11-helper-devel
yum install gcc -y
安裝rpm-build
rpmbuild -tb open***-2.2.2.tar.gz
生成的open***.rpm存放在/root/rpmbuild/RPMS/x86_64
rpm -ivh open***-2.2.2-1.x86_64.rpm
cd /usr/share/doc/open***-2.2.2/easy-rsa/2.0
vim vars
exportKEY_COUNTRY="CN"
你所在的國家
export KEY_PROVINCE="BJ"
你所在的省份
exportKEY_CITY="Beijing"
你所在的城市
exportKEY_ORG="tencrwin"
你所屬的組織
export [email protected]
你的郵件地址
ln -s openssl-1.0.0.cnf openssl.cnf
source vars
# ./clean-all
清除並刪除keys目錄下的所有key
# ./build-ca
生成CA證書,由於剛剛已經在vars文件中配置了,只要一路回車就可以了,不需要額外配置
# ./build-key-server server
成服務器證書,其中server是自己定義的名字,一路回車,到最後會有一次交互,輸入2次y確認就可以了,完成後會在keys目錄下保存了自定義的名字的.key .csr .和.crt三個文件,比如我定義的名爲server,那就會在keys目錄下生產server.keyserver.csr跟server.crt三個文件,
而且這個定義的名字在後面修改server.conf文件中也會用到,需要注意下
(3)創建用戶祕鑰跟證書
#./build-key tencrwin
創建用戶名爲tencrwin用戶的祕鑰跟證書,只需要一路回車,到最後
會有一次交換確認,只要按y確認即可,創建用戶私鑰的過程與服務器密鑰的
程類似,完成後,在keys目錄下生成1024位RSA服務器密鑰tencrwin.key、
tencrwin.crt和tencrwin.csr 三個文件,若要建立多個用戶私鑰,
可以使用build-key腳本生產多個不同的用戶,只要後面的用戶名稱修改下就好
了
(4) 生成Diffie Hellman參數
# ./build-dh
執行了./build-dh後,會在keys目錄下生成dh參數文件dh1024.pem,dh1024.pem文件客戶端驗證的時候會用到
(5)# cp /usr/share/doc/open***-2.2.2/easy-rsa/2.0/keys/*/etc/open***/
將/usr/share/doc/open***-2.2.2/easy-rsa/2.0/keys目錄下的所有文件復
制到/etc/open***下
(6)# cp /usr/share/doc/open***-2.2.2/sample-config-files/server.conf
/etc/open***/
複製open***服務端配置文件server.conf文件到/etc/open***/目錄下,定義
文件名爲server.conf
(7)修改server.conf配置文件的主要參數,修改的參數如下;
# TCP orUDP server?
;proto tcp
proto udp
選擇使用tcp還是udp協議,一般建議使用默認的udp協議,用分號註釋proto
tcp,去掉proto udp的分號註釋,即使用udp的方式連
server192.168.0.0 255.255.255.0
定義分配給客戶端的IP地址段,這個參數主要是設置分配給***客戶端的IP
地址的,可以根據自己的實際要求更改,我這邊定義地址段位192.168.0.0段
usernobody
groupnobody
去除user nobody 和group nobody前的分號,使系統使用nobody用戶啓動
open***進程
log open***.log
去掉log前面的#註釋,若不去除,open***的日誌會寫入到系統日誌中
caca.crt
CA證書文件,默認就可以
certserver.crt
這個需要注意,根據自己實際定義的證書名來更改,也就是上面執行了./build-key-server server命令生成的證書, 比如我定義證書名稱爲server 那參數就應該更改成cert server.crt,如果定義的是其它名稱,必須更改成定義的名稱纔可以,要不然open***會無法啓動的
keyserver.key 跟上的cert的一樣,設置的是什麼必須寫成什麼,我這邊定義的證書名稱是server,那自然也就是keyserver.key
push"redirect-gateway def1 bypass-dhcp"
去掉前面的分號,要不然***連接了以後數據不會走服務器出去,去掉以後默認數據就會走***出去了
到此爲止,服務端的配置文件已經修改完成了,那就是啓動open***服務了,正
常情況下修改沒問題的話就是能成功啓動的
啓動open***服務
service open*** restart
我這裏把防火牆關閉,如有防火請開啓的朋友注意要配置防火牆,
iptables-t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
這裏NAT的地址段跟server.conf文件中定義的IP地址段要一致,然後接口可
#serviceiptables save
開啓路由轉發功能
二、客戶端的配置
http://oss.aliyuncs.com/aliyunecs/open***-2.1.3-install.rar
下載open***客戶端,windows系統下安裝,直接默認下一步安裝就好
加載密鑰文件(假設是用戶tencrwin,如果有其它用戶如user2則下載user2的)
將/etc/open***目錄下的
tencrwin.crt tencrwin.key tencrwin.csr ca.crt ca.key文件打包下載到需要撥號的客戶端上(可以使用ftp或者xftp工具下載),
然後將下載的文件解壓放到open***服務安裝路徑下的\Open***\config目錄下
配置client.opvn
將open***安裝路徑下的\Open***\sample-config\目錄中下的client.opvn複製到open***安裝路徑下的\Open***\config目錄下,然後並修配置文件中的如下參數;
protoudp
去掉前面的分號,因爲服務端用的是udp協議,那這邊也要用udp協議
remote182.92.148.244 1194
去掉前面的分號註釋, 其中182.92.148.244爲open***的服務器ip地址 1194爲open***的通訊端口,跟服務端的一致
certtencrwin.crt
keytencrwin.key
cert和key改成實際用戶名,我創建的登入用戶是tencrwin那這邊就應該更改爲tencrwin,必須要一致
修改完成以後通過***客戶端去連接,正常的話就能正常通過認證並獲取到IP地址
如果成功連接上***服務,那右下角的小電腦圖片會變成綠色。