Firewalld에서 IGMP 트래픽을 허용하는 방법은 무엇입니까?

Firewalld에서 IGMP 트래픽을 허용하는 방법은 무엇입니까?

가이드에 따르면 작성자는 다음 줄을 사용하여 IGMP 트래픽에 대한 IPtables를 허용합니다.

sudo iptables -I INPUT -p igmp -j ACCEPT

하지만 내 상사는 내가 Firewalld를 사용하여 이를 수행하기를 원합니다.

답변1

직접 규칙의 대안으로 IGMP 트래픽은 다음 방법 --add-protocol=igmp( firewall-cmd버전에서 이미 지원하는 경우) 중 하나를 사용하거나 다음 방법을 통해 허용할 수도 있습니다.풍부한 규칙.

firewall-cmd이미 지원되는 버전 의 경우 --add-protocol=protocol:

firewall-cmd --permanent \
             --zone=YOUR-ZONE \
             --add-protocol=igmp

firewall-cmd --reload

효과적으로, 이것은 에 행을 추가합니다 <protocol value="igmp"/>./etc/firewalld/zones/YOUR-ZONEman 5 firewalld.zone

firewall-cmd지원되지 않는 이전 버전의 경우 --add-protocol=protocol:

firewall-cmd --permanent \
             --zone=YOUR-ZONE \
             --add-rich-rule='rule protocol value="igmp" accept'

firewall-cmd --reload

그 결과 다음과 같은 iptables/netfiler 규칙이 생성됩니다.

-A IN_YOUR-ZONE_allow -p igmp -m conntrack --ctstate NEW -j ACCEPT

답변2

그래서 저는 이와 똑같은 문제를 추적해 왔으며 응용 프로그램 설치 중에 IGMP를 활성화하기 위해 방화벽에 제출된 버그 보고서를 우연히 발견했습니다. (여기서 OP에 대한 크레딧:https://bugzilla.redhat.com/show_bug.cgi?id=1048947)

작성자는 친절하게도 우리의 요구 사항을 충족하는 해결 방법을 제공했습니다.

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p igmp -j ACCEPT

IGMP 통신을 다른 방식으로 활성화하는 기능이 추가될 때까지는 Direct 인터페이스가 이러한 규칙 변경 사항을 적용하는 가장 좋은 방법인 것으로 보입니다.

직접 인터페이스 공식 문서: https://fedoraproject.org/wiki/FirewallD#Direct_options

관련 정보