示例:使用下一跃点方法配置 HTTP 重定向服务并将其连接到静态接口
此示例说明如何使用下一跃点方法配置 HTTP 重定向服务并将其连接到静态接口。
要求
此示例使用以下硬件和软件组件:
MX240、MX480 或 MX960 通用路由平台,安装了多服务模块化 PIC 集中器 (MS-MPC) 和多服务模块化接口卡 (MS-MIC)。
Junos OS 15.1 或更高版本。
开始之前:
配置重定向服务器与 MX 系列路由器之间的连接。
定义源地址(本例中使用 203.0.113.0/24)。
定义用于订阅者流量的一个或多个接口。
概述
IPv4 和 IPv6 均支持 HTTP 重定向和重写服务。您可以将 HTTP 重定向服务或服务集附加到静态或动态接口。对于动态订阅者管理,您可以在订阅者登录时或使用授权变更 (CoA) 动态附加 HTTP 服务或服务集。使用下一跃点方法,您可以配置 HTTP 重定向服务并将其连接到静态接口。
配置
要使用下一跃点方法配置 HTTP 重定向服务并将其连接到静态接口,请执行以下作:
- CLI 快速配置
- 配置 CPCD 服务并将服务集连接到静态接口
- 为 CPCD 配置软件包和安装
- 配置静态接口、HTTP 重定向过滤器和接口服务选项
- 配置附加路由实例并为其分配下一跳静态接口
- 配置特定于接口的过滤器以定向 HTTP 流量
- 配置策略选项和语句以使用专用块前缀列表
- 对用户使用宽带边缘静态路由配置(适用于 MX 系列设备的 Junos OS 23.4R1 版本)
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,然后将命令复制并粘贴到 CLI 中。
[edit] edit services captive-portal-content-delivery set rule redirect match-direction input set rule redirect term REDIRECT then redirect http://redirection-portal/redirection/ set profile http-redirect cpcd-rules redirect edit services service-set http-redirect-sset set captive-portal-content-delivery-profile http-redirect set next-hop-service inside-service-interface ms-11/1/0.1 set next-hop-service outside-service-interface ms-11/1/0.2 [edit] edit chassis fpc 11 pic 1 adaptive-services service-package set extension-provider package jservices-cpcd set extension-provider syslog daemon none set extension-provider syslog external none set extension-provider syslog kernel none set extension-provider syslog pfe none [edit] set interfaces ge-0/0/1 unit 900 description VLAN REDIRECT set interfaces ge-0/0/1 unit 900 vlan-id 900 set interfaces ge-0/0/1 unit 900 family inet filter input FF_HTTP_REDIR_IN set interfaces ge-0/0/1 unit 900 family inet address 203.0.113.250/30 edit interfaces ms-11/1/0 services-options open-timeout 4 edit interfaces ms-11/1/0 services-options close-timeout 2 edit interfaces ms-11/1/0 services-options inactivity-tcp-timeout 5 edit interfaces ms-11/1/0 services-options inactivity-non-tcp-timeout 5 edit interfaces ms-11/1/0 services-options session-timeout 5 edit interfaces ms-11/1/0 services-options tcp-tickles 0 set interfaces ms-11/1/0 unit 1 family inet set interfaces ms-11/1/0 unit 1 service-domain inside set interfaces ms-11/1/0 unit 2 filter output FF_CPCD_REDIRECT_OUTPUT set interfaces ms-11/1/0 unit 2 family inet set interfaces ms-11/1/0 unit 2 service-domain outside [edit] edit routing-instances CPCD_REDIRECT set instance-type virtual-router set interface ms-1/1/0.1 set interface ms-1/1/0.2 set routing-options static route 0.0.0.0/0 next-hop ms-1/1/0.1 set routing-options static route 203.0.113.0/24 next-hop ms-1/1/0.2 [edit] edit firewall family inet set filter FF_CPCD_REDIRECT_OUTPUT interface-specific set filter FF_CPCD_REDIRECT_OUTPUT term One then count back-to-default set filter FF_CPCD_REDIRECT_OUTPUT term One then routing-instance default set filter FF_HTTP_REDIR_IN interface-specific set filter FF_HTTP_REDIR_IN term ACCEPTED_PREFIXES from prefix-list User-PRIVATE-Blocks-01 set filter FF_HTTP_REDIR_IN term ACCEPTED_PREFIXES then next term set filter FF_HTTP_REDIR_IN term HTTP from protocol tcp set filter FF_HTTP_REDIR_IN term HTTP from destination-port http set filter FF_HTTP_REDIR_IN term HTTP then count HTTP set filter FF_HTTP_REDIR_IN term HTTP then forwarding-class best-effort set filter FF_HTTP_REDIR_IN term HTTP then routing-instance CPCD_REDIRECT [edit] edit policy-options policy-statement User-PRIVATE-Blocks-01 set 203.0.113.0/24
配置 CPCD 服务并将服务集连接到静态接口
分步程序
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器。
通过指定订阅者的初始 Web 浏览器会话重定向到的位置来配置 HTTP 重定向服务,从而为订阅者启用初始配置和服务选择。
[edit services] user@host# edit captive-portal-content-delivery
通过定义路由器在应用此 HTTP 服务时引用的规则,将服务过滤器配置为围墙花园。
[edit services captive-portal-content-delivery] user@host# edit rule redirect
指定规则是否匹配通过接口传入的流量。
[edit services captive-portal-content-delivery rule redirect] user@host# match-direction input
为 HTTP 服务的 CPCD 规则创建术语匹配和作属性。
[edit services captive-portal-content-delivery rule redirect] user@host# set term REDIRECT then redirect http://redirection-portal/redirection/
为 IP 目标地址创建 CPCD 配置文件以重定向 HTTP 服务。
[edit services captive-portal-content-delivery] user@host# edit profile http-redirect
指定 HTTP 服务的 CPCD 规则。
[edit services captive-portal-content-delivery profile http-redirect] user@host# set cpcd-rules redirect
为 CPCD 服务创建服务集。
[edit services service-set] user@host# edit http-redirect-sset
指定服务集的 CPCD 配置文件。
[edit services service-set http-redirect-sset] user@host# set captive-portal-content-delivery-profile http-redirect
为内部和外部服务接口指定下一跃点服务的接口名称,并将其连接到静态接口。
[edit services service-set http-redirect-sset] user@host# set next-hop-service inside-service-interface ms-11/1/0.1 user@host# set next-hop-service outside-service-interface ms-11/1/0.2
结果
在配置模式下,输入 show services 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
root@host# show services
captive-portal-content-delivery {
rule redirect {
match-direction input;
term REDIRECT {
then {
redirect http://redirection-portal/redirection/;
}
}
}
profile http-redirect {
cpcd-rules redirect;
}
}
service-set http-redirect-sset {
captive-portal-content-delivery-profile http-redirect;
next-hop-service {
inside-service-interface ms-11/1/0.1;
outside-service-interface ms-11/1/0.2;
}
}
如果完成设备配置,请从配置模式进入。commit
为 CPCD 配置软件包和安装
分步程序
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器。
配置 Junos OS,以便在带有 MS-MPC/MS-MIC 的 MX 系列 5G 通用路由平台上的服务接口上支持服务包。
[edit chassis] user@host# edit fpc 11 pic 1 adaptive-services service-package
将CPCD服务包配置为在PIC上运行。首次配置语句时
extension-provider,PIC 会重新启动。[edit chassis fpc 11 pic 1 adaptive-services service-package] user@host# set extension-provider package jservices-cpcd
启用 PIC 系统日志记录可在 PIC 上记录或查看系统日志消息,但不包括守护进程、外部进程、内核进程或数据包转发引擎进程。
[edit chassis fpc 11 pic 1 adaptive-services service-package extension-provider] user@host# set extension-provider syslog daemon none user@host# set extension-provider syslog external none user@host# set extension-provider syslog kernel none user@host# set extension-provider syslog pfe none
结果
在配置模式下,输入 show chassis 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
root@host# show chassis
fpc 11 {
pic 1 {
adaptive-services {
service-package {
extension-provider {
package jservices-cpcd;
syslog {
daemon none;
external none;
kernel none;
pfe none;
}
}
}
}
}
}
如果完成设备配置,请从配置模式进入。commit
配置静态接口、HTTP 重定向过滤器和接口服务选项
分步程序
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器。
使用逻辑接口配置千兆接口,流量在重定向之前到达该逻辑接口。
[edit interfaces] user@host# edit ge-0/0/1 unit 900
为逻辑接口分配描述和 VLAN ID。
[edit interfaces ge-0/0/1 unit 900] user@host# set description VLAN-REDIRECT user@host# set vlan-id 900
为接口配置 IPv4 家族。
[edit interfaces ge-0/0/1 unit 900] user@host# edit family inet
配置输入过滤器以评估接口上何时接收和重定向数据包。
[edit interfaces ge-0/0/1 unit 900 family inet] user@host# set filter input FF_HTTP_REDIR_IN
为输入过滤器配置地址。
[edit interfaces ge-0/0/1 unit 900 family inet] user@host# set address 203.0.113.250/30
配置要应用于多服务接口的服务选项。
[edit interfaces] user@host# edit ms-11/1/0 services-options
注意:仅例如显示为服务选项配置的值。您必须根据要求配置和配置适当的值。
指定传输控制协议 (TCP) 会话建立的打开和关闭超时周期(以秒为单位)。
[edit interfaces ms-11/1/0 services-options] user@host# set open-timeout 4 user@host# set close-timeout 2
为已建立的 TCP 和非 TCP 会话指定非活动超时周期(以秒为单位)。
[edit interfaces ms-11/1/0 services-options] user@host# set inactivity-tcp-timeout 5 set inactivity-non-tcp-timeout 5
全局指定多服务接口的会话生存期(以秒为单位)。
[edit interfaces ms-11/1/0 services-options] user@host# set session-timeout 5
指定在允许 TCP 会话超时之前发送的激活消息的最大数量。
[edit interfaces ms-11/1/0 services-options] user@host# set tcp-tickles 0
在多服务接口上配置逻辑接口。
[edit interfaces ms-11/1/0] user@host# edit unit 1
配置服务域以指定在网络中使用逻辑接口。
[edit interfaces ms-11/1/0 unit 1] user@host# set service-domain inside
在逻辑接口上配置 IPv4 地址族。
[edit interfaces ms-11/1/0 unit 1] user@host# set family inet
在多服务接口上配置第二个逻辑接口。
[edit interfaces ms-11/1/0] user@host# edit unit 2
配置服务域以指定在网络外部使用逻辑接口。
[edit interfaces ms-11/1/0 unit 2] user@host# set service-domain outside
配置输出过滤器以从逻辑接口重定向 CPCD 数据包。
[edit interfaces ms-11/1/0 unit 2] user@host# set filter output FF_CPCD_REDIRECT_OUTPUT
在逻辑接口上配置 IPv4 地址族。
[edit interfaces ms-11/1/0 unit 2] user@host# set family inet
结果
在配置模式下,输入 show interfaces 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
root@host# show interfaces
ge-0/0/1 {
unit 900 {
description VLAN-REDIRECT;
vlan-id 900;
}
family inet {
filter {
input FF_HTTP_REDIR_IN;
}
address 203.0.113.250/30;
}
}
ms-11/1/0 {
services-options {
open-timeout 4;
close-timeout 2;
inactivity-tcp-timeout 5;
inactivity-non-tcp-timeout 5;
session-timeout 5;
tcp-tickles 0;
}
unit 1 {
family inet;
service-domain inside;
}
unit 2 {
family inet {
filter {
output FF_CPCD_REDIRECT_OUTPUT;
}
}
service-domain outside;
}
}
如果完成设备配置,请从配置模式进入。commit
配置附加路由实例并为其分配下一跳静态接口
分步程序
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器。
配置路由实例。
[edit routing-instances] user@host# edit CPCD_REDIRECT
配置虚拟路由器路由实例。
[edit routing-instances CPCD_REDIRECT] user@host# set instance-type virtual-router
为路由实例配置先前定义的两个多服务接口。
[edit routing-instances CPCD_REDIRECT] user@host# set interface ms-11/1/0.1 user@host# set interface ms-11/1/0.2
配置静态路由选项。
[edit routing-instances CPCD_REDIRECT] user@host# edit routing-options static
将下一跃点静态接口分配给路由和路由实例。
[edit routing-instances CPCD_REDIRECT routing-options static] user@host# set route 0.0.0.0/0 next-hop ms-11/1/0.1 user@host# set route 203.0.113.0/24 next-hop ms-11/1/0.2
结果
在配置模式下,输入 show routing-instances 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
root@host# show routing-instances
CPCD_REDIRECT {
instance-type virtual-router;
interface ms-11/1/0.1;
interface ms-11/1/0.2;
routing-options {
static {
route 0.0.0.0/0 next-hop ms-11/1/0.1;
route 203.0.113.0/24 next-hop ms-11/1/0.2;
}
}
}
如果完成设备配置,请从配置模式进入。commit
配置特定于接口的过滤器以定向 HTTP 流量
分步程序
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器。
在层次结构下
[edit firewall]为服务过滤器创建族。[edit firewall] user@host# edit family inet
创建特定于接口的过滤器,以便重定向 CPCD 的输出流量。
[edit firewall family inet] user@host# edit filter FF_CPCD_REDIRECT_OUTPUT
指定此过滤器特定于接口。
[edit firewall family inet filter FF_CPCD_REDIRECT_OUTPUT] user@host# set interface-specific
为加墙花园的特定于接口的过滤器创建过滤器术语。
[edit firewall family inet filter FF_CPCD_REDIRECT_OUTPUT] user@host# edit term One
指定对默认流量进行计数的作和默认路由实例。
[edit firewall family inet filter FF_CPCD_REDIRECT_OUTPUT interface-specific term One] user@host# set then count back-to-default set then routing-instance default
创建过滤器以重定向 HTTP 输入流量。
[edit firewall family inet] user@host# edit filter FF_HTTP_REDIR_IN
指定此过滤器特定于接口。
[edit firewall family inet filter FF_HTTP_REDIR_IN] user@host# set interface-specific
为加墙花园的特定于接口的过滤器创建过滤器术语。
[edit firewall family inet filter FF_HTTP_REDIR_IN] user@host# edit term ACCEPTED_PREFIXES
将接受的前缀列表指定为加墙花园过滤器的匹配条件。
[edit firewall family inet filter FF_HTTP_REDIR_IN term ACCEPTED_PREFIXES] user@host# set from prefix-list User-PRIVATE-Blocks-01
指定要对所有匹配的 HTTP 流量执行的作。
[edit firewall family inet filter FF_HTTP_REDIR_IN term ACCEPTED_PREFIXES] user@host# set then next term
为围墙花园的过滤器创建第二个过滤器术语。
[edit firewall family inet filter FF_HTTP_REDIR_IN interface-specific] user@host# edit term HTTP
将协议和目标端口指定为加墙花园过滤器的匹配条件。
[edit firewall family inet filter FF_HTTP_REDIR_IN term HTTP] user@host# set from protocol tcp user@host# set from destination-port http
指定要执行的作,以匹配注定要流向围墙花园之外的 HTTP 流量。
[edit firewall family inet filter filter FF_HTTP_REDIR_IN interface-specific term HTTP] user@host# set then count HTTP user@host# set then forwarding-class best-effort user@host# set then routing-instance CPCD_REDIRECT
结果
在配置模式下,输入 show firewall 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
root@host# show firewall
family inet {
filter FF_CPCD_REDIRECT_OUTPUT {
interface-specific;
term One {
then {
count back-to-default;
routing-instance default;
}
}
}
filter FF_HTTP_REDIR_IN {
interface-specific;
term ACCEPTED_PREFIXES {
from {
prefix-list {
User-PRIVATE-Blocks-01;
}
}
then next term;
}
term HTTP {
from {
protocol tcp;
destination-port http;
}
then {
count http;
forwarding-class best-effort;
routing-instance CPCD_REDIRECT;
}
}
}
}
如果完成设备配置,请从配置模式进入。commit
配置策略选项和语句以使用专用块前缀列表
分步程序
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器。
创建策略选项和语句以在层次结构下
[edit policy-options]使用专用块前缀列表。[edit policy-options] user@host# set policy-statement User-PRIVATE-Blocks-01
为专用块前缀列表配置源地址。
[edit policy-options policy-statement User-PRIVATE-Blocks-01] user@host# set 203.0.113.0/24
结果
在配置模式下,输入 show policy-options 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
root@host# show policy-options
policy-statement User-PRIVATE-Blocks-01 {
203.0.113.0/24;
}
如果完成设备配置,请从配置模式进入。commit
对用户使用宽带边缘静态路由配置(适用于 MX 系列设备的 Junos OS 23.4R1 版本)
从 Junos 23.4R1 开始,BNG 的用户宽带边缘静态路由配置功能取代了 RADIUS 帧路由配置。您现在可以为同一站点上的多个主机设置静态 IP 地址。
例如:
- 使用预先存在的配置将路由添加到路由表。完成此配置后,路由将被隐藏,直到配置了用户 IP 的用户启动。
staticRoute { routing-options { access { route 7.7.7.7/32 next-hop 50.1.1.1; } } } - 您可以使用模式下的命令
static-framed-route[edit system services subscriber-management]在 BNG 上启用指向特定客户连接的静态成帧路由功能。user@root> set system services subscriber-management static-framed-route
- 您现在可以将 RADIUS 服务器用于身份验证目的,而不是发送成帧路由。
注意:只有在用户关闭时,才必须添加、修改或删除静态成帧路由。 当用户启动时,静态成帧路由会附加到这些订阅者。静态成帧路由仅支持 IPv4。
验证
要确认已在服务集中正确配置 HTTP 重定向服务,请执行以下任务:
验证为 CPCD 服务配置的服务集
目的
显示配置的 CPCD 服务集。
行动
在作模式下,输入命令 show services captive-portal-content-delivery service-set http-redirect-sset detail 。
user@host> show services captive-portal-content-delivery service-set http-redirect-sset detail
Service Set Id Profile Compiled Rules
http-redirect-sset 1 http-redirect 1
意义
输出列出了为 CPCD 服务配置的服务集。
验证为围墙花园配置的 HTTP 服务规则的详细信息
目的
显示为围墙花园配置的特定 HTTP 服务规则的详细信息。
行动
在作模式下,输入命令 show services captive-portal-content-delivery rule redirect term REDIRECT 。
user@host> show services captive-portal-content-delivery rule redirect term REDIRECT Rule name: redirect Rule match direction: input Term name: term REDIRECT Term action: redirect Term action option: http://redirection-portal/redirection/
意义
输出列出了为围墙花园配置的特定 HTTP 服务规则的规则和术语详细信息。