静态源 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]层次结构级别的语句(NAT 规则术语匹配条件)中添加或删除参数from时,此配置更改将触发 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
接口配置
分步过程
要配置专用网络和公共 Internet 的接口,请执行以下作:
定义专用网络的接口。
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 中执行查找,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;
}
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。