diff --git a/recipes/incoming/linux-generic.toml b/recipes/incoming/linux-generic.toml new file mode 120000 index 00000000..83e950eb --- /dev/null +++ b/recipes/incoming/linux-generic.toml @@ -0,0 +1 @@ +../linux-generic.toml \ No newline at end of file diff --git a/recipes/incoming/rust.toml b/recipes/incoming/rust.toml new file mode 120000 index 00000000..f3d3510b --- /dev/null +++ b/recipes/incoming/rust.toml @@ -0,0 +1 @@ +../rust.toml \ No newline at end of file diff --git a/recipes/linux-generic.toml b/recipes/linux-generic.toml index b57bb075..a42594a7 100644 --- a/recipes/linux-generic.toml +++ b/recipes/linux-generic.toml @@ -19,6 +19,23 @@ # NVK (Vulkan). La mesa del otro agente es IRIS-ONLY ⇒ hay que construir una mesa con nouveau/NVK # para que mirada renderice en NVIDIA. Eso es del frente del otro agente. El kernel sólo aporta # el /dev/dri/cardN con KMS. +# ⚠️ NETFILTER: `nf_tables` VA EXPLÍCITO, y se descubrió porque FALTABA (2026-09-15). En la caja de +# producción, con `nftables` instalado y sellado: +# +# $ nft list ruleset +# netlink: Error: cache initialization failed: Invalid argument +# +# El `.config` sellado lo decía: `CONFIG_NETFILTER=y`, `CONFIG_NF_CONNTRACK=y` y +# **`# CONFIG_NF_TABLES is not set`** — porque `make defconfig` deja `NETFILTER_ADVANCED` apagado y +# NF_TABLES cuelga de ella. O sea: una caja de producción **sin cortafuegos de ninguna clase**, con +# el userland completo y el kernel diciendo que no. Es la lección de esta misma familia de recetas: +# *la receta dice lo que se CAMBIÓ; sólo el `.config` sellado dice lo que QUEDÓ.* +# +# Lo que se enciende es exactamente lo que pide el cortafuegos de tawasuyu (`shared/cortafuegos`, +# SDD-ENTRADA): tabla `inet` (`NF_TABLES_INET`), estado de conexión (`NFT_CT`), y el `limit rate` +# por elemento de set (`NFT_LIMIT`) que es lo que implementa el ban por IP **dentro del kernel**, sin +# daemon — el reemplazo de fail2ban. `NFT_SYNPROXY` va porque ese SDD lo tiene planeado detrás de un +# flag y encenderlo después costaría otro kernel y otro reinicio de producción. # Compilador: CC=gcc/HOSTCC=gcc — gueto-GCC (zig cc choca con el kbuild x86), igual que linux.toml/metal. name = "linux-generic" @@ -52,6 +69,9 @@ scripts/config -d MODULE_SIG -d MODULE_SIG_ALL -d DEBUG_INFO_BTF -d DEBUG_INFO - -e OVERLAY_FS_REDIRECT_DIR -e OVERLAY_FS_INDEX -e OVERLAY_FS_XINO_AUTO -e OVERLAY_FS_METACOPY \ -e SECURITY -e SECURITY_LANDLOCK -e AUDIT -e IO_URING -e BPF_SYSCALL \ -e MEMCG -e PSI -d PSI_DEFAULT_DISABLED \ + -e NETFILTER_ADVANCED -e NF_TABLES -e NF_TABLES_INET -e NF_CONNTRACK -e NF_CONNTRACK_MARK \ + -e NFT_CT -e NFT_LIMIT -e NFT_COUNTER -e NFT_LOG -e NFT_REJECT -e NFT_REJECT_INET \ + -e NETFILTER_SYNPROXY -e NFT_SYNPROXY \ -e VIRTIO -e VIRTIO_PCI -e VIRTIO_BLK -e VIRTIO_NET -e DRM_VIRTIO_GPU \ -e PCI -e PCIEPORTBUS -e ACPI -e FW_LOADER \ -e EXT4_FS -e SQUASHFS -e SQUASHFS_XZ -e SQUASHFS_ZSTD -e SQUASHFS_LZ4 \