Tengo scripts que ejecutan pruebas de multidifusión de IP; sin embargo, mis scripts están fallando en una máquina Linux en particular.
Sé que puedo mirar CONFIG_IP_MULTICAST
en el archivo de configuración del kernel para determinar si el kernel fue compilado con esto. Sin embargo, sería más fácil marcar los requisitos que faltan en mi secuencia de comandos si pudiera ver /proc
o sysctl
y obtén la respuesta.
¿Hay alguna manera de averiguar si IP Multicast se compiló en el kernel sin mirar CONFIG_IP_MULTICAST
? ?
Respuesta aceptada:
Parece que la mayoría de los núcleos (post v1) admiten multidifusión de forma predeterminada o tienen habilitado CONFIG_IP_MULTICAST durante la compilación. Para verificar si el kernel compilado y en ejecución se suscribe a algún grupo de multidifusión, usaría netstat -g
.
Parece que la mayoría de los núcleos (post v1) admiten multidifusión de forma predeterminada.
[[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
Veo que la interfaz eth0 en mi host cree que está suscrito al grupo básico de mcast 224.0.0.251. También, alternativamente, si hago ping al grupo o a la red y luego se me devuelven todas las redes de host habilitadas para multidifusión conocidas, diría que la multidifusión está funcionando en el host.
¿Puede intentar netstat -g
o cat /proc/net/igmp
y ver si devuelve algún grupo en su host?