• 技术文章 >运维 >linux运维

    linux openvpn是什么

    青灯夜游青灯夜游2023-03-17 09:26:34原创155

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

    本教程操作环境:linux7.3系统、Dell G3电脑。

    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视频教程

    以上就是linux openvpn是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:openvpn linux
    上一篇:linux容器是什么 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • linux中命令表示什么• 可以用u盘装linux吗• linux软件安装在哪个目录• 为什么linux系统时间总变• linux光盘无法挂载怎么办• linux容器是什么
    1/1

    PHP中文网