Mám skripty, které spouštějí testy vícesměrového vysílání IP; mé skripty však na konkrétním linuxovém počítači selhávají.
Vím, že se mohu podívat na CONFIG_IP_MULTICAST
v konfiguračním souboru jádra, abyste zjistili, zda bylo jádro zkompilováno s tímto. Bylo by však jednodušší označit chybějící požadavky v mém skriptu, kdybych se mohl podívat na /proc
nebo sysctl
a získejte odpověď.
Existuje způsob, jak zjistit, zda bylo IP Multicast zkompilováno do jádra, aniž byste se museli dívat na CONFIG_IP_MULTICAST
?
Přijatá odpověď:
Zdá se, že většina jader (post v1) ve výchozím nastavení podporuje multicast nebo mají při kompilaci povoleno CONFIG_IP_MULTICAST. Ke kontrole, zda se zkompilované a běžící jádro přihlásí k nějaké skupině multicast, bych použil netstat -g
.
Zdá se, že většina jader (post v1) standardně podporuje multicast.
[[email protected] module]# grep CONFIG_IP_MULTICAST /usr/src/kernels/2.6.18-274.7.1.el5-i686/.config
CONFIG_IP_MULTICAST=y
[[email protected] module]# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 224.0.0.251
eth0 1 all-systems.mcast.net
Vidím, že rozhraní eth0 na mém hostiteli si myslí, že má předplacenou základní skupinu mcast 224.0.0.251. Alternativně, pokud pingnu na skupinu nebo síť a pak se mi vrátí všechny známé hostitelské sítě s povoleným multicastem, řekl bych, že multicast na hostiteli funguje.
Můžete zkusit netstat -g nebo
cat /proc/net/igmp
a uvidíte, jestli to vrátí nějaké skupiny na vašem hostiteli?