방금 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을 사용하여 포트 목록을 나열했습니다.
그래서 저는 이런 사람이 되기는 싫지만 "껐다가 다시 켜는 것"이 저의 해결책인 것 같습니다.