Wizard Configuration
Enable and configure NAT46 through the publisher wizard
Wizard Configuration
NAT46 is enabled and configured through the interactive publisher wizard. The wizard handles all host-level setup: Jool SIIT instances, EAMT source translation, IPv6 routes, and CoreDNS Corefile generation.
Accessing the Wizard
sudo ~/npa_publisher_wizardNavigate to Network Settings and then NAT46 Configuration.
Enabling NAT46
When you select Enable NAT46, the wizard will:
- Detect IPv6 connectivity on the host
- Generate a ULA pool6 prefix (e.g.,
fd8f:c742:6e17::/96) — a unique local address range used by Jool for addresses without explicit EAMT entries - Create a Jool SIIT instance with the generated pool6
- Add source EAMT entry — maps the publisher's fixed SNAT address (
191.1.0.1) to the host's real IPv6 address, so Jool can translate outbound packet sources to a routable address - Add local routes for the IPv4 translation range and pool6 IPv6 prefix
- Enable IPv6 forwarding (
net.ipv6.conf.all.forwarding=1) - Regenerate the CoreDNS Corefile with the
nat46plugin block - Save configuration to
~/resources/.nat46_config.json(includinghost_ipv6so the CoreDNS plugin can restore the source EAMT after restart)
No container restart is required. The wizard operates on the host level, and CoreDNS automatically reloads the Corefile when it changes.
Configuration File
The wizard saves NAT46 state to ~/resources/.nat46_config.json, which is mounted into the container at /home/resources/.nat46_config.json:
{
"enabled": true,
"pool6": "fd8f:c742:6e17::/96",
"ipv4_range": "240.0.0.0/4",
"jool_instance": "default",
"ttl": "300",
"grace_period": "1h",
"host_ipv6": "2001:db8::1"
}Fields
| Field | Description | Default |
|---|---|---|
enabled | Whether NAT46 is active | false |
pool6 | IPv6 ULA prefix for Jool SIIT | Auto-generated /96 |
ipv4_range | IPv4 CIDR used for synthesized addresses | 240.0.0.0/4 |
jool_instance | Jool SIIT instance name | default |
ttl | DNS TTL for synthesized A records (seconds) | 300 |
grace_period | How long to keep EAMT mappings after DNS TTL expires | 1h |
host_ipv6 | Host's IPv6 address for EAMT source translation | Auto-detected |
Disabling NAT46
Select Disable NAT46 in the wizard menu. This will:
- Remove the Jool SIIT instance and source EAMT entry
- Remove local IPv4 and IPv6 routes
- Regenerate the Corefile without the
nat46block - Disable IPv6 forwarding
- Update the config file with
"enabled": false - Remove boot persistence scripts
- Clean up any legacy ip6tables chains from older versions
Changing Settings
To modify NAT46 parameters (e.g., IPv4 range, TTL):
- Disable NAT46 via the wizard
- Edit
~/resources/.nat46_config.jsonwith new values - Re-enable NAT46 via the wizard
The wizard reads existing configuration values and uses them when re-enabling.
Boot Persistence
When NAT46 is enabled, the wizard creates persistence scripts so the configuration survives reboots:
/etc/modules-load.d/jool.conf— Loadsjool_siitkernel module on boot/etc/networkd-dispatcher/routable.d/50-jool-route.sh— Restores routes and Jool instance when the network comes up
These are automatically removed when NAT46 is disabled.