示例:使用下一跃点方法配置 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 流量
- 将策略选项和语句配置为使用专用块前缀列表
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
。
验证
要确认服务集中的 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 服务规则的规则和术语详细信息。