방화벽으로 포트를 여는 것이 작동하지 않는 것 같습니다

방화벽으로 포트를 여는 것이 작동하지 않는 것 같습니다

다른 포트에 상주하도록 sshd를 구성했습니다. Firewalld를 사용하여 해당 포트를 열었습니다.

$ sudo firewall-cmd --zone=public --add-port=22000/tcp --permanent    

목록 규칙에는 포트 22000이 열려 있음이 표시됩니다.

$ sudo firewall-cmd --permanent --zone=public --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports: 22000/tcp 
  masquerade: no
  forward-ports: 
  icmp-blocks:
  rich rules:

그러나 원격 호스트에서 포트 22000으로 로그인할 수 없습니다. iptables를 사용하면 작동합니다.

$ sudo iptables -I INPUT -p tcp --dport 22000 -j ACCEPT

이제 로그인할 수 있습니다. 하지만Firewalld로 포트를 어떻게 열 수 있나요??

편집: 요청한 대로:

 $ sudo firewall-cmd --get-default-zone
 public

그리고:

 $ firewall-cmd --get-active-zones
 public
  interfaces: eth0 eth1

답변1

참조방화벽 문서:

영구 옵션 --permanent를 사용하면 옵션을 영구적으로 설정할 수 있습니다. 이러한 변경 사항은 즉시 적용되지 않으며 서비스 다시 시작/다시 로드 또는 시스템 재부팅 후에만 적용됩니다. --permanent 옵션이 없으면 변경 사항은 런타임 구성의 일부일 뿐입니다.

옵션을 사용할 때 --permanent구성을 다시 로드해야 합니다. firewall-cmd --reload
이는 --permanent옵션이 실행 중인 구성이 아닌 저장된 구성에 변경 사항을 기록하기 때문입니다.

관련 정보