방화벽-사용자 지정 영역에서 ICMP 허용 (centos 7 / redhat 7) 영역 모니터링이 있습니다. mysql과 같은

소스에서 정의한 영역에서 ICMP 에코 응답을 활성화하고 싶습니다.

mysql 및 echo-reply와 같은 일부 서비스를 허용하려는 영역 모니터링이 있습니다. mysql과 같은 서비스를 허용하는 것은 간단하지만 직접 규칙을 사용하지 않고 에코 응답을 활성화하는 방법을 알 수 없습니다. 가능합니까?

기본 인터페이스는 BLOCK 영역을 사용하므로 패킷이 영역 모니터링에 해당하지 않으면 icmp-host가 금지 된 패킷이 거부됩니다.

감사



답변

같은 문제를 가진 사람들을 돕기 위해 다음 명령을 사용합니다.

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p icmp -s X.X.X.X -j ACCEPT

소스가 XXXX 인 경우 ICMP 프로토콜을 허용하는 규칙을 추가합니다.


답변

모든 ICMP 프로토콜 을 활성화 하지 않을 수도 있으며 반드시 그렇게 할 필요는 없습니다.

--icmp-type 8ICMP 에코 응답 만 활성화하려면 추가하십시오 .

전체 명령은 다음과 같습니다.

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p icmp -m icmp --icmp-type 8 -s X.X.X.X -j ACCEPT

답변

MONITORING 구역에서 ICMP 에코 응답을 허용하여이를 수행 할 수 있습니다.

firewall-cmd --zone MONITORING --add-icmp-block echo-reply
firewall-cmd --zone MONITORING --add-icmp-block-inversion

인터페이스 기반 영역 이전의 소스를 기반으로 패킷이 영역과 일치하므로 기본 인터페이스가 ICMP 패킷을 거부하는 영역을 사용하더라도 작동합니다. INPUT iptables 체인을 보면 알 수 있습니다.

# iptables -nL INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
INPUT_direct  all  --  0.0.0.0/0            0.0.0.0/0
INPUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0
INPUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0
DROP       all  --  0.0.0.0/0            0.0.0.0/0            ctstate INVALID
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited