Firewalld 명령을 실행한 후 포트가 실제로 열리지 않습니다.

Firewalld 명령을 실행한 후 포트가 실제로 열리지 않습니다.

운영 체제: CentOS 7

이것은 두 가지 질문에 접해 있는 질문입니다. docker최근에 PLEX 컨테이너를 설치한 실행 중인 컴퓨터 가 있습니다 linuxserver/plex. 현재 문제는 PLEX를 구성하기 위해 사이트에 액세스할 수 없다는 것입니다 https://localhost:32400/web. 왜 이런 일이 발생하는지 확인하는 동안 32400컨테이너가 생성되고 호스트 네트워크를 사용하고 있을 때 포트가 열려 있어야 했음에도 불구하고 포트가 닫힌 것처럼 보이는 것을 발견했습니다.

다음을 사용하여 사이트에 액세스할 수 있는지 확인하려고 했습니다.curl

curl -i http://localhost:32400 
curl -i http://10.0.1.200:32400

그런 다음 열린 포트를 확인했습니다.NMAP

#nmap 10.0.1.200

Starting Nmap 6.40 ( http://nmap.org ) at 2019-01-18 12:52 CST
Nmap scan report for 10.0.1.200
Host is up (0.00049s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

분명히 포트 32400이 열려 있지 않아서 방화벽-cmd로 이동했습니다.

#sudo firewall-cmd --get-active-zones
public
  interfaces: eno1

#sudo firewall-cmd --zone=public --add-port=32400/tcp --permanent
success
#sudo firewall-cmd --reload
success

혹시 열려 있는지도 확인해 봤는데

#sudo firewall-cmd --zone=public --list-ports
32400/tcp

그러나 NMAP은 여전히 ​​다운된 것으로 표시됩니다. 방화벽이 도커 호스트에 열려 있는 포트를 표시하지만 실제로는 닫혀 있는 이유를 아시나요? 이로 인해 사이트가 Plex에서 실행될지 확실하지 않습니다.


Cramer의 제안을 확인해보니 인터페이스가 설정되지 않았을 수 있습니다.

# ip addr
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.0.1.200/24 brd 10.0.1.255 scope global noprefixroute dynamic eno1


#firewall-cmd --zone=public --list-interfaces
eno1

답변1

네트워크 인터페이스가 "public" 영역에 성공적으로 추가되었는지 확인하세요. 일반적으로 기본 네트워크 카드(예: eth0)만 추가됩니다. 영역이 있는 인터페이스를 추가합니다.

#firewall-cmd --permanent --zone=public --add-interface=<interface_name>

사용해 본 인터페이스를 확인하려면 다음 단계를 따르세요.

#ipaddr

또는

#ifconfig

IP 10.0.1.200을 제공하는 인터페이스 추가

앞으로 실행하는 명령을 게시할 때 명령의 출력도 게시해 주시면 문제를 이해하고 디버깅하는 데 도움이 됩니다.

하아:)

관련 정보