NAT-PT V4-Mapped V4V6 Translation enables all IPv4 addresses from the internet to be dynamically translated into IPv6 addresses within our network using a NAT-PT IPv6 /96 prefix, without requiring manual configuration. This process will be the focus of our discussion and demonstration in this lesson.

NAT-PT V4-Mapped Fundamental

NAT-PT Translation Types

As you know, there are two types of translations in NAT-PT.

NAT-PT Translations
NAT-PT Translations

NAT-PT V6V4 Translation refers to the process of translating internal IPv6 addresses to IPv4 addresses when an IPv6 network communicates with the IPv4 internet. This translation can be implemented using three methods: static, dynamic, and PAT. These methods were discussed and demonstrated in the previous sections.

NAT-PT V4V6 Translation, on the other hand, involves translating IPv4 addresses from the IPv4 internet into IPv6 addresses within an IPv6 network. This type of translation has no limitations, since all IPv4 addresses can be easily mapped within an IPv6 /96 prefix.

In the previous section, we demonstrated how to translate IPv4 addresses into IPv6 addresses using the static method. However, this approach is not scalable when the destination is the IPv4 internet. With NAT-PT V4-Mapped V4V6 Translation, IPv4 addresses are automatically mapped to IPv6 addresses by appending the IPv4 address at the end of IPv6 NAT-PT /96 prefix. This is what we demonstrate in this lesson.

NAT-PT V4-Mapped Mechanisms and Examples

To better understand how NAT-PT V4-Mapped V4V6 translation works, let’s first review how we manually mapped an IPv4 address to the enterprise NAT-PT IPv6 prefix in the previous lessons. We mapped the IPv4 address 4.2.2.4 to the IPv6 address 2001:BEB:4:4:4:4:0402:0204, by converting the IPv4 address into hexadecimal and appending it to the NAT-PT IPv6 prefix.

This is the exact process performed by NAT-PT V4-Mapped, except it is done dynamically, meaning the IPv4 address is automatically translated to an IPv6 address in the same manner.

For example, the following IPv4 addresses are dynamically translated to IPv6 addresses using NAT-PT V4-Mapped:

NAT-PT V4-Mapped Configuration Example

1.1.1.1 → 2001:BEBE:4:4:4:0101:0101
4.2.2.4 → 2001:BEBE:4:4:4:0402:0204
8.8.8.8 → 2001:BEBE:4:4:4:0808:0808
172.16.12.15 → 2001:BEBE:4:4:4:AC10:0C0F

This is the topology we implemented in previous lessons. The IPv6 network with the prefix 2001:BEBE::/32 needs to communicate with the IPv4 Internet. Between these two networks, there is a NAT-PT device with the IPv6 prefix 2001:BEBE:4:4:4:4::/96 already configured, which is part of the enterprise’s IPv6 address range.

NAT-PT V4-Mapped Configuration Example
NAT-PT V4-Mapped Configuration Example

We have already discussed and implemented V6V4 translations using three methods: static, dynamic, and PAT. All configurations for these translations are already set up on the device, and I will not modify any of them.

########## V6V4 Translation ##########
########## V6V4 Translation ##########

1. ########## Static NAT ##########
ipv6 nat v6v4 source 2001:BEBE:0:1::2 12.12.12.22


2. ########## dynamic NAT ##########
ipv6 nat v6v4 pool POOL1 12.12.12.5 12.12.12.6 prefix-length 24
!
ipv6 access-list Internet_Users
 permit ipv6 2001:BEBE:0:1:100::/80 any
!
ipv6 nat v6v4 source list Internet_Users pool POOL1

3. ########## PAT ##########
ipv6 access-list Internet_Users_2
 permit ipv6 2001:BEBE:0:1:200::/80 any
!
ipv6 nat v6v4 source list Internet_Users_2 interface eth0/1 overload

However, for V4V6 translation, I have removed the old static translation from 4.2.2.4 to 2001:BEBE:4:4:4:4:0402:0204. This translation must now be handled dynamically using the V4-Mapped mechanism.

To observe the results of V4V6 translation, I have added two additional loopback interfaces—1.1.1.1 and 8.8.8.8—in addition to the existing 4.2.2.4.

For the configuration of NAT-PT V4V6 translation with V4-Mapped, the keyword „v4-mapped is added at the end of the NAT-PT prefix. Additionally, an IPv6 access list is configured to restrict the dynamic V4V6 translation to a specific range of IPv6 addresses within the network. In this example, the access list is set to any, allowing all IPv6 addresses to match and enabling translation to the dynamic destination in the subnet configured for NAT-PT prefix.

########## V4V6 Translation ##########
########## V4V6 Translation ##########

ipv6 access-list V4MAP
 permit ipv6 any 2001:BEBE:4:4:4:4::/96
!
ipv6 nat prefix 2001:BEBE:4:4:4:4::/96 v4-mapped V4MAP

NAT-PT V4-Mapped Verification

To verify the operation of the NAT-PT V4-Mapped process, I initiated a ping from an IPv6 client to the IPv6 equivalents of the following Internet IPv4 addresses:

  • 1.1.1.12001:BEBE:4:4:4:4:0101:0101

  • 4.2.2.42001:BEBE:4:4:4:4:0402:0204

  • 8.8.8.82001:BEBE:4:4:4:4:0808:0808

The successful ping results confirm that the dynamic V4V6 translation is functioning correctly.

IPv6-Client#ping 2001:BEBE:4:4:4:4:0101:0101
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:BEBE:4:4:4:4:101:101, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
IPv6-Client#ping 2001:BEBE:4:4:4:4:0808:0808
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:BEBE:4:4:4:4:808:808, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
IPv6-Client#ping 2001:BEBE:4:4:4:4:0402:0204
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:BEBE:4:4:4:4:402:204, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/5 ms

Using the show ipv6 translation“ command, we can observe that for each session, a dynamic entry is generated in the translation table.

  • The first line of each session entry corresponds to the V6V4 translation.

  • The second line reflects the V4V6 translation result.

These entries provide detailed insights into the active translation process and validate proper NAT-PT operation.

NAT-PT#show ipv6 nat translations
Prot  IPv4 source              IPv6 source
      IPv4 destination         IPv6 destination
icmp  12.12.12.22,6813         2001:BEBE:0:1::2,6813
      1.1.1.1,6813             2001:BEBE:4:4:4:4:101:101,6813

icmp  12.12.12.22,8645         2001:BEBE:0:1::2,8645
      1.1.1.1,8645             2001:BEBE:4:4:4:4:101:101,8645

icmp  12.12.12.22,9623         2001:BEBE:0:1::2,9623
      1.1.1.1,9623             2001:BEBE:4:4:4:4:101:101,9623

icmp  12.12.12.22,8264         2001:BEBE:0:1::2,8264
      4.2.2.4,8264             2001:BEBE:4:4:4:4:402:204,8264

icmp  12.12.12.22,6422         2001:BEBE:0:1::2,6422
      8.8.8.8,6422             2001:BEBE:4:4:4:4:808:808,6422

---   12.12.12.22              2001:BEBE:0:1::2
      ---                      ---

Complete Configuration Verification

!!! NAT-PT
interface Ethernet0/0
 no shutdown
 ipv6 address 2001:BEBE:0:1::1/64
 ipv6 enable
 ipv6 nat
!
interface Ethernet0/1
 no shutdown
 ip address 12.12.12.1 255.255.255.0
 ipv6 enable
 ipv6 nat
!
ip route 0.0.0.0 0.0.0.0 12.12.12.2
!
ipv6 nat v6v4 source 2001:BEBE:0:1::2 12.12.12.22
!
ipv6 nat v6v4 pool POOL1 12.12.12.5 12.12.12.6 prefix-length 24
!
ipv6 access-list Internet_Users
 permit ipv6 2001:BEBE:0:1:100::/80 any
!
ipv6 nat v6v4 source list Internet_Users pool POOL1
!
ipv6 access-list Internet_Users_2
 permit ipv6 2001:BEBE:0:1:200::/80 any
!
ipv6 nat v6v4 source list Internet_Users_2 interface eth0/1 overload
!
ipv6 access-list V4MAP
 permit ipv6 any 2001:BEBE:4:4:4:4::/96
!
ipv6 nat prefix 2001:BEBE:4:4:4:4::/96 v4-mapped V4MAP
!!! IPv4-Server
interface Ethernet0/0
 no shutdown
 ip address 12.12.12.2 255.255.255.0
!
interface Loopback0
 ip address 4.2.2.4 255.255.255.255
!
interface Loopback1
 ip address 1.1.1.1 255.255.255.255
!
interface Loopback2
 ip address 8.8.8.8 255.255.255.255
!
ip route 0.0.0.0 0.0.0.0 12.12.12.1
!!! IPv6-Client
interface Ethernet0/0
 no shutdown
 ipv6 address 2001:BEBE:0:1::2/64
 ipv6 address 2001:BEBE:0:1:100::2/64
 ipv6 address 2001:BEBE:0:1:100::3/64
 ipv6 address 2001:BEBE:0:1:100::4/64
 ipv6 address 2001:BEBE:0:1:100::5/64
 ipv6 address 2001:BEBE:0:1:200::2/64
 ipv6 address 2001:BEBE:0:1:200::3/64
 ipv6 address 2001:BEBE:0:1:200::4/64
 ipv6 address 2001:BEBE:0:1:200::5/64
!
ipv6 route ::/0 2001:BEBE:0:1::1
Back to: IPv6 (in progress) > IPv6 Translation Technologies

Leave a Reply

Your email address will not be published. Required fields are marked *


Post comment