静态源 NAT
在 IPv4 网络中配置静态源转换
要将转换类型配置为 basic-nat44,您必须配置 NAT 池和规则、带服务接口的服务集以及追踪选项。本主题包含以下任务:
- 配置 NAT 池和规则
- 为 NAT 配置服务集
- 配置追踪选项
- 示例配置 - 静态源 NAT 使用带有地址前缀和地址范围的静态池
- 示例配置 - 静态源 NAT,用于在私有子网和公共子网之间进行一对一映射
配置 NAT 池和规则
要配置 NAT 池、规则和术语,请执行以下作:
如果未为流量配置状态防火墙 (SFW) 规则,则每个数据包都受以下默认状态防火墙规则的约束:
允许从内部到外部的任何有效数据包。
基于数据包 5 元组创建转发和返回流。
仅允许与从外部到内部的返回流匹配的有效数据包。
Junos Network Secure 中的有状态防火墙异常检查概述中介绍了状态防火墙的数据包有效性检查。当数据包通过状态防火墙有效性检查,但与 NAT 规则不匹配时,这些数据包不会被转换,如果 NAT 节点具有到数据包目标 IP 地址的有效路由,则可能会被转发。
在层次结构级别添加[edit services service-set service-set-name nat-rules rule-name term term- name]或删除语句中的from参数(NAT 规则术语匹配条件)时,此配置更改会触发 NAT 策略的删除和添加(相当于停用和激活服务集),从而导致删除所有现有 NAT 映射。由于 NAT 策略的更改不会关闭会话,因此此行为会导致映射在会话关闭后立即超时。这是预期行为,仅适用于设备上安装的 Junos OS 扩展提供程序包。删除并重新添加 NAT 策略时,仅删除 EIM 映射。此 NAT 策略更改不会停用和激活服务集。建议在 Junos OS 14.2 及更低版本中停用并重新激活此类场景下的服务集。
为 NAT 配置服务集
要为 NAT 配置服务集:
配置追踪选项
要配置追踪选项:
[edit]
user@host# show services
service-set s1 {
nat-rules rule-basic-nat44;
interface-service {
service-interface ms-1/2/0;
}
}
nat {
pool src_pool {
address 10.10.10.2/32;
}
rule rule-basic-nat44 {
match-direction input;
term t1 {
from {
source-address {
3.1.1.2/32;
}
}
then {
translated {
source-pool src_pool;
translation-type {
basic-nat44;
}
}
}
}
}
}
adaptive-services-pics {
traceoptions {
flag all;
}
}
示例配置 - 静态源 NAT 使用带有地址前缀和地址范围的静态池
[edit services nat]
pool p1 {
address 30.30.30.252/30;
address-range low 20.20.20.1 high 20.20.20.2;
}
rule r1 {
match-direction input;
term t1 {
from {
source-address {
10.10.10.252/30;
}
}
then {
translated {
source-pool p1;
translation-type basic-nat44;
}
}
}
}
示例配置 - 静态源 NAT,用于在私有子网和公共子网之间进行一对一映射
[edit]
user@host# show services
service-set s1 {
nat-rules rule-basic-nat44;
interface-service {
service-interface ms-1/2/0;
}
}
nat {
pool src_pool {
address 10.10.10.2/32;
}
rule rule-basic-nat44 {
match-direction input;
term t1 {
from {
source-address {
3.1.1.2/32;
}
}
then {
translated {
source-pool src_pool;
translation-type {
basic-nat44;
}
}
}
}
}
}
adaptive-services-pics {
traceoptions {
flag all;
}
}
[edit interfaces]
user@host# show
xe-1/1/0 {
unit 0 {
family inet {
service {
input {
service-set s1;
}
output {
service-set s1;
}
}
address 10.255.247.2/24;
}
}
}
在 IPv6 网络中配置静态源转换
要将转换类型配置为 basic-nat66,您必须配置 NAT 池和规则、带服务接口的服务集以及追踪选项。 basic-nat66 如果使用的是 MS-MPC 或 MS-MIC,则转换类型不可用。
本主题包含以下任务:
配置 NAT 池和规则
要配置 NAT 池、规则和术语,请执行以下作:
为 NAT 配置服务集
要为 NAT 配置服务集:
配置追踪选项
要在层次结构级别配置 [edit services adaptive-services-pics] 追踪选项:
以下示例将转换类型配置为 basic-nat66。
[edit]
user@host# show services
service-set s1 {
nat-rules rule-basic-nat66;
interface-service {
service-interface sp-1/2/0;
}
}
nat {
pool src_pool {
address 10.10.10.2/32;
}
rule rule-basic-nat66 {
match-direction input;
term t1 {
from {
source-address {
2001:db8:10::0/96/96;
}
}
then {
translated {
source-pool src_pool;
translation-type {
basic-nat66;
}
}
}
}
}
}
adaptive-services-pics {
traceoptions {
flag all;
}
}
示例:配置基本 NAT44
此示例介绍如何实施基本 NAT44 配置。
要求
此示例使用以下硬件和软件组件:
带有服务DPC的MX 系列5G通用路由平台或带有服务 PIC 的M Series多服务边缘路由器
域名服务器 (DNS)
Junos OS 11.4 或更高版本
概述
此示例显示完整的 CGN NAT44 配置和高级选项。
配置基本 NAT44
机箱配置
分步程序
要使用第 3 层服务包配置服务 PIC(FPC 5 插槽 0),请执行以下作:
转到 [edit chassis] 层级。
user@host# edit chassis配置第 3 层服务包。
[edit chassis]user@host# set fpc 5 pic 0 adaptive-services service-package layer-3
接口配置
分步程序
要配置专用网络和公共互联网的接口,请执行以下作:
定义专用网络的接口。
user@host# edit interfaces ge-1/3/5
[edit interfaces ge-1/3/5]user@host# set description “Private” user@host# edit unit 0 family inet[edit interfaces ge-1/3/5 unit 0 family inet]user@host# set service input service-set ss2 user@host# set service output service-set ss2 user@host# set address 9.0.0.1/24定义公用互联网的接口。
user@host# edit interfaces ge-1/3/6
[edit interfaces ge-1/3/6]user@host# set description “Public” user@host# set unit 0 family inet address 128.0.0.1/24定义用于 NAT 处理的服务接口。
user@host# edit interfaces sp-5/0/0
[edit interfaces sp-5/0/0]user@host# set unit 0 family inet
结果
user@host# show interfaces ge-1/3/5
description Private;
unit 0 {
family inet {
service {
input {
service-set sset2;
}
output {
service-set sset2;
}
}
address 9.0.0.1/24;
}
}
}
user@host# show interfaces ge-1/3/6
description Public:;
unit 0 {
family inet {
address 128.0.0.1/24;
}
}
user@host# show interfaces sp-5/0/0
unit 0 {
family inet;
}
示例:为组播流量配置 NAT
图 1 说明了以下配置的网络设置,它允许将 IP 组播流量发送到多服务 PIC。
配置 NAT
集合点配置
在汇聚点 (RP) 上,来自位于 192.168.254.0/27 的组播源的所有传入流量都将发送到静态NAT池 mcast_pool,在该池中,其源将转换为 20.20.20.0/27。服务集 nat_ss 是下一跃点服务集,允许将IP 组播流量发送至多服务DPC或多服务 PIC。PIC 上的内部接口为 ms-1/1/0.1 ,外部接口为 ms-1/1/0.2。
[edit services]
nat {
pool mcast_pool {
address 20.20.20.0/27;
}
rule nat_rule_1 {
match-direction input;
term 1 {
from {
source-address 192.168.254.0/27;
}
}
then {
translated {
source-pool mcast_pool;
translation-type basic-nat44;
}
syslog;
}
}
}
service-set nat_ss {
allow-multicast;
nat-rules nat_rule_1;
next-hop-service {
inside-service-interface ms-1/1/0.1;
outside-service-interface ms-1/1/0.2;
}
}
千兆以太网接口 ge-0/3/0 将流量从 RP 传送到路由器 1。多服务接口 ms-1/1/0 有两个逻辑接口: 单元 1 是下一跳服务的内部接口, 单元 2 是下一跳服务的外部接口。组播源流量通过快速以太网接口 fe-1/2/1 进入,该接口将防火墙过滤器 fbf 应用于传入流量。
[edit interfaces]
ge-0/3/0 {
unit 0 {
family inet {
address 10.10.1.1/30;
}
}
}
ms-1/1/0 {
unit 0 {
family inet;
}
unit 1 {
family inet;
service-domain inside;
}
unit 2 {
family inet;
service-domain outside;
}
}
fe-1/2/1 {
unit 0 {
family inet {
filter {
input fbf;
}
address 192.168.254.27/27;
}
}
}
组播数据包只能使用下一跃点服务集定向至多服务 DPC 或多服务 PIC。如果使用 NAT,还必须配置 VPN 路由和转发实例 (VRF)。因此,路由实例 阶段 被创建为“虚拟”转发实例。要将传入数据包定向到 阶段,请通过名为 fbf 的防火墙过滤器配置基于过滤器的转发,该过滤器应用于传入接口 fe-1/2/1。查找在 stage.inet.0 中执行,其中包含一个组播静态路由,安装后下一跃点指向 PIC 的内部接口。与此路由匹配的所有组播流量都将发送到 PIC。
[edit firewall]
filter fbf {
term 1 {
then {
routing-instance stage;
}
}
}
路由实例 阶段 将 IP 组播流量转发到多服务 DPC 或多服务 PIC 上的内部接口 ms-1/1/0.1 :
[edit]
routing-instances stage {
instance-type forwarding;
routing-options {
static {
route 224.0.0.0/4 next-hop ms-1/1/0.1;
}
}
}
在快速以太网和千兆以太网逻辑接口上启用 OSPF 和协议无关组播 (PIM),IP 组播流量通过这些接口进出 RP。您还可以在下一跃点服务集的外部接口 (ms-1/1/0.2) 上启用 PIM。
[edit protocols]
ospf {
area 0.0.0.0 {
interface fe-1/2/1.0 {
passive;
}
interface lo0.0;
interface ge-0/3/0.0;
}
}
pim {
rp {
local {
address 10.255.14.160;
}
}
interface fe-1/2/1.0;
interface lo0.0;
interface ge-0/3/0.0;
interface ms-1/1/0.2;
}
与任何基于过滤器的转发配置一样,为了使转发实例 阶段 的静态路由具有可访问的下一跃点,您必须配置路由表组,以便将所有接口路由从 inet.0 复制到转发实例中的路由表。将路由表 inet.0 和 stage.inet.0 配置为 fbf_rib_group 的成员,以便将所有接口路由导入到两个表中。
[edit routing-options]
interface-routes {
rib-group inet fbf_rib_group;
}
rib-groups fbf_rib_group {
import-rib [ inet.0 stage.inet.0 ];
}
multicast {
rpf-check-policy no_rpf;
}
对于应用了源 NAT 的组播组,必须禁用反向路径转发 (RPF) 检查。您可以通过配置类似于以下示例中的策略来禁用特定组播组的 RPF 检查。在这种情况下, no_rpf 策略将禁用属于 224.0.0.0/4 的组播组的 RPF 检查。
[edit policy-options]
policy-statement no_rpf {
term 1 {
from {
route-filter 224.0.0.0/4 orlonger;
}
then reject;
}
}
路由器 1 配置
路由器 1 上的互联网组管理协议 (IGMP)、OSPF 和 PIM 配置如下。由于采用 IGMP 静态组配置,流量会以 fe-3/0/0.0 转发到组播接收器,而不会从主机成员接收成员资格报告。
[edit protocols]
igmp {
interface fe-3/0/0.0 {
}
}
ospf {
area 0.0.0.0 {
interface fe-3/0/0.0 {
passive;
}
interface lo0.0;
interface ge-7/2/0.0;
}
pim {
rp {
static {
address 10.255.14.160;
}
}
interface fe-3/0/0.0;
interface lo0.0;
interface ge-7/2/0.0;
}
}
路由选项可在 RP 上创建到NAT池 mcast_pool 的静态路由。
[edit routing-options]
static {
route 20.20.20.0/27 next-hop 10.10.1.1;
}
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。