Saya memiliki skrip yang menjalankan tes multicast IP; namun, skrip saya gagal pada mesin linux tertentu.
Saya tahu bahwa saya dapat melihat CONFIG_IP_MULTICAST
dalam file konfigurasi kernel untuk menentukan apakah kernel dikompilasi dengan ini. Namun, akan lebih mudah untuk menandai persyaratan yang tidak ada dalam skrip saya jika saya dapat melihat /proc
atau sysctl
dan dapatkan jawabannya.
Apakah ada cara untuk mengetahui apakah IP Multicast telah dikompilasi ke dalam kernel tanpa melihat CONFIG_IP_MULTICAST
?
Jawaban yang Diterima:
Tampaknya sebagian besar kernel (posting v1) mendukung multicast secara default atau CONFIG_IP_MULTICAST diaktifkan saat kompilasi. Untuk memeriksa apakah kernel yang dikompilasi dan dijalankan berlangganan ke grup multicast mana pun, saya akan menggunakan netstat -g
.
Tampaknya sebagian besar kernel (post v1) mendukung multicast secara default.
[[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
Saya melihat bahwa antarmuka eth0 pada host saya menganggapnya 224.0.0.251 grup mcast dasar berlangganan. Sebagai alternatif, jika saya melakukan ping ke grup atau jaringan dan kemudian semua jaringan host berkemampuan multicast yang diketahui dikembalikan kepada saya, saya akan mengatakan multicast berfungsi pada host.
Bisakah Anda mencoba netstat -g
atau cat /proc/net/igmp
dan lihat apakah itu mengembalikan grup apa pun di host Anda?