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
유효해야 합니다