build01: building llp0j6xd8fqgjf6blf9sghms68mr2ygi-container-test-run-user-firewall-nftables.drv additionally exposed symbols: machine, router, start_all, machines, driver, Machine, wait_for_signal Starting machine Starting router ░ Spawning container machine on /build/tmpnsmea9vq/machine. ░ Spawning container router on /build/tmpnsmea9vq/router. <<< NixOS Stage 2 >>> booting system configuration /nix/store/y61d5l8p6a6d3fq7vpkzfqyk88irl8cj-nixos-system-machine-test running activation script... setting up /etc... 2: host0@if3: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 0e:74:26:22:81:c2 brd ff:ff:ff:ff:ff:ff link-netnsid 0 starting systemd... systemd 260.5 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE) Detected virtualization systemd-nspawn. Detected architecture arm64. Detected first boot. Initializing machine ID from container UUID. Applying preset policy. Populated /etc with preset unit settings. Queued start job for default target Multi-User System. <<< Welcome to NixOS test (aarch64) - console >>> + systemd-run /bin/sh -c '/nix/store/3l7ygqcc6v0rbi9d4j1m6phi6sz86j98-coreutils-9.11/bin/sleep 999999999 && echo c80d1212-ea8e-4008-b5b9-9d9681577f58' Running as unit: run-p226-i8133325.service; invocation ID: a99aeb3feb1448f8878a487a05177fdd To attach to container machine run on the same machine that runs the test: sudo nsenter --user --target $(\pgrep -f '^/bin/sh.*c80d1212-ea8e-4008-b5b9-9d9681577f58') --mount --uts --ipc --net --pid --cgroup /bin/sh -c bash To inject external network and continue test, run: sudo /nix/store/q1khrhbn506imjxx7kiqcbihycawa6kl-python3-3.13.15/bin/python3.13 /nix/store/3s4n1722ryfwn15l3f28q44yanpxzfvd-test-driver-0.0.1/lib/python3.13/site-packages/test_driver/inject_network.py c80d1212-ea8e-4008-b5b9-9d9681577f58 <<< NixOS Stage 2 >>> booting system configuration /nix/store/45rbhn4qz6yw3g5zqyh3iv15by13cdrs-nixos-system-router-test running activation script... setting up /etc... 2: host0@if4: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether a6:24:31:fe:b9:6d brd ff:ff:ff:ff:ff:ff link-netnsid 0 starting systemd... systemd 260.5 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE) Detected virtualization systemd-nspawn. Detected architecture arm64. Detected first boot. Initializing machine ID from container UUID. Applying preset policy. Populated /etc with preset unit settings. Queued start job for default target Multi-User System. <<< Welcome to NixOS test (aarch64) - console >>> + systemd-run /bin/sh -c '/nix/store/3l7ygqcc6v0rbi9d4j1m6phi6sz86j98-coreutils-9.11/bin/sleep 999999999 && echo f98f21a2-d8c6-491d-8d3a-e42ed6d10bc5' Running as unit: run-p209-i8133350.service; invocation ID: 6a1141c6e43e465380fabed6961eba86 To attach to container router run on the same machine that runs the test: sudo nsenter --user --target $(\pgrep -f '^/bin/sh.*f98f21a2-d8c6-491d-8d3a-e42ed6d10bc5') --mount --uts --ipc --net --pid --cgroup /bin/sh -c bash To inject external network and continue test, run: sudo /nix/store/q1khrhbn506imjxx7kiqcbihycawa6kl-python3-3.13.15/bin/python3.13 /nix/store/3s4n1722ryfwn15l3f28q44yanpxzfvd-test-driver-0.0.1/lib/python3.13/site-packages/test_driver/inject_network.py f98f21a2-d8c6-491d-8d3a-e42ed6d10bc5 + systemctl --no-pager show multi-user.target + systemctl --no-pager show nginx.service + systemctl --no-pager show multi-user.target + systemctl --no-pager show nginx.service + ip -4 addr show eth1 + grep -oP '(?<=inet\s)\d+(\.\d+){3}' + ip -6 addr show eth1 + grep -oP '(?<=inet6\s)[0-9a-f:]+' + grep -v '^fe80' + head -1 Router IPv4: 192.168.1.2 Router IPv6: 2001:db8:1::2 + systemctl restart nftables + systemctl --no-pager show nftables.service + nft list table inet user-firewall table inet user-firewall { chain output { type filter hook output priority filter; policy accept; oifname "lo" counter packets 0 bytes 0 accept comment "allow lo" oifname "tun*" counter packets 0 bytes 0 accept comment "allow tun*" oifname "tap*" counter packets 0 bytes 0 accept comment "allow tap*" oifname "wg*" counter packets 0 bytes 0 accept comment "allow wg*" oifname "tailscale*" counter packets 0 bytes 0 accept comment "allow tailscale*" oifname "zt*" counter packets 0 bytes 0 accept comment "allow zt*" oifname "vpn*" counter packets 0 bytes 0 accept comment "allow vpn*" oifname "ipsec*" counter packets 0 bytes 0 accept comment "allow ipsec*" oifname "nebula*" counter packets 0 bytes 0 accept comment "allow nebula*" oifname "tinc*" counter packets 0 bytes 0 accept comment "allow tinc*" oifname "edge*" counter packets 0 bytes 0 accept comment "allow edge*" oifname "hyprspace" counter packets 0 bytes 0 accept comment "allow hyprspace" oifname "ham0" counter packets 0 bytes 0 accept comment "allow ham0" oifname "easytier" counter packets 0 bytes 0 accept comment "allow easytier" oifname "mycelium" counter packets 0 bytes 0 accept comment "allow mycelium" meta skuid 1002 counter packets 0 bytes 0 reject comment "blocked user bob" } } machine: waiting for success: runuser -u alice -- curl -s http://127.0.0.1:8080 + runuser -u alice -- curl -s http://127.0.0.1:8080 (finished: waiting for success: runuser -u alice -- curl -s http://127.0.0.1:8080, in 0.02 seconds) + runuser -u alice -- curl -s http://192.168.1.2 + runuser -u alice -- curl -s 'http://[2001:db8:1::2]' + runuser -u bob -- curl -s http://127.0.0.1:8080 + runuser -u bob -- curl -s --connect-timeout 2 http://192.168.1.2 + echo EXIT_CODE=7 + runuser -u bob -- curl -s --connect-timeout 2 'http://[2001:db8:1::2]' + echo EXIT_CODE=7 + nft list table inet user-firewall + systemctl --no-pager show setup-wg0-interface.service + systemctl --no-pager show nginx.service machine: waiting for success: nc -z 10.100.0.2 8081 + nc -z 10.100.0.2 8081 Connection to 10.100.0.2 8081 port [tcp/sunproxyadmin] succeeded! (finished: waiting for success: nc -z 10.100.0.2 8081, in 0.01 seconds) + ip link show wg0 + ip addr show wg0 + runuser -u alice -- curl -s --interface wg0 http://10.100.0.2:8081/ + runuser -u alice -- curl -s --interface wg0 'http://[fd00::2]:8081/' + runuser -u bob -- curl -s --interface wg0 http://10.100.0.2:8081/ + runuser -u bob -- curl -s --interface wg0 'http://[fd00::2]:8081/' + nft list table inet user-firewall + grep -E 'oifname.*wg' oifname "wg*" counter packets 0 bytes 0 accept comment "allow wg*" Container machine terminated by signal KILL. Container router terminated by signal KILL.