Firewall-cmd를 통해 방화벽 변경을 영구적으로 설정하는 방법은 무엇입니까?

Firewall-cmd를 통해 방화벽 변경을 영구적으로 설정하는 방법은 무엇입니까?

CentOS 7에서 일부 포트를 열려고 합니다.

다음을 사용하여 포트를 열 수 있습니다.

firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 7199 -j ACCEPT

다음을 통해 확인하여 iptables -L -n설정이 성공적으로 완료되었음을 확인합니다 .

Chain IN_public_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:7199

안타깝게도 이러한 변경사항을 영구적으로 적용할 수는 없습니다. 다음과 같은 옵션을 사용해도 --permanent:

firewall-cmd --direct --permanent --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 7199 -j ACCEPT

이 문제를 해결하는 방법을 아시나요? 이 옵션이 제대로 작동하지 않는 이유는 무엇입니까 --permanent?

답변1

--direct주문은 영구적으로 할 수 없습니다. 해당 영역 명령을 사용하십시오.

   sudo firewall-cmd --zone=public --add-port=7199/tcp --permanent
   sudo firewall-cmd --reload

결과를 확인하십시오.

   sudo firewall-cmd --zone=public --list-all

답변2

다음을 수행할 수도 있습니다. sudo firewall-cmd --zone=public --add-port=7198/tcp sudo firewall-cmd --zone=public --add-port=7199/tcp sudo firewall-cmd --runtime-to-permanent ...이렇게 하면 현재 방화벽 설정이 영구적으로 적용됩니다.

답변3

많은 방법이 있지만 오늘은 여기에 언급되지 않은 방법을 소개하겠습니다.

# firstly run it without --permanent
sudo firewall-cmd --zone=public --add-port=7199/tcp 
# then run it again with adding --permanent
sudo firewall-cmd --zone=public --add-port=7199/tcp --permanent

유효해야 합니다

관련 정보