If you want to help this service in the mission to promote IPv6 you can do so by running an IPv4 peer on a host with a suitable IPv4 connection.

Other reasons for running an IPv4 peer is that you have a host stuck behind NAT with no IPv6 and you need that host to be reachable from the outside world.

The software offered on this page provides a proof-of-concept Python implementation of the protocol which has been tested on Ubuntu 20.04. The software may also work on other platforms.

Steps to take before installing an IPv4 peer

You need to understand that you are getting the benefit of external reachability from the peer-to-peer netowrk and that in return you are granting IPv4 access to the peer-to-peer network. If this access is being abused by others it can happen that complaints are sent to your network provider. For this reason I recommend that you contact your network provider in advance.

I recommend that you contact your network provider and explain that you have the need for a peer in this network. Moreover explain to your network provider that the software provider strongly recommends that you use IPv6. If the network provider under those circumstances still will not give you the necessary IPv6 access proceed to ask them if they recommend that you use the IPv4 version instead.

Moreover I recommend that you communicate with them in writing such that if any abuse should happen you can show them that you installed the IPv4 peer after they recommended the use of IPv4 rather than IPv6.

Requirements for an IPv4 peer

In order to run an IPv4 peer you need access to IPv4 which can be through one or more layers of NAT. Before installing the software you should ask your network provider for a routed IPv6 prefix. If the provider gives you a functional /60 or shorter prefix free of charge I recommend that you make good use of that and do not install the IPv4 peer.

The software is available as a .deb package for easy install. This package is tested on Ubuntu 20.04.

The first time the software starts it will need to perform a proof-of-work in order to be issued an identification to use in the peer-to-peer network. On my lowend laptop this step takes about 30 seconds to complete.

You can use this command to see IPv6 addresses which can be used to reach your peer:

cat /var/run/p2p-nat64-ip
The first address shown will be a Teredo based address. More addresses will be added to the file as prefixes are learned.

If you are technically inclined you can also choose to download the source using this command:

hg clone https://p2p.nat64.dk/p2p-nat64-v4peer