운영 체제: 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을 제공하는 인터페이스 추가
앞으로 실행하는 명령을 게시할 때 명령의 출력도 게시해 주시면 문제를 이해하고 디버깅하는 데 도움이 됩니다.
하아:)