(저는 처음이에요!) CentOS를 실행하는 가상 서버를 실행하고 있습니다. 포트 37760에서 수신 대기하는 서버를 실행하려고 합니다. 실행 중인 코드가 성공적으로 실행되므로 다음을 실행합니다.
netstat -lptu
수신 대기 중인 포트 목록을 표시하려면
tcp 0 0 localhost.localdomain:37760 *:* LISTEN 15006/node
항목 중 하나입니다. 하지만 브라우저에서 ip:37760으로 이동하면 연결 시간이 초과됩니다!
나는 그것이 매우 명백하다고 확신하지만 약간의 도움이 매우 도움이 될 것입니다 !!
감사해요
답변1
출력 에는 localhost에서만 수신 대기 중임 netstat
을 표시하므로 node
해당 가상 콘솔에서 브라우저를 사용하여 모든 주소에서 수신 대기하는 localhost:37760
항목으로 이동하거나 구성을 업데이트 해야 합니다.node
답변2
로컬 방화벽이 연결을 차단하고 있을 가능성이 높습니다.
로컬 iptables
방화벽을 확인하세요. 다음 행을 따라 무언가를 실행하여 현재 상태를 볼 수 있습니다.
iptables -vnL
그러면 다음과 같은 출력이 생성됩니다.
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
9192K 3593M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
18 740 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
1763K 180M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
6124 367K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
이 네 가지 규칙은 다음과 같습니다.
- 기존 연결과 연결된 트래픽 허용
- ICMP 트래픽을 허용합니다.
- 루프백 인터페이스를 통한 모든 트래픽 허용
- TCP 포트 22(ssh)에서 새 연결 허용
에서 지속 상태를 볼 수 있습니다 /etc/sysconfig/iptables
. system-config-firewall
GUI 구성 메커니즘을 원하는 경우 이 도구를 사용할 수 있습니다 . 또는 이 기회를 통해 명령줄에서 방화벽 구성이 작동하는 방식에 대해 자세히 알아볼 수 있습니다.
답변3
CentOS는 기본적으로IPTableSELinux를 사용하여 매우 엄격한 보안 정책을 시행합니다. 다른 컴퓨터에서 해당 포트에 접근하려는 경우 기본 IPTables 설정은 SSH를 제외한 모든 수신 연결을 삭제합니다. 보안이 걱정되지 않는다면 간단히 실행할 수 있습니다.
sudo service iptables stop
IPTable을 완전히 끄려면
CentO에서 여러분을 방해할 수 있는 또 다른 요인은 다음과 같습니다.SELinux. 이는 프로세스와 파일 시스템에 대한 두 번째 보안 계층 역할을 하며 일부 서버는 파일을 제공할 디렉터리에 대한 액세스 권한이 없기 때문에 기본적으로 파일을 제공할 수 있는 권한을 갖지 못하게 합니다. 여기에는 몇 가지 옵션이 있습니다.
/etc/selinux/config
1) 아래와 같이 설정을 변경하여 SELinux를 끕니다 .
SELINUX=disabled in /etc/selinux/config
2) 더 바람직하게는 audit2allow
SELinux가 서버를 차단하는지 확인하고, 그렇다면 서버를 허용하는 새로운 보안 정책을 생성하는 데 사용합니다. 이것 좀 봐CentOS위키 항목뿐만 아니라이것블로그 항목.
마지막으로, VM에서 실행 중인 경우 VM에 기본 하드웨어의 NIC 설정을 사용할 수 있는 네트워크 액세스 및 권한이 있는지 확인하세요.