概述

Sub-menu: /ppp

MikroTik RouterOS 提供可扩展的身份验证、授权和记帐 (AAA) 功能。

使用用户数据库和配置文件数据库执行本地身份验证。 给定用户的实际配置是使用用户数据库中的相应用户记录、配置文件数据库中的关联项目以及配置文件数据库中的项目组成的,配置文件数据库中的项目被设置为用户正在验证的给定服务的默认值。 配置文件数据库中的默认配置文件设置具有最低优先级,而用户数据库中的用户访问记录设置具有最高优先级,唯一的例外是特定 IP 地址优先于本地地址和远程地址设置中的 IP 池,稍后描述。

对 RADIUS 身份验证的支持使 ISP 或网络管理员能够在整个大型网络中从一台服务器管理 PPP 用户访问和计费。 MikroTik RouterOS 有一个 RADIUS 客户端,它可以为 PPP、PPPoEL2TP 和 ISDN 连接。 从 RADIUS 服务器收到的属性会覆盖默认配置文件中设置的属性,但如果未收到某些参数,则它们会从相应的默认配置文件中获取。

用户配置文件

Sub-menu: /ppp profile

PPP 配置文件用于定义存储在“/ppp secret”Submenu下的用户访问记录的默认值。 /ppp secret 用户数据库中的设置会覆盖相应的 /ppp profile 设置,但当指定为本地地址或远程地址参数时,单个 IP 地址始终优先于 IP 池。

属性

属性 说明
address-list (string; Default: ) 地址列表 将添加 ppp 分配地址的名称。
bridge (string; Default: ) bridge 接口的名称,ppp 接口将作为从端口添加到该接口。 两个隧道端点(服务器和客户端)都必须在桥接中才能使这项工作正常进行,请参阅 BCP 桥接
bridge-horizon (integer 0..429496729; Default: ) 为动态创建的网桥端口使用水平分割值。 可用于防止桥接环路和隔离流量。 为一组端口设置相同的值,防止它们向具有相同水平值的端口发送数据。
bridge-learning (default | no | yes; Default: default) 更改动态创建的桥接端口上的 MAC 学习行为:
- yes - 启用 MAC 学习
- no - 禁用 MAC 学习
- default - 从接口默认配置文件中获取此值; 如果这是接口默认配置文件,则与 yes 相同
bridge-path-cost (integer 0..429496729; Default: ) 动态创建的桥接端口使用的路径成本,STP/RSTP 使用它来确定最佳路径,MSTP 使用它来确定区域之间的最佳路径。 当网桥协议模式设置为无时,此属性无效。
bridge-port-priority (integer 0..240; Default: ) 动态创建的桥接端口使用的优先级,STP/RSTP用于确定根端口,MSTP用于确定区域间的根端口。 当网桥协议模式设置为无时,此属性无效。
change-tcp-mss (yes | no | default; Default: default) 修改连接 MSS 设置(仅适用于 IPv4):
- yes - 调整连接 MSS 值
- no - 不调整连接 MSS 值
- default - 从接口默认配置文件中获取该值; 如果这是接口默认配置文件,则与no相同
comment (string; Default: )
dhcpv6-pd-pool (string; Default: ) IPv6 地址池 的名称将由动态创建的 DHCPv6-PD 服务器 当客户端连接时。 阅读更多 >>
dns-server (IP; Default: ) 提供给 ppp 客户端的 DNS 服务器的 IP 地址
idle-timeout (time; Default: ) 指定在没有活动存在的情况下链接将终止的时间量。 默认情况下不设置超时
incoming-filter (string; Default: ) 传入数据包的防火墙链名称。 指定链控制来自客户端的每个数据包。 应手动添加 ppp 链,并应将带有 action=jump jump-target=ppp 的规则添加到其他相关链,以便此功能起作用。 有关详细信息,请查看 示例 部分
local-address (IP address | pool; Default: ) 地址池 的隧道地址或名称,地址从中分配给本地 ppp 接口。
name (string; Default: ) PPP 配置文件名
only-one (yes | no | default; Default: default) 定义是否允许用户一次拥有多个 ppp 会话
- yes - 一个用户一次不允许有一个以上的 ppp 会话
- no - 允许用户一次拥有多个 ppp 会话
- default - 从接口默认配置文件中导出该值; 如果这是接口默认配置文件,则与否相同
outgoing-filter (string; Default: ) 传出数据包的防火墙链名称。 指定的链控制每个发往客户端的数据包。 应手动添加 PPP 链,并应将带有 action=jump jump-target=ppp 的规则添加到其他相关链,以便此功能起作用。 有关详细信息,请参阅示例部分。
rate-limit (string; Default: ) rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold 形式的速率限制 ] [rx-burst-time[/tx-burst-time] [优先级] [rx-rate-min[/tx-rate-min]]]] 来自 路由器的角度(所以“rx”是客户端上传,“tx”是客户端下载)。 所有速率均以比特每秒为单位,除非后跟可选的“k”后缀(千比特每秒)或“M”后缀(兆比特每秒)。 如果未指定 tx-rate,则 rx-rate 也用作 tx-rate。 这同样适用于 tx-burst-rate、tx-burst-threshold 和 tx-burst-time。 如果未指定 rx-burst-threshold 和 tx-burst-threshold(但指定了 burst-rate),则使用 rx-rate 和 tx-rate 作为突发阈值。 如果 rx-burst-time 和 tx-burst-time 均未指定,则默认使用 1s。 优先级取值 1..8,其中1表示最高优先级,8 最低。 如果未指定 rx-rate-min 和 tx-rate-min,则使用 rx-rate 和 tx-rate 值。 rx-rate-min 和 tx-rate-min 值不能超过 rx-rate 和 tx-rate 值。
remote-address (IP; Default: ) 地址池 的隧道地址或名称,地址从中分配给远程 ppp 接口。
remote-ipv6-prefix-pool (string | none; Default: none) 将 IPv6 池中的前缀分配给客户端并安装相应的 IPv6 路由。
session-timeout (time; Default: ) 连接可以保持的最长时间。 默认情况下没有设置时间限制。
use-compression (yes | no | default; Default: default) 指定是否使用数据压缩。
- yes - 启用数据压缩
- no - 禁用数据压缩
- default - 从接口默认配置文件中获取此值; 如果这是接口默认配置文件,则与 no 相同
此设置不影响 OVPN 隧道。
use-encryption (yes | no | default | require; Default: default) 指定是否使用数据加密。
- yes - 启用数据加密
- no - 禁用数据加密
- default - 从接口默认配置文件中获取此值; 如果这是接口默认配置文件,则与否相同
- require - 明确要求加密
此设置不适用于 OVPN 和 SSTP 隧道。
use-ipv6 (yes | no | default | require; Default: default) 指定是否允许 IPv6。 如果安装了 IPv6 包,则默认启用。
- yes - enable IPv6 support
- no - 禁用 IPv6 支持
- default - 从接口默认配置文件中获取该值; 如果这是接口默认配置文件,则与否相同
- require - 明确要求 IPv6 支持
use-mpls (yes|no | default | require; Default: default) 指定是否允许 MPLS over PPP
- yes - 启用 MPLS 支持
- no - 禁用 MPLS 支持
- default - 从接口默认配置文件中获取此值; 如果这是接口默认配置文件,则与否相同
- require - 明确要求 MPLS 支持
on-up (script; Default: ) 在用户登录事件上执行脚本。 这些是事件脚本可访问的可用变量:
- user
- local-address
- remote-address
- caller-id
- called-id
- interface
on-down (script; Default: ) 在用户注销时执行脚本。 有关更多详细信息,请参见上页
wins-server (IP address; Default: ) 提供给 Windows 客户端的 WINS 服务器的 IP 地址

注意

有两个默认配置文件无法删除:

[admin@rb13] ppp profile> print
Flags: * - default
 0 * name="default" use-compression=no use-encryption=no only-one=no
     change-tcp-mss=yes
 1 * name="default-encryption" use-compression=default use-encryption=yes
     only-one=default change-tcp-mss=default
[admin@rb13] ppp profile>

incoming-filteroutgoing-filter 参数将动态跳转规则添加到链 ppp_,其中 jump-target 参数将等于配置文件中的 _incoming-filteroutgoing-filter 参数。 因此,应在更改这些参数之前手动添加链 ppp

如果使用 RADIUS 身份验证,则忽略 only-one 参数。

用户数据库

Sub-menu: /ppp secret

PPP 用户数据库存储 PPP 用户访问记录以及分配给每个用户的 PPP 用户配置文件。

属性

Property Description
caller-id (string; Default: ) 对于 PPTPL2TP 它是客户端必须连接的 IP 地址。 对于 PPPoE,它是客户端必须连接的 MAC 地址(以大写字母书写)。 对于 ISDN,它是呼叫者的号码(运营商可能提供也可能不提供)
comment (string; Default: ) 用户的简短描述。
disabled (yes | no; Default: no) 是否会使用 secret。
limit-bytes-in (integer; Default: 0) 客户端可以上传的会话的最大字节数。
limit-bytes-out (integer; Default: 0) 客户端可以下载的会话的最大字节数。
local-address (IP address; Default: ) 将在 ppp 接口上本地设置的 IP 地址。
name (string; Default: ) 用于身份验证的名称
password (string; Default: ) 用于身份验证的密码
profile (string; Default: default) 使用哪个用户配置文件
remote-address (IP; Default: ) 将分配给远程 ppp 接口的 IP 地址。
remote-ipv6-prefix (IPv6 prefix; Default: ) 分配给 ppp 客户端的 IPv6 前缀。 前缀添加到 ND 前缀列表 启用无状态 在 ppp 接口上自动配置地址。从 v5.0 开始可用。
routes (string; Default: ) 客户端连接时出现在服务器上的路由。 路由格式为:dst-address gateway metric(例如,10.1.0.0/ 24 10.0.0.1 1)。 其他语法是不可接受的,因为它可能以不正确的方式表示。 可以指定多个路由,并用逗号分隔。 OpenVPN 将忽略此参数。
service (any | async | isdn | l2tp | pppoe | pptp | ovpn | sstp; Default: any) 指定特定用户将能够使用的服务。

活跃用户

Sub-menu: /ppp active

此Submenu允许监视活动(已连接)用户。

/ppp active print 命令将显示所有当前连接的用户。

/ppp active print stats 命令将显示接收/发送的字节和数据包

属性

属性 说明
address (IP address) 客户端从服务器获取的IP地址
bytes (integer) 通过此连接传输的字节数。第一个数字表示从路由器的角度来看传输的流量,而第二个数字表示接收的流量。
caller-id (string) 对于 PPTPL2TP 它是客户端连接的 IP 地址。 对于 PPPoE,它是客户端连接的 MAC 地址。
encoding (string) 显示在此连接中使用的加密和编码(如果不对称,则用“/”分隔)
limit-bytes-in (integer) 允许用户发送到路由器的最大字节数。
limit-bytes-out (integer) 允许用户发送给客户端的最大字节数。
name (string) 在身份验证阶段提供的用户名
packets (integer/integer) 通过此连接传输的数据包数量。第一个数字表示从路由器的角度来看传输的流量,而第二个数字表示接收的流量
service (async | isdn | l2tp | pppoe | pptp | ovpn | sstp) 用户正在使用的服务类型。
session-id (string) 显示唯一的客户端标识符。
uptime (time) 用户上线时间

远程 AAA

Sub-menu: /ppp aaa

此Submenu中的设置允许设置 RADIUS计费和身份验证。 请注意,只有在本地用户数据库中找不到所需的用户名时,才会查询 RADIUS 用户数据库。

属性

属性 说明
accounting (yes | no; Default: yes) 允许RADIUS计费
interim-update (time; Default: 0s) 临时更新时间间隔
use-radius (yes | no; Default: no) 通过 RADIUS 启用用户身份验证。如果在本地秘密数据库中找不到条目,​​则客户端将通过 RADIUS 进行身份验证。

例子

添加新配置文件

添加配置文件 ex 为路由器本身分配 10.0.0.1 地址,并将 ex 池中的地址分配给客户端,通过 mypppclients 链过滤来自客户端的流量:

[admin@rb13] ppp profile> add name=ex local-address=10.0.0.1 remote-address=ex incoming-filter=mypppclients
[admin@rb13] ppp profile> print
Flags: * - default
 0 * name="default" use-compression=no use-vj-compression=no use-encryption=no only-one=no
     change-tcp-mss=yes
 1   name="ex" local-address=10.0.0.1 remote-address=ex use-compression=default
     use-vj-compression=default use-encryption=default only-one=default change-tcp-mss=default
     incoming-filter=mypppclients
 2 * name="default-encryption" use-compression=default use-vj-compression=default use-encryption=yes
     only-one=default change-tcp-mss=default
[admin@rb13] ppp profile>

添加新用户

要添加密码为 lkjrht 的用户 ex 和仅可用于 PPTP 服务的配置文件 ex,请输入以下命令:

[admin@rb13] ppp secret> add name=ex password=lkjrht service=pptp profile=ex
[admin@rb13] ppp secret> print
Flags: X - disabled
 #   NAME                SERVICE CALLER-ID         PASSWORD          PROFILE            REMOTE-ADDRESS
 0   ex                  pptp                      lkjrht            ex                 0.0.0.0
[admin@rb13] ppp secret>