Centos8은 IGMP v2 멤버십 쿼리에 응답하지 않습니다.

Centos8은 IGMP v2 멤버십 쿼리에 응답하지 않습니다.

일반적인 문제를 해결할 때 왜Centos 8 상자는 JOIN을 보낸 후 멀티캐스트 데이터를 수신할 수 없습니다., Wireshark를 사용한 분석에서도 Centos 상자가 IGMP v2 멤버십 쿼리에 응답하지 않는 것으로 나타났습니다.

이 경우 멀티캐스트 주소 225.1.1.3이 조인되었으며 다음을 통해 확인할 수 있습니다 netstat -g.

# netstat -g
IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      224.0.0.1
eth0            1      224.0.0.1
eth1            1      225.1.1.3

의 정보를 일치시키세요./proc/net/igmp

# cat /proc/net/igmp
Idx     Device    : Count Querier       Group    Users Timer    Reporter
3       eth1      :     3      V3
                                030101E1     1 0:00000000               0
                                010101EF     1 0:00000000               0
                                010000E0     1 0:00000000               0

그러나 분명히 v2 멤버십 쿼리 메시지에 대한 응답을 보내지 않습니다.

 1881 2544.437502942 192.168.105.253 → 225.1.1.3    IGMPv2 60 Membership Query, specific for group 225.1.1.3
 1883 2545.439116776 192.168.105.253 → 225.1.1.3    IGMPv2 60 Membership Query, specific for group 225.1.1.3
 1890 2555.526695862 192.168.105.253 → 224.0.0.1    IGMPv2 60 Membership Query, general
 1936 2615.525812650 192.168.105.253 → 224.0.0.1    IGMPv2 60 Membership Query, general
 1977 2675.524651646 192.168.105.253 → 224.0.0.1    IGMPv2 60 Membership Query, general
 1981 2680.487871978 192.168.105.253 → 225.1.1.3    IGMPv2 60 Membership Query, specific for group 225.1.1.3
 1983 2681.488403894 192.168.105.253 → 225.1.1.3    IGMPv2 60 Membership Query, specific for group 225.1.1.3
 1999 2702.808993240 192.168.117.21 → 224.0.0.22   IGMPv3 54 Membership Report / Leave group 225.1.1.3
 2000 2702.826998740 192.168.117.21 → 224.0.0.22   IGMPv3 54 Membership Report / Leave group 225.1.1.3
 2002 2704.929915370 192.168.117.21 → 224.0.0.22   IGMPv3 54 Membership Report / Join group 225.1.1.3 for any sources
 2003 2705.331977636 192.168.117.21 → 224.0.0.22   IGMPv3 54 Membership Report / Join group 225.1.1.3 for any sources
 2023 2735.523170767 192.168.105.253 → 224.0.0.1    IGMPv2 60 Membership Query, general
 2063 2795.522407972 192.168.105.253 → 224.0.0.1    IGMPv2 60 Membership Query, general

많은 게시물에서 방화벽 비활성화 및/또는 라우팅 설정을 언급합니다. 하지만 방화벽이 꺼지고 경로가 추가됩니다. 문제는 여전히 존재합니다.

멤버십 쿼리에 응답하도록 Centos8을 구성하는 방법은 무엇입니까?

# systemctl status firewalld
● firewalld.service
   Loaded: masked (Reason: Unit firewalld.service is masked.)
   Active: inactive (dead)

# ip route
10.1.0.0/16 dev eth2 proto kernel scope link src 10.1.2.21
30.0.0.0/16 dev eth0 proto kernel scope link src 30.0.0.21
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev eth1 scope link metric 1003
169.254.0.0/16 dev eth2 scope link metric 1004
169.254.0.0/16 dev eth3 scope link metric 1005 linkdown
192.168.2.0/24 dev eth3 proto kernel scope link src 192.168.2.21 linkdown
192.168.117.0/24 dev eth1 proto kernel scope link src 192.168.117.21
224.0.0.0/4 dev eth1 scope link
234.0.0.0/8 dev eth1 scope link
235.0.0.0/8 dev eth1 scope link
239.0.0.0/8 dev eth1 scope link

답변1

이를 0으로 설정 했지만 net.ipv4.conf.default.rp_filter반환 경로 유효성 검사를 완전히 비활성화하려면 모든 것을 0으로 설정해야 했습니다 rp_filter(인터페이스 명시적 나열 포함).

/etc/sysctl.d아래와 같이 파일을 배치합니다 .

# Set IGMP Version for eth1
# Set to '2' or '3' depending on what is enabled in the switch
net.ipv4.conf.eth1.force_igmp_version = 2

# Disable source route verification
# In addition to 90-torque.conf, also explicitly set eth1 to ignore
# return path validation
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.eth1.rp_filter = 0

관련 정보