Redhat 7에서 방화벽이 중지되었는지 확인하는 방법

Redhat 7에서 방화벽이 중지되었는지 확인하는 방법

Redhat 7 시스템에서 방화벽이 중지/비활성화되었는지 확인하는 우아한 방법은 무엇입니까?

예:

방화벽을 중지합니다.

systemctl  status firewalld.service

방화벽 상태를 확인하는 방법은 다음과 같습니다.

systemctl  status firewalld.service

● firewalld.service - firewalld - dynamic firewall daemon
 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor 
preset: enabled)
Active: inactive (dead)

그래서

내 bash 스크립트에서 방화벽이 중지/비활성 상태인지 확인하기 위해 다음을 수행합니다.

if [[ `  systemctl  status firewalld.service | grep Active | awk '{print $2}' ` = inactive ]] 
then
       firewall_status=inactive
else
       firewall_status=active
fi

하지만 이런 식으로 결과를 확인하는 것은 다소 서투른 작업입니다.

답변1

더 좋고 깔끔한 방법이 있습니다.

systemctl is-active firewalld

trueFirewalld가 활성화되어 실행 중이면 간단히 반환되고, false그렇지 않으면 반환됩니다.

따라서 테스트는 다음과 같습니다.

if [ `systemctl is-active firewalld` ]
then
    firewall_status=active
else
    firewall_status=inactive
fi

답변2

firewall-cmdRHEL 7에는 방화벽과 함께 사용할 수 있는 명령이 도입되었습니다. 그러나 문제는 루트 액세스가 필요하다는 것입니다.

스크립트를 루트로 실행하는 경우 다음 코드를 사용할 수 있습니다.

if [[ `firewall-cmd --state` = running ]]
then
    firewall_status=active
else
    firewall_status=inactive
fi

그러나 스크립트를 루트로 실행하지 않는 경우 불행하게도 스크립트를 사용하는 것이 유일한 방법입니다.

답변3

다음 명령을 사용하여 Redhat Linux 7에서 방화벽 상태를 확인할 수 있습니다.

systemctl status firewalld

상태가 보입니다 -

Firewalld.service - Firewalld - 동적 방화벽 데몬 로드됨: 로드됨(/usr/lib/systemd/system/firewalld.service; 비활성화됨)
활성: 비활성(죽음)

Aug 21 14:55:54 호스트 systemd[1]: Firewalld 시작 - 동적 방화벽 데몬... Aug 21 14:55:57 호스트 systemd[1]: Firewalld 시작 - 동적 방화벽 데몬. Sep 24 15:43:03 호스트 systemd[1]: 방화벽을 중지하는 중 - 동적 방화벽 데몬... Sep 24 15:43:04 호스트 systemd[1]: 방화벽을 중지하는 중 - 동적 방화벽 데몬.

관련 정보