방화벽-cmd --다시 로드

방화벽-cmd --다시 로드

방금 LB 뒤에 있는 일부 Tomcat 서버 작업을 마쳤고 방화벽이 꺼진 상태에서도 모든 것이 제대로 작동했기 때문에 firewalld클러스터용 포트를 활성화하고 추가했습니다. 한 서버만 제외하고 모든 서버가 정상적으로 실행되고 있습니다. 어떤 이유에서인지 서버 중 하나에서 이 작업을 수행하면 포트가 표시되지 않지만 실제로는 firewall-cmd --list-all방화벽과 같은 디렉터리의 포트가 표시됩니다. public.xml이것은 모든 서버에 사용하는 것과 동일한 명령입니다.

firewall-cmd --zone=public --permanent --add-port=4000-4100/tcp

이것을 실행한 후에 나는 success. 그러나 실행하면 다음 메시지가 나타납니다.firewall-cmd --list-all

public (default, active)
  interfaces: ens32
  sources: 
  services: dhcpv6-client http ssh
  ports: 45564/tcp 8080/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

거기에 넣은 다른 포트(예: 45564 및 8080)에는 문제가 없습니다.

이상한 점은 cat이 /etc/firewalld/public.xml거기에 포트를 표시한다는 것입니다.

<zone>
 <short>Public</short>
 <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
 <service name="dhcpv6-client"/>
 <service name="http"/>
 <service name="ssh"/>
 <port protocol="tcp" port="45564"/>
 <port protocol="tcp" port="4000-4100"/>
 <port protocol="tcp" port="8080"/>
</zone>

가끔 명령에 허용 4000-4100을 입력하면 실제로 표시되지만 --list-all방화벽을 다시 시작하면 표시되지 않습니다(다른 항목은 표시됨).

해결해야 할 몇 가지 문제가 있습니다. 도움을 받을 수 있다면 감사하겠습니다. 감사해요!

답변1

명령을 실행해야합니다

방화벽-cmd --다시 로드

"--permanent"를 사용하여 명령을 실행한 후. 이러한 명령은 현재 실행 중인 구성이 아닌 구성 파일에만 적용됩니다. --permanent를 사용하지 않으면 실행 중인 구성을 처리하고 변경 사항을 즉시 확인할 수 있습니다.

답변2

오래된 내용이라는 건 알지만 내 정확한 문제를 언급하고 아무런 답변도 받지 못하는 게시물을 발견하면 다음과 같이 하게 됩니다.

나는 단순히 방화벽을 다시 시작하기 전에 약 20분 동안 이 문제를 망쳤고, 방화벽이 다시 시작된 후 --list-all을 사용하여 포트 목록을 나열했습니다.

그래서 저는 이런 사람이 되기는 싫지만 "껐다가 다시 켜는 것"이 ​​저의 해결책인 것 같습니다.

관련 정보