概述

OpenVPN的安全模型是基于SSL的,SSL是通过互联网进行安全通信的行业标准。OpenVPN使用SSL/TLS协议实现OSI第2层或第3层安全网络扩展。

介绍

OpenVPN已经移植到各种平台,包括Linux和Windows,它的配置在这些系统上都是类似的,所以它更容易支持和维护。OpenVPN可以在用户数据报协议(UDP)或传输控制协议(TCP)传输上运行,在单个TCP/UDP端口上复用创建的SSL隧道。OpenVPN是少数几个可以使用代理的VPN协议之一,这有时可能很方便。

限制

目前,不支持的OpenVPN功能:

  • LZO压缩
  • TLS认证
  • 无需用户名/密码的身份验证

OpenVPN用户名不超过27个字符,密码不超过233个字符。

OVPN的客户

财产 描述
add-default-route是的|没有;默认值:没有 是否添加OVPN远端地址作为缺省路由。
身份验证md5|sha1||sha256|sha512;默认值:sha1 允许的身份验证方法。
证书字符串|没有一个;默认值:没有一个 客户端证书的名称
密码|aes128-cbc|aes128-gcm|aes192-cbc|aes192-gcm|aes256-cbc|aes256-gcm|blowfish128;默认值:blowfish128 允许密码。为了使用GCM类型的密码,“auth”参数必须设置为“null”,因为如果使用GCM密码,也负责“auth”。
评论字符串;默认值:) 项目的描述性名称
连接到知识产权;默认值:) OVPN服务器的远程地址。
禁用是的|没有;默认值:是的 接口是否被禁用。缺省情况下是关闭的。
mac地址MAC;默认值:) OVPN接口的Mac地址。如果未指定,将自动生成。
max-mtu整数;默认值:1500 最大传输单元。OVPN接口在不产生数据包碎片的情况下能够发送的最大数据包大小。
模式知识产权|以太网;默认值:知识产权 三层或二层隧道模式(可选tun、tap)
名字字符串;默认值:) 接口的描述性名称。
密码字符串;默认值:”“ 鉴权密码。
港口整数;默认值:1194 要连接的端口。
配置文件名字;默认值:默认的 指定建立隧道时使用哪一种PPP配置文件。
协议tcp|udp;默认值:tcp 指示与远程端点连接时使用的协议。
verify-server-certificate是的|没有;默认值:没有

根据“connect-to”参数检查证书CN或SAN。IP或主机名必须出现在服务器的证书中。

tls版本任何|只有- 1.2;默认值:任何 指定允许哪些TLS版本
use-peer-dns是的|没有;默认值:没有 是否将OVPN服务器提供的DNS服务器加入到IP/DNS配置中。

route-nopull是的|没有;默认值:没有

指定是否允许OVPN服务器向OVPN客户端实例路由表中添加路由。
用户字符串;默认值:) 用于认证的用户名。

此外,还可以从. OVPN配置文件导入OVPN客户机配置。这样的文件通常由OVPN服务器端提供,并且已经包含了配置,因此您只需要担心几个参数。

/interface/ovpn-client/import-ovpn-configuration ovpn-password=securepassword \ key-passphrase=certificatekeypassphrase ovpn-user=myuserid skip-cert-import=no

OVPN服务器

为每一条与给定服务器建立的隧道创建一个接口。在OVPN服务器的配置中有两种类型的接口

  • 如果需要引用为特定用户创建的特定接口名称(在防火墙规则或其他地方),则可以通过管理方式添加静态接口。
  • 动态接口将自动添加到此列表中,每当用户连接并且其用户名与任何现有的静态表项不匹配时(或者如果表项已经激活,因为不可能有两个单独的隧道接口被相同的名称引用)。

动态接口在用户连接时出现,一旦用户断开连接就消失,因此不可能在路由器配置中(例如在防火墙中)引用为该用途创建的隧道,因此如果需要为该用户创建持久规则,请为他/她创建静态条目。否则,可以安全地使用动态配置。

在这两种情况下,都必须正确配置PPP用户,静态表项不能替代PPP配置。

属性

财产 描述
身份验证md5|sha1||sha256|sha512;默认值:sha1、md5、sha256 sha512 服务器将接受的身份验证方法。
证书名字|没有一个;默认值:没有一个 OVPN服务器使用的证书名称。
密码|aes128-cbc|aes128-gcm|aes192-cbc|aes192-gcm|aes256-cbc|aes256-gcm|blowfish128;默认值:aes128-cbc, blowfish128 允许密码。
默认的配置名字;默认值:默认的 要使用的默认配置文件。
启用是的|没有;默认值:没有 定义是否启用OVPN服务器。
协议(tcp|udp;默认值:tcp) 指示与远程端点连接时使用的协议。
keepalive-timeout整数|禁用;默认值:60 定义路由器每秒钟开始发送keepalive报文的时间间隔(单位为秒)。如果在这段时间内(即2 * keepalive-timeout)没有流量和keepalive响应,则未响应的客户端被宣布断开连接
mac地址MAC;默认值:) 服务器自动生成的MAC地址。
max-mtu整数;默认值:1500 最大传输单元。OVPN接口在不产生数据包碎片的情况下能够发送的最大数据包大小。
模式知识产权|以太网;默认值:知识产权 三层或二层隧道模式(可选tun、tap)
子网掩码整数;默认值:24 客户端应用的子网掩码。
港口整数;默认值:1194 运行服务器的端口。
require-client-certificate是的|没有;默认值:没有 如果设置为yes,则服务器检查客户端证书是否属于同一证书链。
redirect-gatewaydef1|禁用|ipv6;默认值:禁用

指定OVPN客户端必须添加到路由表中的路由类型。

def1—使用该标志覆盖默认网关,使用0.0.0.0/1和128.0.0.0/1代替0.0.0.0/0。这样做的好处是覆盖而不是清除原来的默认网关。
禁用—禁止向OVPN客户端发送重定向网关标志。
ipv6—在客户端将IPv6路由重定向到隧道中。这与def1标志类似,即添加更具体的IPv6路由(2000::/4和3000::/4),覆盖整个IPv6单播空间。

enable-tun-ipv6(y西文|没有;默认值:没有

指定该OVPN服务器是否可以使用IPv6 IP隧道模式。

ipv6-prefix-len整数;默认值:64

在服务器端生成OVPN接口时使用的IPv6地址前缀长度。

tun-server-ipv6IPv6前缀;默认值:::

在服务器端生成OVPN接口时使用的IPv6前缀地址。

此外,还可以为OVPN客户端准备一个. OVPN文件,以便在终端设备上轻松导入。

/接口/ ovpn-server /服务器/ export-client-configuration ca证书= myCa。CRT \ client-certificate=client1。crt client-cert-key = client1。关键服务器地址= 192.168.88.1

路由器上的日期必须在安装证书的过期日期范围内,这一点非常重要。要克服任何证书验证问题,请启用国家结核控制规划服务器和客户端的日期同步。

例子

设置概述

假设办公室的公网IP地址为2.2.2.2,我们希望两个远程OVPN客户端能够访问办公室网关后面的10.5.8.20和192.168.55.0/24网络。

创建证书

所有证书都可以在RouterOS服务器上通过证书管理器生成。l雷竞技参见示例>>

对于最简单的设置,您只需要一个OVPN服务器证书。

服务器配置

第一步是创建一个IP池,将从中分配客户机地址和一些用户。

/ip pool add name=ovpn-pool range=192.168.77.2-192.168.77.254 /ppp配置文件add name=ovpn local-address=192.168.77.1 remote-address=ovpn-pool /ppp secret add name=client1 password=123 profile=ovpn add name=client2 password=234 profile=ovpn

假设已经创建了服务器证书并命名为“server”

/interface ovpn-server server set enabled=yes certificate=server

客户端配置

由于Routl雷竞技erOS不支持路由推送,你需要手动添加你想通过隧道访问的网络。

/interface ovpn-client add name=ovpn-client1 connect-to=2.2.2.2 user=client1 password=123 disabled=no /ip route add st-address=10.5.8.20 gateway=ovpn-client1 add st-address=192.168.55.0/24 gateway=ovpn-client1 /ip firewall add chain=srcnat action=masquerade out-interface=ovpn-client1
  • 没有标签