Openvpn安装

来源:互联网 发布:布林线指标源码 编辑:程序博客网 时间:2024/05/26 09:53
测试环境

服务器:CentOS4.5虚拟机---192.168.78.132

客户端:windows7虚拟机---192.168.78.128


1.安装openssl pam-devel

#yum install openssl

#yum install pam-devel


2.安装lzo压缩算法,否则在安装openvpn时报错: error:lzo enabled but missing

#wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz

#tar zxvf lzo-2.06.tar.gzC /usr/src/

#cd /usr/src/lzo-2.06

# ./configure --prefix=/usr/local

#make

#make install


3.openvpn2.3.2的安装

在官网openvpn.net上下载openvpn-2.3.2.tar.gz

#tar zxvf openvpn-2.3.2.tar.gzC /usr/src

#cd /usr/src/openvpn-2.3.2

#./configure prefix=/opt/openvpn

#make

#make install


4.openvpn预配置。打开网站https://github.com ;在网页顶部搜索easy-rsa并下载easy-rsa-master.zip

#tar o easy-rsa-master.zip

#mkdir /opt/openvpn/etc把配置目录放到安装路径/opt/openvpn/etc

#cp easy-rsa-master/easy-rsa/opt/openvpn/etc拷贝easy-rsa-mastereasy-rsa目录

#cd /opt/openvpn/etc/easy-rsa/2.0/


5.生成CA证书

修改/opt/openvpn/etc/easy-rsa/2.0/vars参数

#vim vars

export KEY_COUNTRY="CN"                国家

export KEY_PROVINCE="ZJ"                省份

export KEY_CITY="NingBo"                城市

export KEY_ORG="TEST-VPN"              组织

exportKEY_EMAIL="81367070@qq.com"       邮件

export KEY_OU="baidu"                  单位


export KEy_SIZE =2048  dh密钥长度

保存退出


#source ./vars


#./clean-all


#./build-ca

碰到Common Name (eg, your name or your server's hostname)提示:输入server

碰到其他提示直接回车,表示默认提示参数安装


6.生成dh文件

#./build-dh

最后会生成dh2048.pem


7.生成服务器证书

#./build-key-server server这里的server即是上面提示输入的server,即服务器名称

碰到Common Name (eg, your name or your server's hostname)提示:输入”server”

碰到其他提示直接回车,表示默认提示参数安装

碰到A challenge password []:输入一个密码


8.生成客户端证书

#./build-key client1client1指客户端名称,不能重复

碰到Common Name (eg, your name or your server's hostname)提示:输入”client1”

碰到其他提示直接回车,表示默认提示参数安装

碰到A challenge password []:输入一个密码

若生成其他客户端,例如client2,client3,则重复本步骤操作。


注意:查看client.key server.key 是否0字节请重新生成

生成TLS-auth密钥

这一步骤是可选操作。OpenVPN提供了TLS-auth功能,可以用来抵御Dos、UDP端口淹没攻击。出于安全考虑,你可以启用该功能;启用该功能,你需要执行命令openvpn --genkey --secret keys/ta.key来生成TLS-auth所需的密钥文件。


9.CA证书和客户端证书打包

#tar zcvf keys.tar.gz client* ca.*clientca开头的文件压缩保存为keys.tar.gz


10.服务端的配置文件

#cd /opt/openvpn/etc

#cp /download/openvpn-2.3.2/sample/sample-config-files/server.conf.

#cp easy-rsa/2.0/keys /opt/openvpn/etc/ 拷贝证书文件夹keys

#vim server.conf修改为下面配置

port 1194

proto udp

dev tun

ca /opt/openvpn/etc/keys/ca.crt

cert /opt/openvpn/etc/keys/server.crt

key /opt/openvpn/etc/keys/server.key

dh /opt/openvpn/etc/keys/dh2048.pem

ifconfig-pool-persist/opt/openvpn/etc/ipp.txt

server 10.8.0.0 255.255.255.0

push "route 192.168.10.0255.255.255.0"

push "redirect-gateway def1 bypass-dhcp"

client-to-client

keepalive 10 120

comp-lzo

persist-key

persist-tun

status /var/log/openvpn-status.log

verb 3


启动openvpn命令

#/opt/openvpn/sbin/openvpn –daemon --config/opt/openvpn/etc/server.conf


11.win7下客户端的配置

下载相同版本的openvpn-gui,可以从google找到该资源openvpn-gui 2.3.2

下载exe文件并安装。找到安装目录中的config文件夹

复制安装目录中的simple-config/client.ovpnconfig下。

把第九步骤中打包的keys.tar.gz文件解压到该目录下,

修改client.ovpn,使用记事本打开,并修改

;remote my-server-1 1194

remote a.b.c.d 1194a.b.c.d为架设vpn服务的公网IP地址

ca ca.crt

cert client1.crt修改为自己定义的客户端名称

key client1.key由于把证书拷贝到相同的目录下,这里不需要再指定目录

保存退出。


12.修改路由器,添加nat规则。

把公网IP 端口1194 映射到做vpn服务器的内网ip地址,指定udp,端口1194

打开openvpn-gui,点connetion进行连接。这里提醒,初学者先把iptablesselinux停掉

那么现在就可以连通到内网中了。

但是,如果要实现上网,还需要让vpn服务器进行数据包的转发。

13.实现上网功能

目前不会配置selinux,请设置关闭

添加包转发功能,需要开启iptables进行包的转发。

目前不会使用iptables配置,网上找了段代码,先执行命令

#iptables -F 清空iptables规则

#iptables -L查看iptables是否清空

逐条进行执行iptables规则添加动作

#iptables -t nat -A POSTROUTING -s10.8.0.0/24 -o eth0 -j MASQUERADE
#iptables -A INPUT -i lo -p all -j ACCEPT
#iptables -A INPUT -p all -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -A INPUT -i tun+ -j ACCEPT
#iptables -A FORWARD -i tun+ -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
#iptables -A INPUT -p udp --dport 1194 -j ACCEPT
#iptables -A INPUT -s 10.8.0.0/24 -p all -j ACCEPT
#iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT

#iptables -A INPUT -p tcp -m tcp --dport 22-j ACCEPT

#service iptables save

#service iptables restart


设置IP包转发

#vim /etc/sysctl.conf

设置net.ipv4.ip_forward =1

#sysctl p使修改生效


14.设置openvpn开机自启动

#/opt/openvpn/sbin/openvpn --daemon--config /opt/openvpn/etc/server.conf&启动命令

#echo "/opt/openvpn/sbin/openvpn--daemon --config /opt/openvpn/etc/server.conf &">>/etc/rc.local开机自启动命令

这样整个过程就完成了。

 

 

 

 

 

0 0
原创粉丝点击