Prerequisites for NAT64
-
For Domain Name System (DNS) traffic to work, you must have a separate working installation of DNS64.
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Feature Name |
Release Information |
Description |
---|---|---|
Service-Side NAT64 for Cisco IOS XE SD-WAN Devices |
Cisco IOS XE SD-WAN Release 16.12.1b Cisco vManage Release 19.2.1 |
The service-side Network Address Translation (NAT) 64 feature translates a source IPv6 address to available IPv4 addresses in a NAT pool. The destination IPv6 address is translated to the server’s actual IPv4 address since the destination IPv6 address is an IPv4 embedded IPv6 address. Service-side NAT64 allows IPv4 servers to communicate with IPv6 clients. |
NAT64 DIA for Cisco IOS XE SD-WAN Devices |
Cisco IOS XE SD-WAN Release 16.12.1b Cisco vManage Release 19.2.1 |
The NAT64 Direct Internet Access (DIA) feature supports routing of traffic from branch sites directly to the internet instead of tunneling the internet traffic to a central site or data center for internet access. |
For Domain Name System (DNS) traffic to work, you must have a separate working installation of DNS64.
Traffic must always originate on the remote branch site and go to the IPv4 server on the local LAN within the local site.
Traffic cannot originate from the IPv4 application server to any IPv6 client in the data center or to a remote branch site.
Traffic flow is from the transport-side (WAN) to the service-side (LAN).
For more information on the usable IPv4 destination IP addresses, see the Deployment Guidelines, RFC 6052, Section 3.1.
The well-known prefix (WKP) must not be used to represent non-global IPv4 addresses, such as those listed in the Deployment Guidelines, Section 3 of RFC 5735.
For example, the following IPv4 prefixes are not allowed:
0.0.0.0/8
10.0.0.0/8
127.0.0.0/8
169.254.0.0/16
You cannot use a private IPv4 address range on the service-side (LAN).
With the dwindling IPv4 public address space and the growing need for more routable addresses, service providers and enterprises continue to build and roll out IPv6 networks. As the IPv4 internet is going to stay for a while, communication between IPv4 and IPv6 networks is an important requirement for a seamless end-user experience.
Network Address Translation IPv6 to IPv4, or NAT64, technology facilitates communication between IPv6 and IPv4 networks.
The service-side NAT64 feature translates a source IPv6 address to available IPv4 addresses in a NAT44 pool. The destination IPv6 address is translated to the server’s actual IPv4 address since the destination IPv6 address is an IPv4-embedded IPv6 address.
Cisco IOS XE SD-WAN devices use stateful NAT64 for translating IPv6 addresses to IPv4 addresses and IPv4 addresses to IPv6 addresses. Stateful NAT64 with NAT44 overload provides a 1:n mapping between IPv4 and IPv6 addresses.
An IPv6 client attempts to connect to an IPv4 server.
The IPv6 client makes an IPv6 AAAA record Domain Name System (DNS) query, which is an IPv6 query for an IPv4 address.
The DNS64 server responds with an IPv4-embedded IPv6 address.
Example:
64:ff9b::c000:0201
which uses the NAT64 well-known prefix (WKP), 64:FF9B::/96
. The WKP is used for algorithmic mapping between address families.
An IPv4-embedded IPv6 address is comprised of a variable length prefix, an embedded IPv4 address, and a variable length suffix. The last 32 bits are the hexadecimal representation of the original IPv4 address, which is 192.0.2.1 in this example.
The IPv6 client now tries to connect to the IPv4 server.
An IPv6 to IPv4 translation is performed.
A source IPv6 address is translated to one of the available IPv4 addresses in the pool.
A destination IPv6 address is translated to the server's actual IPv4 address since the destination IPv6 address is an IPv4-embedded IPv6 address.
Provides translation of IPv6 to IPv4 addresses for maintaining dual access to IPv6 and IPv4 networks
Requires little or no changes to existing IPv4 network infrastructures when using stateful NAT64
Seamless internet experience for IPv6 users accessing IPv4 internet services, thus maintaining IPv4 business continuity
Supports configuration of NAT64 without having to configure a data policy
Supported traffic flow is from the IPv6 client on the remote site, in the data center, or in another branch site, to the IPv4 client or server on the local LAN behind VM5, as shown in the diagram.
![]() Note |
Traffic origination is always from the transport-side (WAN) to the service-side (LAN) in the overlay network. |
Use the procedures in the following sections for enabling and configuring NAT64.
From the Cisco vManage menu, choose .
Click Device.
Click Create Template.
From the Create Template drop-down list, choose From Feature Template.
Choose a Cisco IOS XE SD-WAN device.
Choose a Device Role.
In the Template Name field, enter a name for the template. The name can be up to 128 characters and can contain only alphanumeric characters.
In the Template Description field, enter a description of the template. The description can be up to 2048 characters and can contain only alphanumeric characters.
To create a template for VPN 0 or VPN 512:
Click Transport & Management VPN located directly beneath the Description field, or scroll to the Transport & Management VPN section.
From the Cisco VPN 0 or Cisco VPN 512 drop-down list, click Create Template.
The Cisco VPN template form appears. The top of the form contains fields for naming the template, and the bottom contains fields for defining VPN parameters.
In the Cisco VPN Interface Ethernet template, click NAT, and choose IPv6.
Change the scope from Default to Global.
Click On to enable NAT64.
The correct set of parameters appears.
Enter the parameter values.
To save the feature template, click Save.
To create a template for VPNs 1 through 511, and 513 through 65527:
Click Service VPN.
Click Add VPN.
From the Add VPN window, click Create Template.
The Cisco VPN template form displays. The top of the form contains fields for naming the template, and the bottom contains fields for defining VPN parameters.
To save the feature template, click Save.
From the Cisco vManage menu, choose .
Click Feature.
Click Add Template.
Choose a Cisco IOS XE SD-WAN device.
Click the Cisco VPN Interface Ethernet template.
![]() Note |
The Cisco VPN Interface Ethernet template is a transport-side interface. |
In the Template Name field, enter a name for the template.
The name can be up to 128 characters and can contain only alphanumeric characters.
In the Template Description field, enter a description of the template.
The description can be up to 2048 characters and can contain only alphanumeric characters.
Click Basic Configuration and choose an interface.
Click NAT and choose IPv6 for NAT64.
Change the scope from Default to Global.
Click On to enable NAT64.
To save the feature template, click Save.
You must have enabled NAT64 prior to configuring a NAT64 IPv4 pool.
Configure a feature template.
Click Cisco VPN.
In the Template Name field, enter a name for the template.
The name can be up to 128 characters and can contain only alphanumeric characters.
In the Template Description field, enter a description of the template.
The description can be up to 2048 characters and can contain only alphanumeric characters.
Click NAT64 v4 Pool.
Click New NAT64 v4 Pool.
In the NAT64 Pool name field, specify the pool name.
![]() Note |
You have to specify a number for the pool name. |
In the NAT 64 v4 Pool Range Start field, specify the IPv4 address for the start of the pool range.
In the NAT 64 v4 Pool End Start field, specify the IPv4 address for the end of the pool range.
From the drop-down list, choose Global.
Click On to enable NAT 64 Overload.
![]() Note |
NAT 64 Overload is set to Off by default. |
Click Add.
Click Update to push the configuration to the device.
This section provides an example CLI configuration for enabling NAT64.
Enable NAT64 on the LAN interface, which is equivalent to the Service VPN template on Cisco vManage.
The IPv4 application server is on the local LAN site and the IPv6 client is in the data center or on the remote site of the LAN.
Device# interface GigabitEthernet 5.104
nat64 enable
This section provides an example CLI configuration for configuring a service-side NAT64 pool.
Device# nat64 v4 pool pool10 10.1.1.10 10.1.1.100
nat64 v6v4 list global-list_nat64 pool pool10 vrf 4 overload
The following is a sample output from the show ipv6 route vrf command:
Device# show ipv6 route vrf 4
IPv6 Routing Table - 4 - 5 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP, Nd - Nat-Route DIA
S 64:FF9B::/96 [1/0]
via ::10.1.1.2%default, NVI0%default
In this example, the NAT64 well-known prefix, 64:FF9B::/96
, displays in the IPv6 routing table of a service VPN.
The following is a sample output from the show ip route vrf 4 command:
Device# show ip route vrf 4
Routing Table: 4
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
The NAT64 IPv4 pool address is installed in the routing table as nat inside route
in the IPv4 routing table of a service VPN.
The following is a sample output from the show ipv6 route vrf command:
Device# show ipv6 route vrf 4
IPv6 Routing Table - 4 - 5 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP
m 64:FF9B::/96 [251/0]
via 172.16.255.15%default, Sdwan-system-intf%default
In this example, the NAT64 well-known prefix, 64:FF9B::/96
, is received as an OMP route.
The NAT64 IPv4 pool addresses are received as an OMP route.
This example shows the configuration of NAT64.
nat64 v4 pool 1-4 10.1.1.1 10.1.1.10
nat64 v6v4 list nat64-list pool 1-4 vrf 4 overload
!
interface GigabitEthernet5.104
encapsulation dot1Q 104
vrf forwarding 4
ip address 10.1.19.15 10.255.255.255
ip mtu 1496
ip ospf network broadcast
ip ospf 4 area 0
nat64 enable
end
This example shows the configuration of a NAT64 pool.
nat64 v4 pool 1-4 10.1.1.1 10.1.1.10
nat64 v6v4 list nat64-list pool 1-4 vrf 4 overload
!
interface GigabitEthernet5.104
encapsulation dot1Q 104
vrf forwarding 4
ip address 10.1.19.15 10.255.255.255
ip mtu 1496
ip ospf network broadcast
ip ospf 4 area 0
nat64 enable
end
NAT64 DIA uses interface overload only and works only with NAT DIA interface overload.
NAT DIA pool or loopback is not supported for NAT64.
NAT DIA is not supported for NAT64.
You can use the following NAT64 DIA routes for installing routes in the routing table:
Example of a NAT64 DIA route for a /128 prefix:
nat64 route vrf 4 64:FF9B::1E00:102/128 global
Example of a NAT64 DIA route for a /96 NAT64 prefix:
nat64 route vrf 4 64:FF9B::/96 global
You cannot use the following NAT64 DIA route configurations for installing routes in the routing table:
nat64 route vrf 4 64:ff9b::/64 global
nat64 route vrf 4 ::0/0 global
Cisco SD-WAN NAT64 Direct Internet Access (DIA) supports routing of traffic from branch sites directly to the internet instead of tunneling the internet traffic to a central site or data center for internet access.
The traffic flow for NAT64 DIA is from the LAN to DIA.
Enable NAT64 using a Cisco VPN Interface Ethernet template for both IPv4 and IPv6.
![]() Note |
NAT64 IPv4 DIA uses interface overload by default. |
A Cisco VPN Interface Ethernet template is a transport interface.
Configure a NAT64 DIA IPv6 route using a Cisco VPN template.
Better application performance
Reduced bandwidth consumption and latency
Lower bandwidth cost
Improved branch office user experience by providing DIA at remote site locations
Configure a feature template.
Click Cisco VPN Interface Ethernet.
![]() Note |
The Cisco VPN Interface Ethernet template is a transport-side interface. |
In the Template Name field, enter a name for the template.
The name can be up to 128 characters and can contain only alphanumeric characters.
In the Template Description field, enter a description of the template.
The description can be up to 2048 characters and can contain only alphanumeric characters.
Click Basic Configuration and choose an interface.
Click NAT and choose IPv4.
Change the scope from Default to Global.
Click On to enable NAT64 for IPv4.
Repeat the process for IPv6.
![]() Note |
Configure both IPv4 and IPv6 for NAT64 DIA. |
In the NAT Type field, click Interface for interface overload.
Parameter Name |
Description |
---|---|
NAT |
Specify if NAT translation is used. The default is Off. |
NAT Type |
Specify the NAT translation type. The default is the Interface option. The Interface option is supported for NAT64. |
UDP Timeout |
Specify when NAT translations over UDP sessions time out. Range: 1 through 65536 minutes Default: 1 minutes |
TCP Timeout |
Specify when NAT translations over TCP sessions time out. Range: 1 through 65536 minutes Default: 60 minutes (1 hour) |
Click Save if you are creating a new template or Update if you are editing an existing template.
Configure a feature template using a Cisco IOS XE SD-WAN device.
Click Cisco VPN as the template.
![]() Note |
You configure an IPv6 DIA route in a Cisco VPN template, which is the service VPN. |
Click IPv6 Route.
Click New IPv6 Route.
In the Prefix field, enter the well-known prefix, 64:FF9B::/96
.
In the Gateway field, click VPN.
In the Enable VPN field, change the scope from Default to Global, and click On to enable VPN.
Click Add.
nat64 route vrf 4 64:FF9B::1E00:102/128 global
The following is a sample output from the show ipv6 route vrf command:
Device# show ipv6 route vrf 4
IPv6 Routing Table - 4 - 5 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP
m 64:FF9B::/96 [251/0]
via 172.16.255.15%default, Sdwan-system-intf%default
In this example, 64:FF9B::/96
, is the NAT64 well-known prefix for translating IPv6 to IPv4 addresses.
Because NAT64 DIA is configured in the transport VPN, the routing table in the transport VPN appears as the following:
Device# show ipv6 route
IPv6 Routing Table - default - 2 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP, Nd - Nat-Route DIA
S 64:FF9B::/96 [1/0]
This example shows the end-to-end configuration for NAT64 DIA.
interface GigabitEthernet1
no shutdown
arp timeout 1200
ip address 10.1.15.15 10.255.255.255
no ip redirects
ip mtu 1500
ip nat outside
load-interval 30
mtu 1500
negotiation auto
nat64 enable
!
nat64 v6v4 list nat64-global-list interface GigabitEthernet1 overload
!
ip nat inside source list nat-dia-vpn-hop-access-list interface GigabitEthernet1 overload
GigabitEthernet 1 and 4 are transport VPN interfaces.
When NAT64 DIA advertisement is configured on any designated Cisco SD-WAN site on the network, Overlay Management Protocol (OMP) advertises the NAT64 default route to the branches. The branches receive the default route and use it to reach the hub for all DIA traffic. The Cisco SD-WAN site acts as the internet gateway for all DIA traffic.
For more information, see the NAT on Cisco IOS XE SD-WAN Devices chapter.
![]() Note |
By default, NAT64 IPv4 pool addresses and the NAT64 well-known prefix are received as an OMP route. |