I’ve finally exhausted my search skills after many days and need to ask for help. I’ve got Traefik running as a rootless docker container exposing ports 10080 and 10443 which I’d like to forward ports 80 and 443 to respectively. I have Tailscale running already using nftables so I’d like to keep that setup, even though I did disable that and try the iptables method found in the wiki for rootless docker without success. For nftables I’ve tried the following 2 methods derived from the Networking wiki entry:
let
ipAddress = "10.21.32.1";
in {
networking = {
firewall = {
enable = true;
allowedTCPPorts = [
80
443
];
};
nat = {
enable = true;
internalInterfaces = ["lo"];
externalInterface = "enp1s0f1";
forwardPorts = [
{
sourcePort = 80;
proto = "tcp";
destination = "${ipAddress}:10080";
}
{
sourcePort = 443;
proto = "tcp";
destination = "${ipAddress}:10443";
}
];
};
};
};
and
let
ipAddress = "10.21.32.1";
in {
networking = {
firewall = {
enable = true;
allowedTCPPorts = [
80
443
];
};
nftables = {
enable = true;
ruleset = ''
table ip nat {
chain PREROUTING {
type nat hook prerouting priority dstnat; policy accept;
iifname "enp1s0f1" tcp dport 80 redirect to :10080
}
chain PREROUTING {
type nat hook prerouting priority dstnat; policy accept;
iifname "enp1s0f1" tcp dport 443 redirect to :10443
}
}
'';
};
};
};
In both cases I’m unable to access services behind Traefik. When I check the ports using nmap it reports closed unless I sudo.
[nix-shell:]$ nmap -p 443 10.21.32.1
Starting Nmap 7.991 ( https://nmap.org ) at 2026-09-28 14:57 -0500
Nmap scan report for kaDT1.local (10.21.32.1)
Host is up (0.000028s latency).
PORT STATE SERVICE
443/tcp closed https
Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
[nix-shell:]$ sudo nmap -p 443 10.21.32.1
Starting Nmap 7.991 ( https://nmap.org ) at 2026-09-28 14:57 -0500
Nmap scan report for kaDT1.local (10.21.32.1)
Host is up.
PORT STATE SERVICE
443/tcp filtered https
Nmap done: 1 IP address (1 host up) scanned in 2.06 seconds
[nix-shell:~/nixParts]$
Curl likewise returns curl: (7) Failed to connect to 10.21.32.1:80 after 0 ms: Could not connect to server for when I check ports 80, 443, and the FQDN of the service.
I’m assuming there’s something simple I’m missing here but I’ve run out of documentation and forum posts online to read.