IPv6 on HAMNET with 6to4
Published on: March 29, 2026
Although there are some proposals for amateurs to receive a 44net equivalent in IPv6, this hasn’t happened yet. However, it’s not true that we don’t have any IPv6 address space at all. In fact, we have a whole /24 dedicated to amateur radio. This has been implicitly given to us via the 6to4 transition mechanism, meaning that anyone who has a 44net address, be it from ARDC directly, HAMNET or any other project, also has a /48 of v6.
These are not normal addresses though. They are meant to support the transition from IPv4 to IPv6 so v6 packets get transferred over a v4 backbone.
HOST ROUTER 44.128.1.1 <--> 44.128.2.1 ROUTER HOST
2002:2c80:101::cafe ---> 2002:2c80:101::1 <--------------------------> 2002:2c80:201::1 ---> 2002:2c80:201::baba
The use of an IPv4 backbone is the key here because, while it’s problematic on networks with both v4 and v6 backbones like the Internet, it’s good for isolated networks where there is no IPv6 backbone at all. One such network is HAMNET. 6to4 would be a great way to introduce IPv6 there because two people can start using IPv6 without every hop in the middle needing to be v6 capable. There is also no additional administrative overhead since every IPv4 address nicely translates to a /48 prefix.
On the other hand, if there exist both IPv4 and IPv6 backbones (like on the Internet), a 6to4 host (which uses the v4 backbone) wanting to communicate with a native IPv6 host (uses v6 backbone) needs to go through a relay that bridges the two backbones. This creates bottlenecks, routing inefficiencies and additional points of failure. Therefore, using this technology on the Internet, while possible, is very unreliable and also deprecated since 2015, meaning amateur radio still requires a globally unique IPv6 allocation for the future.
Getting a GUA is not easy. It won’t happen if we don’t show the need for v6 addresses so let’s use what we already have, a gigantic 6to4 prefix, where it’s actually useful, not on the public Internet, but to kickstart IPv6 adoption in isolated networks such as HAMNET.
Simple MikroTik configuration for 6to4 on HAMNET
-
Go to
IPv6 > Settingsand make sureDisable IPv6is unchecked andIPv6 Forwardis checked. Now reboot. -
Add a
6to4 tunnelinterface with theLocal Addressset to the HAMNET address of your router. Leave theRemote addressempty or set to0.0.0.0.

- Paste the same address of your router in the tool below:
| IPv4 address: | |
| 6to4 prefix: |
- Give your router an IPv6 address from the prefix calculated above by going to
IPv6 > Addresses. Make sure to select your LAN interface when adding the address. Also, always use/64prefix size, that’s the standard.

- Go to
IPv6 > Routesand add a route for HAMNET.Destination Addressshould be2002:2c80::/26which maps to 44.128.0.0/10.Gatewayshould be the name of your 6to4 interface.

At this point, devices connected to the interface you added the IPv6 address to (in my case ether1)
should get themselves v6 addresses automatically, but you can also configure them manually:
Address: 2002:2c80:801::2
Prefix length: 64
Default gateway: 2002:2c80:801::1
DNS: 2002:2c94:d388::
Available services
I run a recursive DNS resolver available on 6to4 hamnet. Its address is 2002:2c94:d388::.
You can try pinging it to see if your setup is working.
This website is also accessible over 6to4 at http://[2002:2c94:d2ff::]
If you decide to make a service of your own available using this method drop me an e-mail. I’ll happily include it here.
Systemd-Networkd
In a previous post I mentioned that my router is a pure Linux machine rather than a MikroTik so here is the config for that:
sudo nano /etc/systemd/network/60-6to4-hamnet.netdev
[NetDev]
Name=sit-hamnet
Kind=sit
Description=6to4 tunneling on HAMNET
[Tunnel]
Local=44.148.211.136
Remote=0.0.0.0
TTL=255
sudo nano /etc/systemd/network/60-6to4-hamnet.network
[Match]
Name=sit-hamnet
[Network]
Address=2002:2c94:d388::/26
Parent interface:
[Match]
Name=wg-hamnet
[Network]
Address=44.148.211.136/32
Tunnel=sit-hamnet # Important - defines that this is the parent interface of the tunnel
[Route]
Destination=44.128.0.0/10