安装
方法1--源码安装
yum -y install pam pam-devel gcc gcc-c++ lzo lzo-devel openssl openssl-devel wget automake pkgconfig easy-rsa
wget https://swupdate.openvpn.org/community/releases/openvpn-2.3.11.tar.gz
tar -zxvf openvpn-2.3.11.tar.gz
./configure --prefix=/usr/local/openvpn && make && make install
方法2--YUM 安装
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum -y install pam pam-devel gcc gcc-c++ lzo lzo-devel openssl openssl-devel wget automake pkgconfig openvpn easy-rsa #证书工具
证书配置
1.配置CA
mkdir /etc/openvpn/easy-rsa/
cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
在开始制作CA证书之前,我们还需要编辑vars文件,修改如下相关选项内容即可。如下
# vim /etc/openvpn/easy-rsa/vars
export KEY_COUNTRY="CN"
export KEY_PROVINCE="SICHUAN"
export KEY_CITY="CTU"
export KEY_ORG="BAXK"
export KEY_EMAIL="baxk@baxk.com"
export KEY_OU="SCCH"
export KEY_NAME="openvpn"
vars文件主要用于设置证书的相关组织信息,引号部分的内容可以根据自己的实际情况自行修改。
# source vars. # ./clean-all #然后使用source vars命令使其生效。注意:执行clean-all命令会删除,当前目录下keys文件夹里证书等文件。
2.制作CA证书,使用如下命令:
# ./build-ca #cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn 复制CA到配置目录启动时,需要使用
3.制作Server端证书
./build-key-server vpnserver #名字可随便取,需要与server.conf配置文件对应
4.制作生成加密交换时的Diffie-Hellman文件
./build-dh #cp keys/vpnserver.crt keys/vpnserver.key keys/dh2048.pem /etc/openvpn/ 复制CA到配置目录启动时,需要使用
5.制作Client端证书
./build-key --batch baxk #名字随便取,下面引用时同名
Server端配置
cp /usr/share/doc/openvpn-2.3.11/sample/sample-config-files/server.conf /etc/openvpn/server.conf
#################################################
port 1194 #可指定
proto tcp #可指定utp
dev tun
ca ca.crt
cert vpnserver.crt # 与上面创建的服务器名字相同
key vpnserver.key # 与上面创建的服务器名字相同
dh dh2048.pem #与上面创建的ffie-Hellman文件相同
push "route 192.168.14.0 255.255.255.0" #如果服务器能访问其它网段的设备,可以在这里增加路由
server 192.168.15.0 255.255.255.0 #服务器分配给client的IP网段范围
ifconfig-pool-persist ipp.txt #记录已分配IP
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
#################################################
Clinet端配置
cp /usr/share/doc/openvpn-2.3.11/sample/sample-config-files/client.conf ./client.ovpn
#################################################
client
dev tun
proto tcp
remote 10.9.50.124 1194 #服务器的IP地址和端口
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert baxk.crt # 与创建时的client证书时名字保持一致
key baxk.key # 与创建时的client证书时名字保持一致
ns-cert-type server
comp-lzo
verb 3
#################################################
WINDOWS
#################################################
Installer (32-bit), Windows Vista and later openvpn-install-2.3.11-I601-i686.exe
Installer (64-bit), Windows Vista and later openvpn-install-2.3.11-I601-x86_64.exe
#################################################
WINDOWN 文件准备 : 1.ca.crt 2.baxk.crt 3.baxk.key 4.clinet.ovpn 移动4个文件到目录 C:\Program Files\OpenVPN\config
#################################################
LINUX
#################################################
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum -y install openvpn
#################################################
#################################################
LINUX 文件准备 : 1.ca.crt 2.baxk.crt 3.baxk.key 4.clinet.ovpn #移动4个文件到目录 /etc/openvpn 再启动: openvpn --config clinet.ovpn
#################################################
注: linux 服务端和客服端都是同一个程序: 放的配置文件(server.conf client.ovpn )不同,功能就不同
其它功能:
上面配置在client端是没有密码保护的,任何人只要进了系统都可以使用VPN连接 . 如果要想在登陆VPN时通过密码保用证书,效果如下:
./build-key-pass baxk #如图输入phrase 来保护证书