CentOS 5.5上安裝openvpn全過(guò)程
OpenVPN是一個(gè)用于創(chuàng)建虛擬專用網(wǎng)絡(luò)加密通道的軟件包,允許參與建立VPN的單點(diǎn)使用公開密鑰、電子證書、或者用戶名/密碼來(lái)進(jìn)行身份驗(yàn)證,能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X與Windows上運(yùn)行,並包含了許多安全性的功能。本文一步一步介紹了在CentOS 5.5上安裝openvpn的過(guò)程。
一、 下載軟件包
# cd /opt # wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz # wget http://openvpn.net/release/openvpn-2.1_rc22.tar.gz
二、解壓及安裝
# tar zxvf lzo* # tar zxvf openvpn*
進(jìn)入相應(yīng)文件夾下,執(zhí)行以下命令編譯安裝:
# ./configure && make && make install
三、服務(wù)器端設(shè)置:
1. 用easy-rsa生成服務(wù)器證書客戶端證書
# cp /opt/openvpn-2.1_rc22/easy-rsa/2.0 -r /etc/openvpn # cd /etc/openvpn/2.0
編輯所需的參數(shù)再調(diào)用之
# vim vars # source ./vars
下面這個(gè)命令在第一次安裝時(shí)可以運(yùn)行,以后在添加客戶端時(shí)千萬(wàn)別運(yùn)行,這個(gè)命令會(huì)清除所有已經(jīng)生成的
證書密鑰。
# ./clean-all
生成服務(wù)器端ca證書
# ./build-ca
生成服務(wù)器端密鑰證書, 后面這個(gè)server-name就是服務(wù)器名,可以自定義。
# ./build-server-key server-name
一路Enter之后證書生成。
再依次生成所需客戶端證書密鑰文件:
# ./build-key client-name1 # ./build-key client-name2
再生成 diffie hellman 參數(shù)
# ./build-dh
創(chuàng)建并編輯服務(wù)器端配置文件
cp /opt/openvpn-2.1_rc22/sample-config-files/server.conf /etc/openvpn/ vi /etc/openvpn/server.conf
修改完成之后,以下面這個(gè)命令啟動(dòng)openvpn server
# /usr/local/sbin/openvpn --config /etc/openvpn/server.conf &
每次都運(yùn)行上面這個(gè)命令有點(diǎn)麻煩,這里有一個(gè)script,把它復(fù)制到 /etc/init.d 文件夾下,可以實(shí)現(xiàn)啟動(dòng),狀態(tài)查詢,重啟等。該文件適應(yīng)于CentOS 5.5, 如果密鑰及配置文件位置不一樣,也許要作一些小的修改。
再在rcX.d文件夾下作幾個(gè)軟鏈接就可以實(shí)現(xiàn)開機(jī)自動(dòng)啟動(dòng)了。
也可以修改 /etc/rc.local文件實(shí)現(xiàn)開機(jī)啟動(dòng)。
密鑰分發(fā)
把ca.crt 及相應(yīng)client 的三個(gè)密鑰證書文件一共四個(gè)分別分發(fā)出去就可以了。注意不需要將ca.key分發(fā)出去,
ca.key應(yīng)該保密。
四、客戶端配置
1. Linux
相應(yīng)比較簡(jiǎn)單,安裝好openvpn后,把收到的ca及l(fā)ient文件放到相應(yīng)的位置,配置好client.conf就可以了。
2. Windows
到openvpn官方網(wǎng)站下載windows安裝包進(jìn)行安裝,在安裝文件夾下有下個(gè)config文件夾,把你的ca及client文件放到該文件夾下,從sample-config下拷貝一個(gè)client.ovpn并作相應(yīng)修改即可。
五、固定IP地址分配
在服務(wù)器端配置文件(server.conf)里取消下面行的注釋:
;client-config-dir ccd ;route 10.8.0.0 255.255.255.252
在 /etc/openvpn文件夾下新建名為ccd文件夾,在ccd 文件夾里以客戶名為名新建文件,內(nèi)容格式如下:
ifconfig-push 10.8.0.20 10.8.0.120
客戶端啟動(dòng)后即獲得IP地: 10.8.0.20
但要注意上面格式只對(duì)linux有效,如果客戶端為windows,則客戶端會(huì)連接不成功。因?yàn)閛penvpn在windows下時(shí),
其local IP 與 remote IP 必須在網(wǎng)址掩碼為255.255.255.252的同一網(wǎng)段內(nèi),而且不能取頭尾兩端的IP,因此
一個(gè)openvpn連接在windows下最少要占用4個(gè)ip地址。
windows 下的 客戶端IP配置必須為如下形式:
ifconfig-push 10.8.0.30 10.8.0.29
因?yàn)?0.8.0.28/30網(wǎng)段包含以下IP: 10.8.0.28-31, 去除頭尾,只有29與30可用。其他類推。
六、訪問(wèn)外網(wǎng)設(shè)置
開啟服務(wù)器端路由轉(zhuǎn)發(fā)功能
# echo 1 > /proc/sys/net/ipv4/ip_forward #為了使CentOS重啟后仍然開啟路由轉(zhuǎn)發(fā)功能我們需要再執(zhí)行下列命令 # sysctl -w net.ipv4.ip_forward=1
添加iptables轉(zhuǎn)發(fā)規(guī)則
#因?yàn)槲业腃entOS是ADSL撥號(hào)上網(wǎng),所以把出口設(shè)置成ppp0,請(qǐng)根據(jù)實(shí)際情況設(shè)置, 如eth0 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ppp0 -j MASQUERADE
必須保證server.conf配置中,有下面三個(gè)配置
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 202.103.44.150" #客戶端獲得的DNS地址
push "dhcp-option DNS 202.103.24.68" #客戶端獲得的DNS地址
【編輯推薦】


















