赞
踩
接上篇的PPTP vpn,本篇博客也是介绍的VPN。只是这次是openvpn,这次介绍的openvpn的安装环境包括两个,一个centos7,另一个还是raspberry(差不多就是和Ubuntu是同一个系列的)。
好的,我们开始吧,首先是raspberry的server安装介绍:
#apt-get install openvpn
#cd /etc/openvpn
#wget --no-check-certificate https://github.com/OpenVPN/easy-rsa/releases/download/2.2.2/EasyRSA-2.2.2.tgz
#tar -xzvf EasyRSA-2.2.2.tgz
#mv EasyRSA-2.2.2 easy-rsa
#cd /etc/openvpn/easy-rsa
#vim vars
a. 编辑密钥存储路径
export EASY_RSA="/etc/openvpn/easy-rsa"
b. 保存退出后,加载配置
#source ./vars
a. 生成ca密钥
./clean-all # 先清空所有密钥
./build-ca
所有输入取默认值就可以了,直接回车;keys文件夹下多了ca.crt ca.key
b. 生成服务器密钥
./build-key-server server
接下来的输入全部默认enter键。
询问是否认证的地方,同意就行了。经过这一步,keys文件夹中又多出来3个文件
server.csr(证书签发请求文件) server.crt(公钥) server.key(私钥)
c. 生成dh
./build-dh
这一步要等久一点,现在又多了一个文件 dh2048.pem
d. 生成客户端密钥
./build-key-pass client (或者用./build-key client,和前者的区别就是后者连接时不需要密码)
Enter PEM pass phrase: 输入客户端密钥的密码,这里输入test123,会让你输两次。其它默认就好经过这步后,又多了3个文件 client.csr client.crt client.key,如果想添加多个用户,继续执行./build-key client1命令即可,然后替换客户端的这三个文件(如果不行,先执行source ./vars),修改client.ovpn的名字为client1.ovpn,修改里面的最后两行
cert client.crt
key client.key
为
cert client1.crt
key client1.key
# 复制一个模板过来先 (如果没有此文件,自己创建一个就好)
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/server.conf
# 打开编辑之
vim /etc/openvpn/server.conf
port 1194 #Openvpn服务使用的端口
proto udp #使用udp协议传输
dev tun #使用隧道
ca /etc/openvpn/easy-rsa/keys/ca.crt #ca公钥路径
cert /etc/openvpn/easy-rsa/keys/server.crt #服务器公钥路径
key /etc/openvpn/easy-rsa/keys/server.key #服务器私钥路径
dh /etc/openvpn/easy-rsa/keys/dh2048.pem #dh
server 10.8.0.0 255.255.255.0 #客户端连接后,所在的子网段
ifconfig-pool-persist ipp.txt #客户端使用固定的子网地址,这里可以不配置
push "redirect-gateway def1 bypass-dhcp" #网关重定向,客户端的流量都会经由OpenvpnServer
push "dhcp-option DNS 8.8.8.8" #网关重定向,客户端的流量都会经由OpenvpnServer
push "dhcp-option DNS 8.8.4.4" #配置DNS,这里配置路由器的内网地址即可
duplicate-cn #允许客户端的CommonName重复,因为我们填的都是默认值
keepalive 10 120
comp-lzo #启动数据压缩
user nobody #Openvpn进程运行时所属的用户,这里为了安全
group nogroup #Openvpn进程运行时所属的组,这里为了安全
persist-key #一直保存key,避免权限问题导致不能再次读取
persist-tun #一直保持隧道,原因同上
status openvpn-status.log #Openvpn运行状态Log,就在Openvpn目录下,会自动生成
log openvpn.log #Openvpn运行Log,也在Openvpn目录下,会自动生成
verb 3 #log的等级
#cd /etc/openvpn
#vim client.ovpn
输入以下内容,保存退出
client
dev tun
proto udp
remote 192.168.1.198 1194
comp-lzo
verb 3
ca ca.crt
cert client.crt
key client.key
启动iptables
命令:modprobe ip_tables
#允许接收目的端口为1194的包;1194就是server.conf中配置的端口
#iptables -A INPUT -p udp --dport 1194 -j ACCEPT
#iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
vim /etc/sysctl.conf
#编辑一行为
net.ipv4.ip_forward=1
#配置生效
sysctl -p
systemctl restart openvpn
systemctl -f enable openvpn@server.service
systemctl start openvpn@server.service
安装后,将client.ovpn,ca.crt,ca.key,client.crt,client.key这5个文件拷贝至Openvpn的config目录下,然后登录,输入生成客户端密钥时设置的密码,本例子的密码是test123
openvpn的连接必须下载并安装客户端,再将在server上面生成的5个文件拷贝到window上面安装目录的config文件夹中
- yum install epel-release -y
- yum install openvpn -y
- yum install easy-rsa -y
2、配置openvpn的server.conf文件
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
vi /etc/openvpn/server.conf
将内容设置为如下内容
3、拷贝server的keys文件
- mkdir -p /etc/openvpn/easy-rsa/keys
- cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
- cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
- cd /etc/openvpn/easy-rsa
4、生成密钥,和raspberry的差不多,方法一样
source ./vars ./clean-all ./build-ca ./build-key-server server ./build-dh cd /etc/openvpn/easy-rsa/keys cp dh2048.pem ca.crt server.crt server.key /etc/openvpn cd /etc/openvpn/easy-rsa ./build-key client
5、设置转发规则并保存
- yum install iptables-services -y
- systemctl mask firewalld
- systemctl enable iptables
- systemctl stop firewalld
- systemctl start iptables
- iptables --flush
- iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
- iptables-save > /etc/sysconfig/iptables
6、
开启系统针对ipv4的转发vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
- systemctl restart network.service
- systemctl -f enable openvpn@server.service
- systemctl start openvpn@server.service
最后在window上面的连接方式和前面的方法一样,需要安装客户端并更改配置文件!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。