OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用。OpenVPN 提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。
成都创新互联公司专注于西藏网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供西藏营销型网站建设,西藏网站制作、西藏网页设计、西藏网站官网定制、微信小程序服务,打造西藏网络公司原创品牌,更为您提供西藏网站排名全网营销落地服务。
# yum -y install epel-release && yum -y update
首先我们需要安装OpenVPN。我们还将安装Easy RSA来生成我们的SSL密钥对,这将保护我们的VPN连接。
# yum install -y openvpn easy-rsa
3.1.创建密钥与证书储存目录,并且准备好要产生密钥与证书的相关文件:
# 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
3.2.修改凭证的默认资料,之后产生凭证时就会自动填写,不必再手动输入。
# vim /etc/openvpn/easy-rsa/vars
所有凭证资料的预设值分别是:国家、省份、城市、组织、电子邮件位址、单位。
...
export KEY_COUNTRY="CN"
export KEY_PROVINCE="GD"
export KEY_CITY="ZHUHAI"
export KEY_ORG="YUNXI"
export KEY_EMAIL="YUNXI@it.cn"
export KEY_OU="IT YUNXI."
...
上述参数的值可以自定义设置,对配置无影响。
4.1.清除并删除 keys 目录下的所有 key
# cd /etc/openvpn/easy-rsa
以下步骤列出需要清理的目录:
# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
# ./clean-all
4.2.生成CA的密钥及凭证,设定值不需修改的话,可以直接按Enter使用vars档案里的预设值。
# ./build-ca
4.3.生成 OpenVPN Server 端的密钥及凭证,同样可以使用vars档案的预设值。
注意:一直回车,直至最后有两次交互,输入 y 确认。
# ./build-key-server renwoleserver
4.4.生成 Diffie Hellman 参数,这个步骤比较久,可能要跑大约 6 分钟左右。
# ./build-dh
4.5.将Server的密钥及凭证放到主目录里:
# cd /etc/openvpn/easy-rsa/keys
# cp dh2048.pem ca.crt renwoleserver.crt renwoleserver.key /etc/openvpn
5.1.生成不用输入密码的凭证:
# /etc/openvpn/easy-rsa/build-key renwoleusers
5.2.生成需要输入密码的凭证:
# /etc/openvpn/easy-rsa/build-key-pass renwoleusers
OpenVPN提供了TLS-auth功能,可以用来抵御Dos、UDP端口淹没攻击。出于安全考虑,你可以启用该功能;启用该功能,你需要执行以下命令:
# cd /etc/openvpn
# openvpn --genkey --secret ta.key
6.目前我们总共产生了这些金钥及凭证:
# ll keys/
total 84
01.pem
02.pem
renwoleserver.crt
renwoleserver.csr
renwoleserver.key
renwoleusers.crt
renwoleusers.csr
renwoleusers.key
ca.crt
ca.key
dh2048.pem
index.txt
index.txt.attr
index.txt.attr.old
index.txt.old
serial
serial.old
OpenVPN安装目录默认存在 server.conf 配置文件,我们拷贝一份并修改使用:
# cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
我们进入 /etc/openvpn/ 目录编辑 server.conf 文件。
配置完成后的内容如下:
# egrep -v "^$|^#|^;" server.conf
local 10.10.204.62
port 1194
proto udp
dev tun
ca ca.crt
cert renwoleserver.crt
key renwoleserver.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 223.5.5.5"
client-to-client
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
compress lz4-v2
push "compress lz4-v2"
user nobody
group nobody
persist-key
persist-tun
#新增日志路径
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
explicit-exit-notify 1
# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# sysctl -p
确保服务器可以转发数据包到服务器内外网,开启必要的通讯服务,并启用IP伪装(Masquerade)功能。
# firewall-cmd --permanent --add-service openvpn
# firewall-cmd --permanent --add-masquerade
# DEV=$(ip route get 223.5.5.5 | awk 'NR==1 {print $(NF-2)}' )
# firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $DEV -j MASQUERADE
# firewall-cmd --reload
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client openvpn ssh
ports:
protocols:
masquerade: yes
forward-ports:
sourceports:
icmp-blocks:
rich rules:
重启网络与OpenVPN服务,并且让OpenVPN开机后自动启动:
# systemctl restart network
# systemctl restart openvpn@server
# systemctl enable openvpn@server
# ip a
...
tun0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
12.1.下载 openvpn 客户端并安装:Windows系统下安装,按照默认安装完成即可。
12.2.将Server端生成的Client密钥与证书下载到本地并放在 C:\Program Files\OpenVPN\config 目录下。
需要下载的文件列表:
/etc/openvpn/easy-rsa/keys/renwoleusers.crt
/etc/openvpn/easy-rsa/keys/renwoleusers.key
/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/ta.key
12.3.将 C:\Program Files\OpenVPN\sample-config 下 client.ovpn 文件拷贝到 C:\Program Files\OpenVPN\config 目录。
client.ovpn 文件配置完成后的内容如下:
client
dev tun
;proto tcp
proto udp
remote 10.10.204.62 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert renwoleusers.crt
key renwoleusers.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
此时点击桌面上的 “OpenVPN GUI” 图标,如果不出意外即可连接成功,若连接报错,请查看分析 C:\Users\yunxi\OpenVPN\log\client.log 日志文件。
文章标题:Linux系统安装和配置OpenVPN
网址分享:http://www.stwzsj.com/qtweb/news1/12901.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联