Skip to content

Commit ee5c048

Browse files
author
Stephen Mott
committed
fix(devcontainer): fix devcontainer under ubuntu 26.04 - iptables changes
nat': Table does not exist (do you need to insmod?)\nPerhaps iptables or your kernel needs to be upgraded.\n (exit status 3)
1 parent 71c999d commit ee5c048

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

src/docker-in-docker/install.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -310,10 +310,16 @@ if [ "${ADJUSTED_ID}" = "debian" ] && command -v update-ca-certificates > /dev/n
310310
update-ca-certificates
311311
fi
312312

313-
# Swap to legacy iptables for compatibility (Debian only)
314313
if [ "${ADJUSTED_ID}" = "debian" ] && type iptables-legacy > /dev/null 2>&1; then
315-
update-alternatives --set iptables /usr/sbin/iptables-legacy
316-
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
314+
# Check if host kernel supports ip_tables/iptable_nat
315+
if iptables-legacy -t nat -L > /dev/null 2>&1; then
316+
update-alternatives --set iptables /usr/sbin/iptables-legacy
317+
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
318+
else
319+
# first appeared in Ubuntu ≥ 26.04
320+
update-alternatives --set iptables /usr/sbin/iptables-nft
321+
update-alternatives --set ip6tables /usr/sbin/ip6tables-nft
322+
fi
317323
fi
318324

319325
# Set up the necessary repositories

0 commit comments

Comments
 (0)