在CentOS 安裝 OpenVPN 指南

在CentOS 安裝 OpenVPN 指南

有時候人會在大陸出差,或是公司網路防火牆封鎖一些通道,
而VPS就可以萬能的破解,實在方便。
這邊紀錄我在CentOS 5 上面架設OpenVPN的一些筆記。
由於是筆記所以針對指令就不再多做說明了.

先參考這一篇
可以知道yum並沒有內建OpenVPN
所以需要加入RPMForge 軟件庫.

一.加入RPMForge
Install DAG’s GPG key
rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -K rpmforge-release-0.5.2-2.el5.rf.*.rpm
rpm -i rpmforge-release-0.5.2-2.el5.rf.*.rpm

二.開始安裝
需要的套件
lzo
lzo-devel (可能不用)
openssl (可能不用)
openssl-devel (可能不用)

[root@centos ~]# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.05.tar.gz
[root@centos ~]# wget http://openvpn.net/release/openvpn-2.1_rc22.tar.gz
[root@centos ~]# tar zxvf lzo-2.05.tar.gz
[root@centos ~]# cd lzo-2.05
[root@centos ~]# ./configure;make;make install
[root@centos ~]# yum -y install openssl openssl-devel

三.建立OpenVPN使用者憑証
cp -rp /usr/share/doc/openvpn-2.2.2/easy-rsa /etc/openvpn
cd /etc/openvpn/easy-rsa/2.0
file *|grep executable | cut -d: -f1 |while read file;do echo $file; chmod +x $file; done
vi vars
. ./vars
. ./clean-all
. ./build-ca
./build-key-server server
./build-key client1
./build-dh

四.安裝完後最常遇到的就是成功連線了,但是無法上網,通常就是防火牆問題。
把下方的防火牆SH於開機時啟動往往可以解決大半問題。
=======防火牆的SH=========
#!/bin/bash

ipt=”/sbin/iptables”

# Clean the all rules
$ipt -F
$ipt -X
$ipt -t nat -F
$ipt -t nat -X

# Enable ip_forward
echo “1” > /proc/sys/net/ipv4/ip_forward

# For NAT routing
$ipt -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
$ipt -t nat -L

五. 修改iptable端口, openvpn強大的地方就是你可以隨意選則端口
================================
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT

-A INPUT -i tun+ -j ACCEPT
-A OUTPUT -o tun+ -j ACCEPT
================================

六.建立Server端的設定檔
把下方設定檔存到/etc/openvpn
================================
SERVER CONF
port 443
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
push “redirect-gateway”
push “dhcp-option DNS 8.8.8.8”
ifconfig-pool-persist ipp.txt
;client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

七.客戶端安裝Openvpn Client程式後,建立client設定檔
=================================
Client CONF(xxx.ovpn)
client
dev tun
proto tcp-client
nobind
remote 主機IP 443
resolv-retry infinite
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3
mssfix 1400

總結
================================
SERVER要有的東東
ca.crt dh1024.pem server.crt server.key
Client要有的東東
ca.crt client.crt client-key 主機.ovpn
注意時間日期 (不對的話CA會錯誤)
================================
其他詳細參考:

http://wiki.centos.org/TimothyLee/zh-tw_CentOS5OpenVPN