| Stateful NAT64 |
| ============== |
| |
| This document describes stateful NAT64 Network Address and Protocol |
| Translation |
| |
| Introduction |
| ------------ |
| |
| Stateful NAT64 in VPP allows IPv6-only clients to contact IPv4 servers |
| using unicast UDP, TCP, or ICMP based on RFC 6146. |
| |
| Configuration |
| ------------- |
| |
| Enable/disable NAT64 feature on the interface |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| set interface nat64 in|out [del] |
| |
| in: inside/local/IPv6 network out: outside/external/IPv4 network intfc: |
| interface name |
| |
| Add/delete NAT64 pool address |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| One or more public IPv4 addresses assigned to a NAT64 are shared among |
| several IPv6-only clients. |
| |
| nat64 add pool address [- ] [tenant-vrf ] [del] |
| |
| ip4-range-start: First IPv4 address of the range ip4-range-end: Last |
| IPv4 address of the range (optional, not used for single address) |
| tenant-vrf-id: VRF id of the tenant associated with the pool address |
| (optional, if not set pool address is global) |
| |
| Add/delete static BIB entry |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Stateful NAT64 also supports IPv4-initiated communications to a subset |
| of the IPv6 hosts through statically configured bindings. |
| |
| nat64 add static bib tcp|udp|icmp [vfr ] [del] |
| |
| ip6-addr: inside IPv6 address of the host in-port: inside port or ICMPv6 |
| identifier ip4-addr: outside IPv4 address of the host out-port: outside |
| port or ICMPv4 identifier table-id: VRF id of the tenant associated with |
| the BIB entry (optional, default use global VRF) |
| |
| Set NAT64 session timeouts |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Session is deleted when timer expires. If all sessions corresponding to |
| a dynamically create BIB entry are deleted, then the BIB entry is also |
| deleted. When packets are flowing session timer is refreshed to keep the |
| session alive. |
| |
| set nat64 timeouts udp icmp tcp-trans tcp-est tcp-incoming-syn \| |
| reset |
| |
| udp: UDP session timeout value (default 300sec) icmp: ICMP session |
| timeout value (default 60sec) tcp-trans: transitory TCP session timeout |
| value (default 240sec) tcp-est: established TCP session timeout value |
| (default 7440sec) tcp-incoming-syn: incoming SYN TCP session timeout |
| value (default 6sec) reset: reset timers to default values |
| |
| Set NAT64 prefix |
| ~~~~~~~~~~~~~~~~ |
| |
| Stateful NAT64 support the algorithm for generating IPv6 representations |
| of IPv4 addresses defined in RFC 6052. If no prefix is configured, |
| Well-Known Prefix (64:ff9b::/96) is used. |
| |
| nat64 add prefix / [tenant-vrf ] [del] |
| |
| ip6-prefix: IPv6 prefix plen: prefix length (valid values: 32, 40, 48, |
| 56, 64, or 96) tenant-vrf: VRF id of the tenant associated with the |
| prefix |
| |
| Show commands |
| ~~~~~~~~~~~~~ |
| |
| show nat64 pool show nat64 interfaces show nat64 bib tcp|udp|icmp |
| show nat64 session table tcp|udp|icmp show nat64 timeouts show nat64 |
| prefix |
| |
| Notes |
| ----- |
| |
| Multi thread is not supported yet (CLI/API commands are disabled when |
| VPP runs with multiple threads). |