![iptables 없음, selinux 없음, 가상 호스트의 포트 81이 여전히 작동하지 않습니다.](https://linux55.com/image/81775/iptables%20%EC%97%86%EC%9D%8C%2C%20selinux%20%EC%97%86%EC%9D%8C%2C%20%EA%B0%80%EC%83%81%20%ED%98%B8%EC%8A%A4%ED%8A%B8%EC%9D%98%20%ED%8F%AC%ED%8A%B8%2081%EC%9D%B4%20%EC%97%AC%EC%A0%84%ED%9E%88%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
가상 호스트로 포트 81을 열어 보았습니다. Apache를 설정한 후 로컬 컴퓨터에서 localhost:81을 CURL하여 응답을 받을 수 있습니다(예, 포트 81에서 수신 대기 중입니다). 그러나 원격 브라우저에서 동일한 주소에 접근하면 브라우저에 항상 TIME OUT 오류가 표시됩니다.
방화벽이나 selinux 때문일지도 모른다고 생각해서 둘 다 비활성화하고 다시 시도했지만 여전히 실패했습니다. selinux와 방화벽을 비활성화하는 데 사용하는 명령은 다음과 같습니다.
selinux를 비활성화합니다:
/etc/selinux/config를 열고 SELINUX=disabled로 변경한 후 재부팅하세요. sestatus 명령을 사용하여 확인했는데 출력에 비활성화된 것으로 표시되었습니다.
iptables를 끄십시오:
service iptables stop
chkconfig iptables off
ip6tables를 끕니다.
service ip6tables stop
chkconfig ip6tables off
CentOS 6.3을 사용하고 있습니다. selinux 및 iptables 외에 내가 모르는 다른 보안 문제가 있습니까?
더 많은 정보를 추가하세요
저는 IP 주소를 직접 사용합니다(예: 123.123.123.123:81). 및 를 통해 로컬 서버 시스템에서
curl locahlost:81
응답을 얻을 수 있기 때문에 이것이 Apache conf 때문이라고 생각하지 않습니다 curl 123.123.123.123:81
.
네트워크 통계 결과
netstat 명령을 실행한 후 다음을 얻습니다.
tcp 0 0 :::80 :::* LISTEN 1809/httpd
tcp 0 0 :::81 :::* LISTEN 1809/httpd
80, 81 둘다 괜찮을 것 같습니다.
구성된 경우
ifconfig -a
결과 는 다음과 같습니다 .
eth0 Link encap:Ethernet HWaddr 00:50:56:9B:24:D6
inet addr:101.251.235.162 Bcast:101.251.235.163 Mask:255.255.255.252
inet6 addr: fe80::250:56ff:fe9b:24d6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16046 errors:0 dropped:0 overruns:0 frame:0
TX packets:15092 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3370807 (3.2 MiB) TX bytes:2352380 (2.2 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:70 errors:0 dropped:0 overruns:0 frame:0
TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:19119 (18.6 KiB) TX bytes:19119 (18.6 KiB)
답변1
먼저 서버가 localhost가 아닌 원하는 포트에서 수신 대기하고 있는지 확인하십시오.
netstat -plnt
다음과 유사한 출력을 제공해야 합니다.
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
tcp 0 0 10.0.3.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6680 0.0.0.0:* LISTEN -
이 Local Address
열을 확인하여 서버가 *:81
or ip.ad.dr.ess:81
가 아닌 or를 수신하고 있는지 확인하세요 localhost:81
.127.0.0.1:81
이 경우 httpd.conf
서버가 Listen *:81
대신 에 설정되어 있는지 확인하고 확인하십시오.Listen localhost:81
괜찮다면 httpd.conf
웹호스트 구성을 확인하여 모든 내용을 듣고 있는지 확인하세요.
<VirtualHost *:81>