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
true
Firewalld가 활성화되어 실행 중이면 간단히 반환되고, false
그렇지 않으면 반환됩니다.
따라서 테스트는 다음과 같습니다.
if [ `systemctl is-active firewalld` ]
then
firewall_status=active
else
firewall_status=inactive
fi
답변2
firewall-cmd
RHEL 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]: 방화벽을 중지하는 중 - 동적 방화벽 데몬.