--- layout: page title: "How I set up NAT64" description: "Working towards single-stack inside AS54041" date: 2023-06-16 tags: networking draft: true extra: auto_center_images: true excerpt: "Information on how I set up NAT64 inside AS54041" # discuss: # reddit: https://www.reddit.com/r/ewpratten/comments/1356u1t/i_performed_a_button_swap_on_my_mouse/ # hacker_news: https://news.ycombinator.com/item?id=35781662 uses: [mermaid] --- Somewhere along the way of setting up AS54041 over the past few years I stumbled across a reference to [NAT64](https://en.wikipedia.org/wiki/NAT64). As with most things IPv6 related, Google searches surface a bunch of hand-wave-y information about possible implementations, but not much in the way of useful tutorials for anyone wanting to try it out themselves (without expensive enterprise routers that is). ## A quick overview of NAT64 Firstly, traditional NAT (technically NAT44) refers to the process of mapping one IPv4 address range to another. For example, residential networks generally NAT something like `192.168.1.0/24` to a single public IPv4 address. Every time an internal host wants to send a packet out to the other side of the NAT, a temporary port is allocated on the public address, the router keeps track of this mapping, and the packet is masqueraded from the public address.