«

linux openvpn怎么使用

时间:2024-7-31 08:55     作者:韩俊     分类: Linux


这篇文章主要介绍“linux openvpn怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux openvpn怎么使用”文章能帮助大家解决问题。

在linux中,OpenVPN是一个基于OpenSSL库的应用层VPN实现,是一个开源的加密隧道构建工具,可以在Internet中实现点对点的SSL VPN安全连接。使用OpenVPN的好处是安全、易用和稳定,且认证方式灵活,具备实现SSL VPN解决方案的完整特性。

openvpn是什么

VPN 直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN 无疑是 Linux 下开源 VPN 的先锋,提供了良好的性能和友好的用户 GUI。

OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现,是一个开源的加密隧道构建工具。OpenVPN可以在Internet中实现点对点的SSL VPN安全连接。使用 OpenVPN 的好处是安全、易用和稳定,且认证方式灵活,具备实现 SSL VPN 解决方案的完整特性。OpenVPN 可以应用于 Linux、Unix、Mac OS 以及Windows 等各种操作系统平台。

OpenVPN 允许参与建立 VPN 的单点使用共享金钥,电子证书,或者用户名/密码来进行身份验证。它大量使用了 OpenSSL 加密库中的 SSLv3 /TLSv1 协议函式库。OpenVPN 能在 Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X 与 Windows 上运行,并包含了许多安全性的功能。它并不是一个基于 Web 的 VPN 软件,也不与 IPSec 及其他 VPN 软件包兼容。

虚拟私有网络(VPN)隧道是通过 Internet 隧道技术将两个不同地理位置的网络安全的连接起来的技术。当两个网络是使用私有 IP 地址的私有局域网络时,它们之间是不能相互访问的,这时使用隧道技术就可以使得两个子网内的主机进行通讯。例如,VPN 隧道技术经常被用于大型机构中不同办公区域子网的连接。有时,使用 VPN 隧道仅仅是因为它很安全。服务提供商与公司会使用这样一种方式架设网络,他们将重要的服务器(如,数据库,VoIP,银行服务器)放置到一个子网内,仅仅让有权限的用户通过 VPN 隧道进行访问。如果需要搭建一个安全的 VPN 隧道,通常会选用 IPSec,因为 IPSec VPN 隧道被多重安全层所保护。

VPN (虚拟专用网)发展至今已经不在是一个单纯的经过加密的访问隧道了,它已经融合了访问控制、传输管理、加密、路由选择、可用性管理等多种功能,并在全球的信息安全体系中发挥着重要的作用。也在网络上,有关各种 VPN 协议优缺点的比较是仁者见仁,智者见智,很多技术人员由于出于使用目的考虑,包括访问控制、 安全和用户简单易用,灵活扩展等各方面,权衡利弊,难以取舍;尤其在 VOIP 语音环境中,网络安全显得尤为重要,因此现在越来越多的网络电话和语音网关支持 VPN 协议。

Linux服务器上使用OpenVPN

安装 OpenVPN 客户端

Linux 服务器安装 OpenVPN 相对简单一些,为了方便安装,我们用 yum 直接安装,具体过程如下:

yum -y install epel-release
yum -y install openvpn

OpenVPN 安装完成后会在 /etc/openvpn 生成对应的文件,具体如下:

[root@ns1 ~]# ll /etc/openvpn/
total 8
drwxr-x--- 2 root openvpn  34 Jul 26 15:06 client
drwxr-x--- 2 root openvpn   6 Apr 26 23:04 server

准备配置文件及证书文件

因为我们之前有安装过 OpenVPN 服务端,具体过程参见 OpenVPN 安装配置,在这里我们直接用它提供的配置文件即可。

注意: 我们之前安装的 OpenVPN 服务端集成了 LDAP 统一认证,所以我们不再需要服务端分配给客户端的证书及密钥,只需要配置文件及相应的 key 即可,还有就是我们需要新建账号密码文件 passwd 。

配置文件修改完成后, /etc/openvpn 目录结构如下所示:

[root@ns1 ~]# tree /etc/openvpn/
/etc/openvpn/
├── client
│   ├── ca.crt                    # 服务端提供
│   └── ta.key                    # 服务端提供
├── client.ovpn                    # 客户端配置文件
├── passwd                         # 账号密码文件,需要新建,第一行账号,第二行是密码
└── server
2 directories, 4 files

连接测试

配置完成后,我们用命令行相关命令进行测试,具体命令如下:

openvpn 
--daemon 
--cd /etc/openvpn 
--config client.ovpn 
--auth-user-pass /etc/openvpn/passwd 
--log-append /var/log/openvpn.log

命令参数说明:

--daemon           # 后台运行
--cd               # 配置文件目录路径
--config           # 配置文件名称
--auth-user-pass   # 指定账号密码文件
--log-append       # 日志文件

命令执行完后,可以用以下命令查看相关日志:

tail -f /var/log/openvpn.log

当日志末尾出现类似如下内容说明正常连接了:

Thu Jul 26 15:19:43 2018 /sbin/ip addr add dev tun0 local 10.6.0.226 peer 10.6.0.225
Thu Jul 26 15:19:43 2018 /sbin/ip route add 172.16.1.0/24 via 10.6.0.225
Thu Jul 26 15:19:43 2018 /sbin/ip route add 10.0.0.0/8 via 10.6.0.225
Thu Jul 26 15:19:43 2018 /sbin/ip route add 10.6.0.0/24 via 10.6.0.225
Thu Jul 26 15:19:43 2018 Initialization Sequence Completed

最后补充一下配置文件内容:

client
dev tun
proto tcp
remote x.x.x.x 1194               # x.x.x.x 代表服务端IP地址映射的公网IP地址
resolv-retry infinite
nobind
persist-key
persist-tun
ca client/ca.crt
;cert client.crt
;key client.key
remote-cert-tls server
tls-auth client/ta.key 1
cipher AES-256-CBC
ns-cert-type server
auth-user-pass
comp-lzo
verb 3

标签: linux

热门推荐