Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

面向用户的 L2TP LAC 隧道

LAC 隧道选择概述

当用户登录到域时,PPP 客户端会联系 LAC 建立连接。LAC 必须在域中找到目的地以及可以到达该目的地的隧道。目标、隧道和域之间的关联由订阅者访问配置文件中的域映射中的隧道配置文件或从 RADIUS 服务器接收的隧道组属性 (VSA 26-64) 中的隧道配置文件提供。RADIUS 属性优先于域映射中指定的配置文件。隧道配置文件包括隧道列表;每个隧道都与目标 IP 地址和隧道优先级相关联。

L2TP 使您能够指定:

  • 一个域最多 31 个目标。

  • 多达 8 级隧道优先级。优先级决定了 LAC 尝试使用现有隧道(或建立新隧道)到用户请求的域中目标的顺序。

    注意:

    零 (0) 是最高级别的首选项;这是最优选的级别。

    如果两条隧道都到达域中的有效目标,LAC 将首先选择具有最高优先级的隧道。例如,当隧道 A 的优先级为 1,隧道 B 的优先级为 4 时,LAC 将首先尝试使用隧道 A。

  • 单个首选项级别最多 31 个目的地。

当 LAC 确定应通过隧道配置文件对 PPP 会话进行隧道传输时,它会从与 PPP 用户或 PPP 用户的域关联的隧道集中选择一个隧道。

隧道选择受以下配置影响:

  • 首选项级别之间的故障转移 — 默认情况下,如果未在首选项级别中选择通向有效目标的隧道,则选择过程将故障转移到下一个级别;也就是说,LAC 下降到下一个较低级别以继续寻找合适的隧道。有关详细信息 ,请参阅配置首选项级别之间的故障转移时的选择

  • 首选项级别的故障转移 — 在这种情况下,LAC 不会将其建立会话的尝试限制为仅在首选项级别的单个隧道。如果尝试通过所选隧道失败,则选择过程会通过选择另一个合适的隧道到有效目标,在同一级别进行故障转移。LAC 继续在该级别内尝试连接,直到该级别没有更多通往有效目标的隧道可用。然后,LAC 下降到下一个较低级别以继续搜索。有关详细信息 ,请参阅配置首选项级别内的故障转移时的选择

  • 每个隧道的最大会话数 — 配置了每个隧道允许的最大会话数时,LAC 会在隧道选择过程中考虑该设置。可以通过 RADIUS 隧道最大会话数 VSA [26-33] 或将语句包含在 max-sessions 隧道配置文件中来配置每个隧道的最大会话数。

    当随机选择的隧道的当前会话计数等于其最大会话计数时,LAC 不会尝试使用该隧道连接到目标。相反,它会从该优先级的隧道集中选择一个备用隧道,这些隧道在域中具有有效的目标。如果当前优先级中不存在此类隧道,LAC 将下降到下一个首选项级别以进行选择。无论当前在 LAC 上运行哪种故障转移方案,此过程都是一致的。

    如果未为隧道配置最大会话数,则该隧道可以支持的会话数没有上限。默认情况下,最大会话值为 0(零),这允许隧道中的会话不受限制。

  • 加权负载平衡 — 此平衡方法使用基于概率的隧道权重评估来跨隧道分配会话。LAC 仍会在优先级内随机选择隧道,但平均而言,会话会根据隧道的权重分布在隧道中。隧道的权重由隧道的最大会话限制和处于相同优先级的其他隧道的最大会话限制决定。有关详细信息 ,请参阅加权负载平衡

  • 目标等额负载平衡 — 此会话均衡方法根据到目标的会话数和隧道携带的会话数评估隧道,以便在所有隧道之间平均分配会话负载。目标会话计数最低的隧道被确定为负载最轻。此过程在最高可用首选项级别的隧道上运行。有关详细信息 ,请参阅目标等额负载平衡

请考虑以下信息,以了解隧道和目标选择过程以及故障转移:

  • 多个隧道可能能够到达目标,这些隧道可以具有相同的优先级或不同的优先级。

  • 选择用于建立订阅者会话的隧道本身可能已经建立。这意味着它当前具有活动的会话。或者,如果尚未建立能够到达目标的隧道,LAC 可能必须建立一条通往目标的新隧道。

  • 有效目标满足以下条件:

    • 它可以通过未达到其最大会话限制的隧道到达。

    • 尚未就当前订阅者登录请求联系它。

    • 它可以被锁定或解锁。

  • 锁定的目标是正在运行目标锁定计时器的目标。锁定的目标将放在锁定列表中,直到计时器过期或被清除(重置为零)。无法联系列表中的目标以建立会话。

  • 未锁定的目标是指目标 锁定 计时器为零的目标。

  • 当 LAC 发现已锁定的有效目标时,它会将其放在“目标锁定未联系”列表中,该列表不同于包含所有锁定目标的锁定列表。“目的地锁定未联系”列表仅包含 LAC 尚未尝试联系以获取当前正在进行的订阅者登录的锁定目标。“目标锁定未联系”列表不包括 LAC 在尝试建立连接但未能建立连接后锁定的目标。

  • 您可以使用命令 clear services l2tp destination lockout 手动清除所有锁定的目标,或仅清除与指定的本地或远程网关地址匹配的锁定目标。例如,如果要清除特定目标,以便该目标在首选项级别中获得优先级,则可以使用该命令。

  • 仅当由于以下原因之一而无法访问目标时,作为隧道选择过程一部分的故障转移行为才适用:

    • 在达到最大重新传输尝试次数后,LNS 无法返回 SCCRP 消息以响应来自 LAC 的 SCCRQ 消息。

    • 隧道已建立,但在最大重新传输尝试次数后,LNS 不会返回 ICRP 消息以响应来自 LAC 的 ICRQ。

  • 此故障转移行为不适用于以下情况:

    • 客户端终止连接。

    • 隧道已建立,但 LNS 在 LAC 尝试与 LNS 建立会话时发送 CDN 消息,从而导致订阅者登录尝试失败。

配置首选项级别之间的故障转移时的选择

当用户尝试以默认配置登录到域时(即,当未配置首选项级别的故障转移和负载平衡时),LAC 会从最高隧道首选项级别开始搜索所请求域的有效目标。如果未找到有效的目标,或者尝试连接到目标失败,LAC 将下降到下一个较低级别以继续搜索。除最低级别外,所有级别的搜索过程都相同:

  1. 搜索首先从域的隧道配置文件中指定的所有隧道中识别出具有优先级别有效目标的隧道。

  2. 所有锁定的有效目标都放在“目标锁定未联系”列表中。不会尝试联系任何这些目的地。

  3. LAC 会从未锁定的有效目标中随机选择一个目标,并尝试通过关联的隧道进行连接;如果隧道没有当前会话,则 LAC 必须建立隧道。

    注意:

    随机选择是默认行为。配置加权负载平衡或目标等值负载平衡时,行为会有所不同。有关负载平衡的信息,请参阅 在多个 LNS 之间分配会话负载时的选择

    • 如果尝试成功,LAC 会将成功登录报告给 PPP 客户端。LAC 还会清除“目的地锁定未联系”列表中的所有目的地。

    • 如果 LAC 未收到响应,它将重试尝试,直至达到最大重试次数。如果 LAC 在未收到回复的情况下用尽重试次数,则尝试将被视为失败,LAC 会通过锁定目标将目标标记为无法访问。它将目标放在锁定列表中,并启动目标锁定计时器。

  4. LAC 接下来执行的操作取决于当前的首选项级别。

    • 如果它不是最低首选项级别,则 LAC 将下降到下一个较低的首选项级别并继续搜索过程。

    • 如果它是最低首选项级别,并且“目标锁定未联系”列表不为空,则 LAC 将解锁“目标锁定未联系”列表中的所有目标,并跳回到最高首选项级别并重新启动搜索过程。

    • 如果它是最低的首选项级别,并且“目标锁定未联系”列表为空(表示已尝试所有有效目标),则 LAC 会向 PPP 客户端报告登录失败。

  5. 当一个级别的有效目标全部锁定时,LAC 接下来执行的操作取决于当前的首选项级别。

    • 如果它不是最低首选项级别,则 LAC 将下降到下一个较低的首选项级别并继续搜索过程。

    • 如果它是最低的首选项级别,LAC 将选择剩余锁定时间最短的锁定有效目标。它会清除锁定计时器并尝试连接到目标并建立会话。

      • 如果尝试成功,LAC 会将成功登录报告给 PPP 客户端。

      • 如果尝试失败,并且“目标锁定未联系”列表为空(表示已尝试所有有效目标),则 LAC 会向 PPP 客户端报告登录失败。

      • 如果尝试失败,并且“目标锁定未联系”列表不为空,则 LAC 将解锁“目标锁定未联系”列表中的所有目标,跳回到最高首选项级别,然后重新启动搜索过程。

  6. 当不存在有效目标时,LAC 接下来执行的操作取决于当前的首选项级别。

    • 如果它不是最低首选项级别,则 LAC 将下降到下一个较低的首选项级别并继续搜索过程。

    • 如果它是最低的首选项级别,并且“目标锁定未联系”列表为空(表示已尝试所有有效目标),则 LAC 会向 PPP 客户端报告登录失败。

    • 如果它是最低首选项级别,并且“目标锁定未联系”列表不为空,则 LAC 将解锁“目标锁定未联系”列表中的所有目标,跳回到最高首选项级别,然后重新启动该过程。

  7. 搜索和故障转移过程在各个级别之间循环,直到建立会话或尝试所有有效目标(“目标锁定未联系”列表中没有目标),登录失败。

图 1 说明了可能的条件和决策点,这些条件和决策点决定了在隧道优先级之间发生故障转移的默认情况下选择目标和相应的隧道。

图 1:在首选项级别 Destination and Tunnel Selection Process with Failover Between Preference Levels之间进行故障转移的目标和隧道选择过程

例如,假设隧道配置文件包含以下隧道,每个隧道都有一个有效的目标:

  • 优先级 0,隧道 1,192.168.10.10

  • 首选项 1,隧道 2,192.168.22.22

  • 首选项 1,隧道 3,192.168.33.33

  • 首选项 2,隧道 4,192.168.44.44

未配置首选项内的故障转移和负载平衡。

当 PPP 用户尝试连接到域时,LAC 的作用如下:

  1. 在最高优先级 0 时,LAC 选择隧道 1,因为它是该级别中唯一具有有效目标的隧道。LAC 尝试到达 192.168.10.10。

  2. 此连接尝试失败,因此 LAC 锁定 192.168.10.10。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。

  3. LAC 丢弃(故障转移)到下一个级别,即首选项级别 1,以到达域的目标。LAC 通过隧道 2 在 192.168.22.22 和通过隧道 3 的 192.168.33.33 之间随机选择。它选择 192.168.22.22 并尝试通过隧道 2 进行连接。

  4. 与 192.168.22.22 的连接尝试失败,因此 LAC 锁定 192.168.22.22。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。

    注意:

    即使隧道 3 具有未锁定的有效目标,LAC 现在也无法选择该隧道以到达 192.168.33.33,因为当故障转移方法介于优先级别之间时,LAC 每次在某个级别中搜索时,只能尝试一次到达有效目标。

  5. 在此示例中,LAC 下降到最终(最低)级别,即首选项级别 2。LAC 选择隧道 4,因为它是关卡中唯一具有有效目标的隧道。LAC 尝试达到 192.168.44.44。

  6. 与 192.168.44.44 的连接尝试也会失败,因此 LAC 锁定 192.168.44.44。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。

  7. 由于这是最低级别,并且“目的地锁定未联系”列表为空,因此 LAC 拒绝来自 PPP 客户端的登录请求。

    目标 192.168.10.10、192.168.22.22 和 192.168.44.44 已锁定,但未添加到“目标锁定未联系”列表中,因为 LAC 在尝试连接后将其锁定。未联系目标 192.168.33.33,但未添加到“目标锁定未联系”列表中,因为它未被锁定。

  8. 客户端尝试再次登录,LAC 重复隧道选择过程,从首选项级别 0 重新开始以检查未锁定的有效目标,并根据需要循环通过这些级别。

  9. 在优先级 0 时,192.168.10.10 是唯一有效的目标,但仍处于锁定状态,因此 LAC 无法尝试连接到目标。LAC 将 192.168.10.10 添加到“目标锁定未联系”列表中,然后下降到首选项级别 1。

    注意:

    请记住,目标锁定计时器适用于全局,因此它会在多个订阅者登录后持续存在。“目标锁定未联系”列表仅适用于给定的订阅者登录,不会保留。尽管 LAC 为此订阅者联系了 192.168.10.10,但这是在上次登录尝试期间。在此登录尝试中,由于锁定,它无法联系目标,因此将目标放在“目标锁定未联系”列表中。

  10. 在首选项级别 1 时,192.168.22.22 仍处于锁定状态,因此 LAC 会将 192.168.22.22 添加到“目标锁定未联系”列表中。192.168.33.33 仍然可用。LAC 尝试通过隧道 3 连接到 192.168.33.33。

  11. 此连接尝试失败,因此 LAC 锁定 192.168.33.33。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。LAC 降至首选项级别 2。

  12. 192.168.44.44 仍处于锁定状态,因此 LAC 将 192.168.44.44 添加到“目标锁定未联系”列表中。

  13. 这是最低的首选项级别,但这次“目的地锁定未联系”列表不为空;它包含 192.168.10.10、192.168.22.22 和 192.168.44.44。LAC 解锁“目标锁定未联系”列表中的所有目标,然后跳回到最高首选项级别。

  14. 在首选项级别 0 时,LAC 尝试连接到 192.168.10.10,因为它已解锁。LAC 建立会话并向 PPP 客户端报告成功登录。

尽管 LAC 不会尝试联系被锁定的目标,但当 LAC 达到最低优先级别时,存在特殊情况。关卡必须具有多个有效目标,并且必须锁定所有目标。例如,假设隧道配置文件包含以下隧道,每个隧道都有一个有效的目标:

  • 优先级 0,隧道 1,192.168.10.10

  • 首选项 1,隧道 2,192.168.22.22。目标已锁定,锁定计时器当前为 245 秒。

  • 首选项 1,隧道 3,192.168.33.33。目标已锁定,锁定计时器当前为 180 秒。

未配置首选项内的故障转移和负载平衡。

当 PPP 用户尝试连接到域时,LAC 的作用如下:

  1. 在最高优先级 0 时,LAC 选择隧道 1,因为它是该级别中唯一具有有效目标的隧道。LAC 尝试到达 192.168.10.10。

  2. 此连接尝试失败,因此 LAC 锁定 192.168.10.10。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。

  3. LAC 下降到下一个级别,即首选项级别 1,以到达域的目标。此级别的两个有效目标 192.168.22.22 和 192.168.33.33 都被锁定。

  4. LAC 会将这两个目标添加到“目标锁定未联系”列表中。

  5. 由于这是最低优先级,因此 LAC 会确定哪个目标的剩余锁定时间较短。它选择 192.168.33.33,因为它的剩余锁定时间(180 秒)比 192.168.22.22(245 秒)短。LAC 解锁 192.168.33.33,并尝试通过隧道 3 进行连接。因此,LAC 还会从“目的地锁定未联系”列表中删除 192.168.33.33。

  6. 连接尝试成功,并建立了到 192.168.33.33 的会话。LAC 会向 PPP 客户端报告成功登录。

在首选项级别内配置故障转移时选择

在首选项级别 配置故障转移时,目标和隧道选择过程与默认配置相同,但有一个例外:LAC 不限于在首选项级别上仅尝试一次连接。

当 LAC 尝试连接到未锁定的有效目标但不成功时,它会锁定该目标,但不会立即下降到下一个较低级别。相反,如果同一首选项级别有另一个未锁定的有效目标可用,LAC 将尝试连接到该目标。

如果 LAC 未连接,则它将继续尝试到达该首选项级别内的目标,直到不再尝试解锁的有效目标。此时,LAC 将下降到下一个较低的首选项级别进行搜索。在每个级别,LAC 搜索并尝试连接到有效目标,直到没有未锁定的有效目标可用。

如果 LAC 下降到最低首选项级别,并且找不到未锁定的有效目标,则行为取决于“目标锁定未联系”列表:

  • 如果“目标锁定未联系”列表不为空,则 LAC 将解锁“目标锁定未联系”列表中的所有目标,并跳回到最高首选项级别并重新启动搜索过程。

  • 如果 DestinationsLockedNotContact 为空(表示已尝试所有有效目标),则 LAC 会向 PPP 客户端报告登录失败。

例如,假设隧道配置文件指定了以下隧道和目标。未配置负载平衡。所有目的地均有效;除 192.168.3.3 外,所有均已解锁。隧道的优先级分配如下:

  • 首选项 0,隧道 1,192.168.1.1,已解锁

  • 优先级 0,隧道 2,192.168.2.2,已解锁

  • 优先级 0,通道 3,192.168.3.3,锁定计时器 100 秒

  • 首选项 1,隧道 4,192.168.4.4,已解锁

  • 首选项 1,隧道 5,192.168.5.5,已解锁

在此示例中,当 PPP 用户尝试连接到域时,LAC 的作用如下:

  1. LAC 在优先级为 0 的两个未锁定的有效目标之间随机选择,即通过隧道 1 的 192.168.1.1 和通过隧道 2 的 192.168.2.2。它选择 192.168.2.2 并尝试通过隧道 2 进行连接。

  2. 与 192.168.2.2 的连接尝试失败,因此 LAC 锁定 192.168.2.2。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。

  3. 然后,LAC 尝试通过优先级为 0 的隧道 1 连接到 192.168.1.1。

  4. 与 192.168.1.1 的连接尝试失败,因此 LAC 锁定 192.168.1.1。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。

  5. 通过隧道 3 的 192.168.3.3 是优先级 0 处唯一剩余的有效目标,但它已被锁定。LAC 将 192.168.3.3 添加到“目的地锁定未联系”列表中。LAC 未将 192.168.1.1 和 192.168.2.2 添加到 DestinationsLockedNotContact 列表中,因为它在尝试联系它们后将其锁定。

  6. 由于级别 0 不再有未锁定的有效目标,因此 LAC 将下降到下一个级别(首选项级别 1)以到达域的目标。

  7. 在优先级 1 时,LAC 随机选择 192.168.4.4 并尝试通过隧道 4 进行连接。

  8. 与 192.168.4.4 的连接尝试失败,因此 LAC 锁定 192.168.4.4。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。

  9. 然后,LAC 尝试通过优先级为 1 的隧道 5 连接到 192.168.5.5。

  10. 与 192.168.5.5 的连接尝试失败,因此 LAC 锁定 192.168.5.5。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。级别 1 不再有未锁定的有效目的地。由于“目标锁定未联系”列表不为空,因此 LAC 将解锁列表中的所有目标(在本例中为 192.168.3.3),并跳回到最高首选项级别 0。

  11. 192.168.3.3 现在是首选项级别 0 的唯一未锁定目标,因此 LAC 尝试通过隧道 3 连接到该目标。

  12. 与 192.168.3.3 的连接尝试失败,因此 LAC 锁定 192.168.3.3。在此登录尝试期间不会再次考虑它,并且在目标锁定计时器到期之前,不能考虑将其用于任何登录尝试。

  13. 由于级别 0 不再有未锁定的有效目标,因此 LAC 将下降到下一个级别,即首选项级别 1。

  14. 首选项级别 1 没有未锁定的有效目标。DestinationsLockedNotContact 为空,因为 LAC 已联系两个首选项级别的所有有效目标。LAC 拒绝来自 PPP 客户端的登录请求。

在多个 LNS 之间分配会话负载时的选择

可以在 LAC 上配置多个隧道配置文件;某些隧道可能会共享目的地。当 LAC 将 PPP 订户的会话隧道连接到 LNS 时,必须为订户会话选择隧道。隧道选择过程会选择具有最高优先级且具有可到达目标的隧道。默认情况下,LAC 从满足相同条件的多个隧道中随机选择一个隧道。或者,您可以配置负载平衡以启用不同的选择选项。这两种负载平衡方法都会影响 LAC 选择的隧道和目标,但选择和故障转移过程保持不变。

注意:

加权负载平衡和目标等值负载平衡是互斥的。您只能启用其中一个。

加权负载平衡

加权负载平衡根据隧道的权重评估隧道。隧道的权重由隧道的最大会话限制和处于相同优先级的其他隧道的最大会话限制决定。具有最高最大会话限制的隧道在该首选项级别中具有最高权重。具有下一个最高最大会话限制的隧道具有下一个最高权重,依此类推。具有最低最大会话限制的隧道具有最低的权重。

注意:

隧道选择和会话分配是基于概率的;负载不是严格根据重量分配的。

配置加权负载平衡时,LAC 仍会在首选项级别内随机选择隧道,但平均而言,会话会根据隧道的权重分布在各个隧道中。

借助加权负载平衡,LAC 会在一定范围内生成一个随机数,该随机数等于首选项级别中所有隧道的所有会话限制的总和。它将范围的一部分(数字池)与与隧道权重成比例的每个隧道相关联。与权重较低的隧道相比,权重较高的隧道与范围的更大部分(较大的池)相关联。当随机数位于其关联的数字池中时,将选择隧道。平均而言,随机数更有可能位于较大的池中,因此与权重较低的隧道(池较小)相比,更有可能选择权重较高的隧道(较大的池)。

例如,考虑一个只有两个隧道(1 和 2)的优先级。隧道 1 的最大限制为 1000 个会话,隧道 2 的最大限制为 2000 个会话,因此总共有 3000 个会话。LAC 从 3000 的池中生成一个随机数,范围从 0 到 2999。包含 1000 个数字的池(范围从 0 到 999 的部分)与隧道 1 相关联。包含 2000 个数字的池(范围从 1000 到 2999 的部分)与隧道 2 相关联。

  • 当生成的数字小于 1000 时,将选择隧道 1,即使其权重 (1000) 低于隧道 2 (2000)。

  • 当生成的数字为 1000 或更大时,将选择隧道 2。

由于隧道 2 (2000) 的可能生成编号池是隧道 1 (1000) 的两倍,因此隧道 2 的平均选择频率是隧道 1 的两倍。

目标等额负载平衡

目标等额负载平衡根据到目标的会话数和隧道携带的会话数评估隧道,以便在所有隧道之间平均分配会话负载。目标会话计数最低的隧道被视为负载最轻。此过程在最高可用优先级的隧道上运行,并使用以下准则:

  • 当每个隧道转到单独的目标,并且所有目标中只有一个目标的会话计数最低时,LAC 将选择到该目标的隧道。

  • 当每个隧道通向一个单独的目标,并且多个目标具有相同的最低会话计数时,LAC 会从通向这些目标的隧道中随机选择一个隧道。

  • 当多个隧道通向同一目标且该目标的目标会话计数最低时,LAC 将从这些隧道中选择隧道会话总数最少的隧道。如果所有这些隧道的隧道会话计数都相同,则 LAC 会随机选择其中一个隧道。

请考虑以下方案,以更好地了解启用目标等值负载平衡时的隧道选择行为。

在场景 1 中,每个隧道都有不同的有效目标,并且仅评估目标会话计数:

  • 隧道 1,优先级 1,192.168.1.1,目标会话计数 = 200

  • 隧道 2,优先级 1,192.168.2.2,目标会话计数 = 50

  • 隧道 3,优先级 1,192.168.3.3,目标会话计数 = 300

  • 隧道 4,优先级 1,192.168.4.4,目标会话计数 = 100

当第一个 PPP 用户尝试连接到域时,LAC 会选择隧道 2,因为它处于最高优先级 1,并且具有会话计数最低的有效目标 B,50。

当其他 PPP 用户尝试连接到域时,LAC 的作用如下:

  1. 将继续选择隧道 2,直到 192.168.2.2 的会话计数等于 100,与隧道 4 中的下一个最低会话计数 192.168.4.4 匹配。

  2. 当下一个订阅者登录时,LAC 会在隧道 2 和隧道 4 之间随机选择,因为它们的目标具有相同的会话计数,并且低于其他目标的会话计数。

  3. 无论从该对中选择哪条隧道,其目标的会话计数现在都是 101。另一个隧道在下一个订阅者登录时被选中,因为它的目标会话计数较低,为 100。这会将其目标会话计数提高到 101,与其他隧道匹配。

  4. 随着订阅者继续登录,LAC 将重复此过程,当会话计数匹配时,在隧道 2 和隧道 4 之间随机选择,然后与下一个订阅者选择另一个隧道,直到其目标会话计数都达到 200,从而匹配隧道 1。

  5. 当下一个订阅者登录时,LAC 现在会在隧道 1、隧道 2 和隧道 4 中随机选择,因为 192.168.1.1、192.168.2.2、192.168.3.3 都具有相同的会话计数 200。所选隧道的目标会话计数将提高到 201,因此对于下一个订阅者,LAC 会在其他两个隧道之间随机选择。现在,两条隧道的目标会话计数为 201,因此 LAC 会为下一个订阅者选择剩余的隧道。

  6. 随着订阅者继续登录,LAC 将重复此过程,在其会话计数匹配时在隧道 1、隧道 2 和隧道 4 中随机选择,在下一个订阅者的剩余对之间随机选择,然后选择剩余隧道,以便这三个隧道的目标会话计数再次匹配。此模式一直持续到所有三个隧道的目标会话计数达到 300,与隧道 3 匹配。

  7. 现在,所有四个隧道的目标都具有相同的会话计数。因为只有四个隧道,所以建立了最终模式。LAC 首先在所有四个隧道中随机选择,然后是剩余的三个隧道,然后是剩余的一对,最后选择最后一个隧道。当目标会话计数都相同时,LAC 将再次启动此模式。

在方案 2 中,两个隧道共享相同的有效目标。隧道会话计数和目标会话计数都将被评估:

  • 隧道 1,优先级 1,隧道会话计数 = 120,192.168.1.1,目标会话计数 = 200

  • 隧道 2,优先级 1,隧道会话计数 = 80,192.168.1.1,目标会话计数 = 200

  • 隧道 3,优先级 1,192.168.2.2,目标会话计数 = 300

  • 隧道 4,优先级 2,192.168.3.3,目标会话计数 = 100

当第一个 PPP 用户尝试连接到域时,LAC 首先在目标之间进行选择。192.168.1.1 和 192.168.2.2 的隧道均处于优先级 1。LAC 选择 192.168.1.1,因为它的会话计数 (200) 低于 192.168.2.2 (300)。然后,LAC 必须在隧道 1 和隧道 2 之间进行选择,因为两者都转到 192.168.1.1。LAC 评估隧道会话计数。隧道 2 的计数 (80) 低于隧道 1 (120),因此 LAC 为第一个订阅者选择隧道 2。

当其他 PPP 用户尝试连接到域时,LAC 的作用如下:

  1. 将继续选择隧道 2,直到其隧道会话计数增加到 120,与隧道 1 匹配。

  2. 当下一个订阅者登录时,LAC 会在隧道 1 和隧道 2 之间随机选择,因为它们具有相同的隧道会话计数。所选隧道的隧道会话计数将增加到 121。

  3. 当下一个订阅者登录时,LAC 会选择另一个隧道到 192.168.1.1,因为它的隧道会话计数较低。从这一点开始,LAC 继续交替,首先在隧道 1 和隧道 2 之间进行随机选择,然后选择另一个隧道,直到目标会话计数上升到 300,与隧道 3 中 192.168.2.2 的会话计数匹配。(此时,隧道 1 和隧道 2 的隧道会话计数均为 150。

  4. 对于下一个订阅者,LAC 在隧道 1、2 和 3 中随机选择。

    • 如果 LAC 选择隧道 1 或隧道 2,则 192.168.1.1 会话计数将增加到 301。因此,LAC 为下一个订阅者选择隧道 3,因为 192.168.2.2 会话计数仍为 300。此时,两个目标再次具有相同的会话计数。

    • 如果 LAC 选择隧道 3,则 192.168.2.2 会话计数将增加到 301。对于下一个订阅者,LAC 在隧道 1 和隧道 2 之间随机选择,因为它们都转到 192.168.1.1。无论 LAC 选择哪一个,192.168.1.1 会话计数都会增加到 301。此时,两个目标再次具有相同的会话计数。

      注意:

      不再评估隧道 1 和 2 的隧道会话计数;LAC 仅考虑 192.168.1.1 和 192.168.2.2 的目标会话计数。

      此模式对所有后续订阅者继续。

在场景 3 中,每个隧道都有不同的有效目标,并且仅评估目标会话计数:

  • 隧道 1,优先级 1,192.168.1.1,目标会话计数 = 100

  • 隧道 2,优先级 1,192.168.2.2,目标会话计数 = 100

  • 隧道 3,优先级 1,192.168.3.3,目标会话计数 = 100

  • 隧道 4,优先级 1,192.168.4.4,目标会话计数 = 100

当第一个 PPP 用户尝试连接到域时,LAC 在首选项级别确定所有四个隧道的所有目标的目标会话计数相同。因此,LAC 在四个隧道中随机选择。

假设 LAC 为第一个订阅者选择隧道 1。

当其他 PPP 用户尝试连接到域时,LAC 的作用如下:

  1. LAC 在隧道 2、3 和 4 中随机选择,因为目标 192.168.2.2、192.168.3.3 和 192.168.4.4 都具有相同的会话计数 100,这低于 192.168.1.1、101 的当前会话计数。

  2. 假设 LAC 选择隧道 2。对于下一个订阅者,LAC 在隧道 3 和隧道 4 之间随机选择,因为 192.168.3.3 和 192.168.4.4 都具有相同的会话计数 100,这低于 192.168.1.1 和 192.168.2.2 的当前会话计数 101。

  3. 假设 LAC 选择隧道 3。对于下一个订阅者,LAC 选择隧道 4,因为 192.168.4.4 的会话计数为 100,所有其他目标的会话计数为 101。

  4. 现在,所有四个隧道的目标都具有相同的会话计数。因为只有四个隧道,所以建立了最终模式。当用户继续登录时,LAC 首先在所有四个隧道中随机选择,然后是剩余的三个隧道,然后是剩余的一对隧道,最后选择最后一个隧道。当目标会话计数都相同时,LAC 将再次启动此模式。

在方案 4 中,LAC 会评估目标会话限制和隧道最大会话限制:

  • 隧道 1,优先级 1,192.168.1.1,目标会话计数 = 30,隧道最大会话限制 = 200

  • 隧道 2,优先级 1,192.168.2.2,目标会话计数 = 40,隧道最大会话限制 = 200

  • 隧道 3,优先级 1,192.168.3.3,目标会话计数 = 300,隧道最大会话限制 = 1000

  • 隧道 4,优先级 2,192.168.4.4,目标会话计数 = 100

当第一个 PPP 用户尝试连接到域时,LAC 会选择隧道 1,因为 192.168.1.1 在首选项级别中的会话计数最低。

当其他 PPP 用户尝试连接到域时,LAC 的作用如下:

  1. LAC 将继续选择隧道 1,直到 192.168.1.1 的目标会话计数等于 40,与隧道 2 中 192.168.2.2 的计数匹配。

  2. 当下一个订阅者登录时,LAC 会在隧道 1 和隧道 2 之间随机选择,因为它们的目标具有相同的会话计数,并且低于隧道 3 (300) 的会话计数。

  3. 无论从此隧道对中选择哪条隧道,其目标的会话计数现在为 41。另一个隧道在下一个订阅者登录时被选中,因为它的目标会话计数较低,为 40。这会将其目标会话计数提高到 41,与其他隧道匹配。

  4. 随着订阅者继续登录,LAC 将重复此过程,当会话计数匹配时,在隧道 1 和隧道 2 之间随机选择,然后与下一个订阅者选择另一个隧道,直到其目标会话计数均达到 200,与其隧道最大会话限制 200 匹配。由于两条隧道均已达到其最大会话限制,因此无法选择。

  5. 当订阅者继续登录时,LAC 会选择首选项级别(隧道 3)中的剩余隧道,直到其目标的会话计数达到隧道的最大会话限制 1000。

  6. 当下一个订阅者登录时,LAC 将下降到下一个首选项级别并选择隧道 4,因为它是此级别的唯一隧道。

  7. 随着订阅者继续登录,LAC 将继续选择隧道 4,因为没有为此隧道配置最大会话限制。随后,仅当该级别的其中一个隧道的会话终止时,LAC 才能选择较高优先级中的隧道,并将其会话计数降至最大限制以下。

在方案 5 中,其中一个目标被锁定:

  • 隧道 1,优先级 1,192.168.1.1,目标会话计数 = 100,目标锁定

  • 隧道 2,优先级 1,192.168.2.2,目标会话计数 = 200

  • 隧道 3,优先级 1,192.168.3.3,目标会话计数 = 250

当第一个 PPP 用户尝试连接到域时,LAC 无法选择隧道 1,即使其目标会话计数最低,因为隧道处于目标锁定状态。在隧道 1 脱离锁定状态之前,无法将其视为隧道 1。LAC 选择隧道 2,因为 192.168.2.2 的会话计数低于 192.168.3.3。

当其他 PPP 用户尝试连接到域时,接下来发生的情况取决于 192.168.1.1 何时从锁定状态出现。只要 192.168.1.1 被锁定,LAC 就会按如下方式进行选择:

  1. LAC 将继续选择隧道 2,直到 192.168.2.2 的会话计数等于 250,与隧道 3 中 192.168.3.3 的计数匹配。

  2. 当下一个订阅者登录时,LAC 会在隧道 2 和隧道 3 之间随机选择,因为它们的目标具有相同的会话计数 250。

  3. 无论从此隧道对中选择哪条隧道,其目标的会话计数现在为 251。另一个隧道在下一个订阅者登录时被选中,因为它的目标会话计数较低,为 250。这会将其目标会话计数提高到 251,从而与其他隧道匹配。

  4. 随着订阅者继续登录,LAC 将重复此过程,当会话计数匹配时,在隧道 2 和隧道 3 之间随机选择,然后选择另一个隧道与下一个订阅者。

每当 192.168.1.1 从锁定状态出现时,LAC 都会为下一个订阅者选择隧道 1,因为 192.168.1.1 的会话计数最低。LAC 将继续这样做,直到 192.168.1.1 的会话计数与其他任一目标的当前会话计数匹配。从那时起,LAC 交替在具有匹配目标会话计数的隧道之间进行随机选择,然后选择计数最低的隧道。

每当 192.168.1.1 从锁定状态出现时,

  1. LAC 为下一个订阅者选择隧道 1,因为 192.168.1.1 的会话计数最低。

  2. LAC 将继续选择隧道 1,直到 192.168.1.1 的会话计数与其他任一目标的当前会话计数匹配。

  3. 从那时起,LAC 交替在具有匹配目标会话计数的隧道之间进行随机选择,然后选择计数最低的隧道。

L2TP 会话限制概述

启动 L2TP 会话请求时,LNS 或 LAC 会根据机箱、隧道、隧道组、客户端(请求主机设备)或客户端组允许的最大会话数检查当前活动会话数。达到配置的会话限制时,新会话请求将被拒绝。

请求会话时,LNS 将按以下顺序检查会话限制:

机箱>隧道>隧道组>客户端会话限制组>

在每个级别,LNS 确定当前会话计数是否小于配置的限制。如果为 true 或未配置任何限制,则检查通过,LNS 将继续检查下一级别。如果在任何级别,当前会话计数等于配置的限制,则 LNS 将拒绝会话请求,并且不检查任何其他级别。否则,可以建立会话。

当现有隧道的会话请求被拒绝时,将返回结果代码和错误代码均设置为 4 的呼叫-断开连接-通知 (CDN) 消息,以响应传入呼叫请求 (ICRQ)。当被拒绝的请求是针对新隧道时,隧道已建立,但会话无法启动,从而导致隧道因没有会话而关闭。

LAC 执行相同的检查,但仅适用于机箱和隧道级别。LAC 通过向客户端返回 PPP 终止消息来拒绝请求。

您可以为机箱、所有隧道、隧道组、客户端组或单个客户端配置会话限制。以下方案描述了会话限制的不同配置发生的情况。

场景 1:机箱限制

表 1 中,当前的 L2TP 会话计数为 10,000,每个级别的会话限制配置为 10,000。请求新会话时,机箱级别的第一次检查将失败,因为当前会话计数与配置的限制匹配。不会在其他级别执行进一步的检查,会话请求将被拒绝。在当前会话计数降至 10,000 以下之前,不允许在任何级别使用新会话。

表 1:方案 1,机箱限制

水平

配置的会话限制

命令显示 show services l2tp summary 的当前会话计数

会话限制检查结果

底盘

10,000

10,000

失败

隧道 A

10,000

10,000

隧道组 B

10,000

10,000

会话限制组

10,000

10,000

客户

10,000

10,000

场景 2:隧道限制

表 2 中,当前的 L2TP 会话计数为 2000。当请求新会话时,机箱级别的第一次检查将通过,因为配置的限制允许机箱上最多 10,000 个会话,但当前只有 2000 个会话处于活动状态。隧道级别的下一次检查将失败,因为当前会话计数与为隧道 A 配置的限制隧道限制 2000 匹配。

不会在其他级别执行进一步的检查,会话请求将被拒绝。

表 2:方案 2,隧道限制

水平

配置的会话限制

命令显示 show services l2tp summary 的当前会话计数

会话限制检查结果

底盘

10,000

2000

通过

隧道 A

2000

2000

失败

隧道组 B

10,000

2000

会话限制组

6000

2000

客户

6000

2000

在隧道 A 的当前会话计数降至 2000 以下并且会话检查可以通过之前,不允许在隧道 A 上进行新会话。如果发生这种情况,则其他级别检查在此方案中通过,因为它们配置的限制大于其当前计数。

会话限制 2000 适用于所有隧道;也就是说,每个活动隧道都有 2000 个会话的独立限制。一个隧道的故障不会影响其他隧道。任何其他隧道上的会话请求都会通过,只要该隧道的当前会话计数小于 2000。

场景 3:隧道组限制

表 3 中,当前的 L2TP 会话计数为 2000。当请求新会话时,机箱级别的第一次检查将通过,因为配置的限制允许机箱上最多 10,000 个会话,但当前只有 2000 个会话处于活动状态。隧道级别的第二次检查也出于同样的原因通过。隧道组 B 的隧道组级别的下一次检查将失败,因为隧道组 B 的当前会话计数与配置的限制隧道组限制 2000 匹配。

不会在其他级别执行进一步的检查,会话请求将被拒绝。

表 3:场景 3,隧道组限制

水平

配置的会话限制

命令显示 show services l2tp summary 的当前会话计数

会话限制检查结果

底盘

10,000

2000

通过

隧道 A

10,000

2000

通过

隧道组 B

2000

2000

失败

会话限制组

6000

2000

客户

6000

2000

在隧道组 B 的当前会话计数降至 2000 以下且会话检查可以通过之前,不允许对隧道组 B 进行新会话。如果发生这种情况,则其他级别检查可以通过,因为它们配置的限制大于其当前计数。

对于隧道组,会话限制是按组配置的;也就是说,您不能指定适用于所有隧道组的单个限制。任何隧道组的故障都不会影响其他隧道组。在这种情况下,如果任何其他隧道组的当前会话计数小于其配置的会话限制,则该组上的会话请求将会通过。

场景 4:会话限制组限制

表 4 中,当前的 L2TP 会话计数为 6000。请求新会话时,机箱、隧道和隧道组的检查将通过,因为为每个组配置的限制最多允许 10,000 个会话,但当前只有 6000 个会话处于活动状态。会话限制组的检查失败,因为会话限制组 slg1 的当前会话计数与配置的限制 6000 匹配。

不会在其余级别执行进一步的检查,会话请求将被拒绝。

表 4:方案 4,会话限制组限制

水平

配置的会话限制

命令显示 show services l2tp summary 的当前会话计数

会话限制检查结果

底盘

10,000

6000

通过

隧道 A

10,000

6000

通过

隧道组 B

10,000

6000

通过

会话限制组 slg1

6000

6000

失败

客户

8000

2000

会话限制组 slg1 中的任何客户端都不允许新会话,直到组的当前会话计数降至 6000 以下并且会话检查可以通过。如果发生这种情况,则剩余级别检查可以通过,因为其配置的限制大于其当前计数。

您可以通过删除或添加客户端来重新配置会话限制组,而不会影响任何当前会话。重新配置会影响可为客户端组建立的会话数。

  • 如果删除客户端,则可建立的新会话数将增加该客户机的当前会话数。

  • 如果添加客户端,则可以建立的新会话数将减少该客户机的当前会话数。现有客户端加上新客户端的新当前会话总数可能会超过会话限制组的配置限制。在这种情况下,不会丢弃任何会话,但在会话计数降至配置的组限制以下之前,无法建立新会话。

若要进一步探索这一点,请考虑以下事件顺序:

  1. 会话限制组 slg1 有两个客户端:当前会话计数为 3500 的 ent1-serviceA 和当前会话计数为 0 的 ent1-serviceB。由于组 slg1 的限制为 6000,因此不能为以下客户端添加超过 2500 个会话:

    6000 - 3500 = 2500

  2. 然后为客户端 ent1-service B 登录 1000 个会话。现在,为这些客户端添加的会话数不超过 1500 个:

    6000 - (3500 + 1000) = 1500

  3. 接下来,假设从会话限制组中删除客户端 ent1-serviceA。小组会话容量增加到 5000 个会话:

    6000 - 1000 = 5000

  4. 最后,将新客户端 ent1-serviceC 添加到会话限制组。此新客户端当前有 8000 个活动会话。在这种情况下,会话限制组现在有 9000 个会话:

    1000 + 8000 = 9000

    即使超过了组的最大会话限制 6000,也不会丢弃任何会话。在会话计数从 9000 下降到 6000 以下之前,无法添加新会话。

场景 5:个人客户端限制

表 5 中,机箱、隧道和隧道组的会话检查通过,因为它们配置的限制大于其当前会话计数。客户端 ent1-serviceA 不属于会话限制组。客户端的限制检查失败,因为其当前会话计数与配置的限制 6000 匹配。

表 5:方案 5,单个客户端限制

水平

配置的会话限制

命令显示 show services l2tp summary 的当前会话计数

会话限制检查结果

底盘

10,000

6000

通过

隧道 A

10,000

6000

通过

隧道组 B

8000

6000

通过

Client ent1-serviceA

6000

6000

失败

在其当前会话计数降至 6000 以下并且会话检查可以通过之前,不允许此客户端使用新会话。任何独立客户端的故障对其他客户端都没有影响。在此方案中,如果任何其他独立客户端的当前会话计数小于其配置的会话限制,则该客户端的会话请求将通过。

您为单个客户端(不属于会话限制组的客户端)设置的会话限制适用于每个隧道组。具有相同源主机名但源 IP 地址不同的多个 LAC 被视为同一客户端。

假设您有三个 LAC,A、B 和 C。这三者都有相同的源主机名 ce-lac。LAC A 和 LAC B 通过与隧道组 1 关联的网关地址与 LNS 建立会话。LAC C 通过与隧道组 2 关联的其他网关建立会话。由于 LAC 具有相同的主机名,因此所有三个区域的客户端配置都相同。但是,由于隧道组的原因,客户端会话限制对 LAC 的应用方式不同。

假设客户端会话限制为 100。由于 LAC A 和 LAC B 都在隧道组 1 中创建会话,因此它们必须共享客户端限制。这意味着 LAC A 和 LAC B 允许的会话总数为 100。

LAC C 在不同的隧道组 2 中创建会话。由于客户端会话限制适用于每个隧道组,因此无论 LAC A 和 LAC B 已建立多少个会话,都允许 LAC C 进行 100 个会话。

限制 LAC 或 LNS 允许的 L2TP 会话数

您可以限制机箱、所有隧道、隧道组、客户端组、单个客户端或者单个服务接口或聚合服务接口允许的最大 L2TP 会话数。达到配置的会话限制时,LNS 或 LAC 将拒绝新会话请求。当达到最大机箱限制时,会话请求也会被拒绝,即使未超过配置的限制也是如此。可配置的会话限制可精细控制客户在多个位置通过 LAC 连接时可以拥有的会话数。

注意:

您不能将限制设置为超过机箱的默认最大限制。

要限制机箱(LAC 或 LNS)上允许的会话数:

  • 配置最大会话数。

要限制所有隧道(LAC 或 LNS)的每个隧道的会话数,请执行以下操作:

  • 配置最大会话数。

    不能将会话限制设置为 65,535 个以上。

要限制特定隧道组 (LNS) 中所有隧道的会话数,请执行以下操作:

  • 配置最大会话数。

要限制单个服务接口上允许的会话数,请执行以下操作:

  • 配置最大会话数。

要限制单个聚合服务接口上允许的会话数,请执行以下操作:

  • 配置最大会话数。

    注意:

    该配置适用于所有成员接口;不能为聚合服务接口的单个成员接口配置此限制。

要限制一组客户端 (LNS) 的会话数,请执行以下操作:

  1. 配置最大会话数。
  2. 将客户端与会话限制组关联。

要限制不是会话限制组 (LNS) 成员的客户端的会话数,请执行以下操作:

  • 配置最大会话数。

注意:

将任何级别的会话限制配置为小于该级别当前存在的会话数不会影响现有会话。仅当会话数低于新限制时,新限制才适用。

您可以使用命令 show services l2tp summary extensive 显示为隧道配置的会话限制:

已配置会话的显示限制设置为以下已配置会话值中的最小值:

  • 全局(机箱)—(LAC 和 LNS) set services l2tp tunnel maximum-sessionsnumber

  • 隧道剖面(单个隧道)—(LAC 和 LNS) set access tunnel-profile profile-name tunnel tunnel-idmax-sessionsnumber]

  • RADIUS —(LAC 和 LNS)VSA 26–33 的值,最大隧道会话数

  • 主机配置文件 -(仅限 LNS) set access profile profile-name client client-name l2tp maximum-sessions-per-tunnel

配置的值确定从以下 Junos OS 版本开始的字段值:19.2R3、19.3R3、19.4R3、20.1R2、20.2R2 和 20.3R1。在早期版本中,该字段显示 LNS 的主机配置文件值,但显示 LAC 的固定值 512,000。

注意:

在 GRES、统一 ISSU 或重新启动 jl2tpd 进程之后,只有在隧道上出现新会话后,此字段的值才准确。在此之前,该字段将显示值 65,535,而不是配置的值。

假设您有两个隧道,隧道 A 和隧道 B。发生 GRES,每个隧道的字段显示 65,535。当隧道 B 上出现新会话时,该隧道的值将更新为配置的值。对于隧道 A,字段继续显示 65,535,直到该隧道获得新会话。

设置隧道名称的格式

默认情况下,隧道的名称对应于 AAA 服务器返回的隧道分配 ID [82]。您可以选择通过在层次结构级别包含 assignment-id-format client-server-id 语句 [edit services l2tp tunnel] ,将 LAC 配置为在构造隧道名称时使用更多元素。此格式使用三个属性:隧道客户端身份验证 ID [90]、隧道服务器端点 [67] 和隧道分配 ID [82]。这些属性分别对应于在隧道配置文件中为 LAC(源网关)名称、LNS 上的隧道端点(远程网关)地址和隧道 ID 配置的值。

client-server-id 格式的结果是,当 AAA 服务器返回与之前返回的隧道客户端身份验证 ID 不同的隧道时,LAC 会自动创建新隧道。

注意:

在降级到不支持此语句的 Junos OS 版本之前,建议您通过在层次结构级别包含 no assignment-id-format assignment-id 语句 [edit services l2tp tunnel] 来显式取消配置该功能。

要更改隧道名称的格式设置方式,请执行以下操作:

  • 配置格式。

为订阅者访问配置隧道配置文件

隧道配置文件指定一组属性来表征隧道。配置文件可以通过域映射应用,也可以在创建隧道时自动应用。

注意:

RADIUS 属性和 VSA 可以覆盖由域映射中的隧道配置文件配置的值。在没有域映射的情况下,RADIUS 可以提供隧道的所有特征。以下过程中的步骤列出了相应的标准 RADIUS 属性或 VSA,您可以在 RADIUS 服务器上配置这些属性或 VSA,以修改或配置隧道配置文件。

RADIUS 提供的属性通过属性中携带的标记与隧道关联,该标记与隧道标识符匹配。标记 0 表示未使用该标记。如果 L2TP 收到的标记为 0 的 RADIUS 属性,则该属性无法与订阅者域对应的隧道配置文件配置合并,因为隧道配置文件无法提供 0 的隧道标记(隧道标识符)。仅支持 1 到 31 范围内的标记。

要为隧道配置文件配置隧道定义:

  1. 指定要为其定义隧道的隧道配置文件。(隧道组 [26-64])
  2. 为隧道的 L2TP 控制连接指定标识符(名称)。
  3. 配置本地 L2TP 隧道端点 LAC 的 IP 地址。(隧道客户端端点 [66])
  4. 配置远程 L2TP 隧道端点 LNS 的 IP 地址。(隧道服务器端点 [67])
  5. (可选)配置隧道的首选项级别。(隧道首选项 [83])
  6. 可选)配置本地客户端 (LAC) 的主机名。(隧道客户端身份验证 ID [90])
  7. 可选)配置远程服务器 (LNS) 的主机名。(隧道服务器身份验证 ID [91])
  8. 可选)指定隧道的介质(网络)类型。(隧道式中型 [65])
  9. (可选)指定隧道的协议类型。(隧道式 [64])
  10. (可选)配置隧道的分配 ID。(隧道分配 ID [82])
  11. (可选)配置隧道中允许的最大会话数。(最大隧道会话数 [26-33])
  12. (可选)配置用于远程服务器身份验证的密码。(标准 RADIUS 属性隧道密码 [69] 或 VSA 隧道密码 [26-9])
  13. (可选)配置要用于隧道的逻辑系统。

    如果配置逻辑系统,则还必须配置路由实例。

  14. (可选)配置要用于隧道的路由实例。(隧道虚拟路由器 [26-8])

    如果配置路由实例,则配置逻辑系统是可选的。

  15. (可选)使 LAC 能够与思科 LNS 设备互操作。(隧道-纳斯-端口-方法 [26-30])

以下示例显示了隧道配置文件的完整配置:

配置 L2TP LAC 隧道选择参数

当 LAC 确定应通过隧道传输 PPP 会话时,它会从与 PPP 用户或 PPP 用户的域关联的隧道集中选择一个隧道。您可以配置如何选择隧道以及 LAC 是否将某些信息发送到 LNS。

要配置隧道选择参数:

  1. (可选)配置连接尝试失败时如何选择隧道。
  2. (可选)配置如何在隧道之间均衡会话负载。
  3. (可选)通过在优先级内的隧道之间平均分配会话,将会话配置为在优先级别内的隧道之间进行负载平衡。

在首选项级别内配置 LAC 隧道选择故障切换

您可以配置在连接失败时如何继续选择 LAC 隧道。默认情况下,当路由器无法连接到给定首选项级别的目标时,它会尝试在下一个较低级别进行连接。您可以指定路由器改为尝试连接到与失败尝试相同级别的另一个目标。

如果某个首选项级别的所有目标都标记为无法访问,则路由器不会尝试连接到该级别的目标。它会下降到下一个较低的首选项级别以选择目的地。

如果所有首选项级别的所有目标都标记为无法访问,路由器将首先选择失败的目标并尝试建立连接。如果连接失败,路由器将拒绝 PPP 用户会话,而不尝试联系远程路由器。

例如,假设一个域有四个隧道:A、B、C 和 D。所有隧道都被视为可访问,优先级分配如下:

  • 优先级为 0 的 A 和 B

  • 偏好 1 的 C 和 D

当路由器尝试连接到域时,假设它从首选项 0 中随机选择隧道 B。如果无法连接到隧道 B,路由器将排除隧道 B 五分钟,并尝试连接到隧道 A。如果此尝试也失败,路由器将下降到首选项 1。然后假设路由器选择隧道 C。如果同样无法连接到隧道 C,路由器将排除隧道 C 五分钟,并尝试连接到隧道 D。

您可以在隧道配置文件或 RADIUS 隧道首选项 [83] 属性中配置用于此隧道选择方法的首选项级别。

要在优先级内启用隧道选择故障切换:

  • 在首选项中指定故障转移。

为 LAC 隧道会话配置加权负载平衡

默认情况下,L2TP LAC 从最高可用优先级中随机为新会话选择隧道。您可以通过评估每个隧道的权重,将 LAC 配置为以最高可用首选项级别跨隧道分配会话。此方法称为 加权负载平衡。隧道的权重与其最大会话限制和处于相同优先级的其他隧道的最大会话限制成正比。配置加权负载平衡时,LAC 仍会在优先级内随机选择隧道,但平均而言,会话会根据隧道权重分布在隧道中。

要配置加权负载平衡,请执行以下操作:

  • 指定负载平衡。

为 LAC 隧道会话配置目标等额负载平衡

默认情况下,L2TP LAC 从最高可用优先级中随机为新会话选择隧道。从 Junos OS 15.1 版开始,您可以通过评估到目标的会话数和隧道携带的会话数,将 LAC 配置为在所有隧道中以最高的可用首选项级别平均分配会话。此分配方法称为 目标等值负载平衡。LAC 根据以下准则选择负载最轻的隧道:

  • 当每个隧道转到单独的目标,并且所有目标中只有一个目标的会话计数最低时,LAC 将选择到该目标的隧道。

  • 当每个隧道通向一个单独的目标,并且多个目标具有相同的最低会话计数时,LAC 会从通向这些目标的隧道中随机选择一个隧道。

  • 当多个隧道通向同一目标且该目标的目标会话计数最低时,LAC 将从这些隧道中选择隧道会话总数最少的隧道。如果所有这些隧道的隧道会话计数都相同,则 LAC 会随机选择其中一个隧道。

要配置目标等值负载平衡,请执行以下操作:

  • 指定目标相等的负载平衡。

为 IPv6 服务启用 LAC

您可以将 LAC 配置为在将订阅者通过隧道连接到 LNS 时创建 IPv6 地址族 (inet6)。然后,LAC 上的服务可以将 IPv6 防火墙过滤器应用于订阅者流量。默认情况下,LAC 只需要家族 inet 即可启用到 IP 隧道的转发。LAC 可以将 IPv4 防火墙过滤器应用于会话。即使 family inet6 包含在动态配置文件中,默认情况下也不会为了节省资源而创建它,因为它不是必需的。因此,无法应用 IPv6 防火墙过滤器。

要启用 IPv6 地址族创建和应用 IPv6 防火墙过滤器,请执行以下操作:

  • 配置启用。

您可以使用命令 show services l2tp summary 显示语句是启用还是禁用。

从 LAC 测试 L2TP 隧道配置

您可以在 LAC 上测试 L2TP 隧道配置以及成功的订阅者身份验证和隧道,而无需启动 PPP 用户和关联的隧道。

test services l2tp tunnel从 CLI 操作模式发出命令,将订户映射到 L2TP 隧道,验证 L2TP 隧道配置(在 LAC 本地和后端服务器(如 RADIUS 服务器)上),并验证是否可以使用远程 LNS 建立来自 LAC 的 L2TP 隧道。

Junos OS LAC 实施允许您配置多个隧道,从中选择一个隧道来为 PPP 订阅者建立隧道。您可以使用命令 test services l2tp tunnel 测试所有可能的隧道配置,以验证是否可以建立每种配置。或者,您可以仅测试订阅者的特定隧道。

发出命令时,必须指定已配置的订阅者用户名。测试将为订阅者生成虚拟密码 testpass,或者您可以选择指定密码。该测试验证该用户名标识的订阅者是否可以根据隧道配置建立隧道。如果用户可以建立隧道,则测试将根据 L2TP 配置验证是否可以使用 LNS 建立 L2TP 隧道。

您可以选择指定隧道 ID,在这种情况下,仅测试该隧道;必须已经为该用户名配置了隧道。如果省略此选项,测试将应用于为用户名返回的完整隧道配置集。您指定的隧道 ID 与隧道分配 ID(RADIUS 属性 82)使用的隧道 ID 相同,并由隧道配置文件中的语句指定 identification

要测试订阅者身份验证和隧道配置,请执行以下操作:

  • 仅指定用户名。

    示例 1:

    用户使用生成的密码进行身份验证失败,因此未建立隧道。

    示例 2:

    此用户已使用生成的密码进行身份验证并成功建立隧道。发现一组隧道与该用户名相关联,并测试了整个隧道集。

  • 指定用户名和用户配置的密码。

    订阅者已通过身份验证。但是,用户在本地终止,而不是通过隧道终止;这意味着未发现与用户关联的隧道。

  • 为订阅者指定用户名和特定隧道。

    订阅者已经过身份验证并已通过隧道传输。已为订阅用户找到指定的隧道并建立了隧道,确认了隧道配置。

  • 指定用户名、用户配置的密码和隧道。

    订阅者已经过身份验证并已通过隧道传输。输出中缺少隧道信息表示指定的隧道配置不存在。

版本历史记录表
释放
描述
20.3R1
配置的值确定从以下 Junos OS 版本开始的字段值:19.2R3、19.3R3、19.4R3、20.1R2、20.2R2 和 20.3R1。
15.1
从 Junos OS 15.1 版开始,您可以通过评估到目标的会话数和隧道携带的会话数,将 LAC 配置为在所有隧道中以最高的可用首选项级别平均分配会话。