CentOS 7에서 저는 다양한 Firewalld 규칙과 iptables 명령을 시도해 보았고 이제는 모든 작업을 수행하고 싶지만 Firewalld만 사용하고 싶습니다.
질문
CentOS 7의 방화벽이 제공하는 기본값으로 모든 규칙을 재설정하려면 어떻게 해야 합니까?
답변1
다음 코드가 도움이 될 수 있습니다.
for srv in $(firewall-cmd --list-services);do firewall-cmd --remove-service=$srv; done firewall-cmd --add-service={ssh,dhcpv6-client} firewall-cmd --runtime-to-permanent
문안 인사,
아메르 만수르
답변2
John Ashpool의 말처럼 정말로 모든 것을 삭제하고 싶다면
rm -rf /etc/firewalld/zones
또는 배포판에 따라 /usr/etc/firewalld/zones
그리고
iptables -X
iptables -F
iptables -Z
...을 더한
systemctl restart firewalld
그러면 새로운 규칙과 구역 세트가 생깁니다. ;)
답변3
/etc/firewalld/zones
(또는 /usr/etc/firewalld/zones
배포판에 따라) 에서 사용자 정의된 영역 규칙이 포함된 파일을 삭제하면 됩니다 . 그런 다음 firewalld
으로 다시 로드 firewall-cmd --complete-reload
하면 기본 설정을 사용하여 시작됩니다. 영역 규칙을 변경하면 해당 디렉토리에 파일이 다시 나타납니다.
의 경우 를 사용하여 iptables
모든 규칙을 재설정할 수 있습니다 iptables -F
. 일종의 지속성을 구현하지 않는 한 재부팅도 작동합니다. 백엔드로 firewalld
사용하도록 구성될 수 있다는 점에 유의하세요 . 즉 , 영역 규칙에 지정한 내용에 따라 규칙 자체를 추가하거나 제거한다는 의미입니다.iptables
iptables
답변4
배포와 함께 제공되는 기본값은 zones
수정된 경우 /etc/firewalld/zones
해당 수정 사항이 포함된 디렉터리에 복사됩니다.
이는 또한 영역 파일의 소스가 default
이 디렉터리가 아니며 재설치 시 이 디렉터리( /etc/firewalld/zones
) 아래의 파일에 대해 알지 못하므로 이러한 파일은 재설치를 통해 발생한다는 의미입니다 untouched
. 이러한 파일을 제거하지 않는 한, Firewalld는 이 디렉터리에서 수정 사항을 계속 로드합니다.
방화벽 에서 모든 파일을 (안전하게) 백업 및 삭제하고 /etc/firewalld/zones
다시 시작한 다음 기본 배포 설치 영역 구성으로 돌아갈 수 있습니다.
기본 배포 영역 구성에서는 기본적으로 SSH를 허용한다는 점에서 안전합니다. 그러나 22가 아닌 다른 SSH 포트를 통해 또는 SSH가 아닌 다른 수단을 통해 이 서버에 로그인한 경우 주의해야 합니다.
/etc/firewalld/zones
sudo cp -pR /etc/firewalld/zones /etc/firewalld/zones.bak
sudo rm -f /etc/firewalld/zones/*
sudo systemctl restart firewalld
다른 구성 파일이 수정된 경우 방화벽 자체를 다시 설치할 수 있지만 다시 설치하려면 방화벽 RPM을 다운로드해야 합니다.
플러그인 설치 yum-downloadonly
:
(RHEL5)
# yum install yum-downloadonly
(RHEL6, RHEL7)
# yum install yum-plugin-downloadonly
플러그인을 사용하기 전에 /etc/yum/pluginconf.d/downloadonly.conf
이 플러그인이 맞는지 확인 하세요.enabled=1
# yum install --downloadonly --downloaddir=/tmp firewalld
# rpm -ivh --force /tmp/firewalld*.rpm
BTW는
yum reinstall firewalld
수정된 구성 파일을 대체하지 않습니다.