91
Vývoj / Re:Bind socketu na konkrétní síťovou kartu v C
« Poslední příspěvek od M_D kdy 09. 11. 2024, 12:11:52 »...by mě zajímalo, co by se stalo, kdybych spustil nějaký proces přímo, bez "ip netns exec $NAMESPACE", a pak bindoval sockety na rozhraní, již přiřazená popsaným způsobem do izolovaných namespaces...V takovém připadě se tomu procesu to nepovede, protože daný iface/IP v jiném namespace nevidí. Zkrátka to dopadne No such device/Cannot assign requested address.
Proces, pokud má práva (CAP_SYS_ADMIN), tak si může přepnout namespace pomocí setns(). Přesněji, je to per vlákno, takže jde pak použít vícevláknová aplikace, kde každé vlákno binduje/používá interfejsy v jiném namespace.
Takže toto je možná i čistější řešení pro tazatele, kdy si tu třetí síťovku hodí do jiného namespace a spustí tu apku nad tím, pokud by potřeboval komunikvoat přes víc sítí, tak víc těch vláken v různých net namespaces...