저는 개발에 사용하는 Windows 대신 Linux 상자에서 모든 코드 등을 테스트할 수 있도록 CentOS로 VirtualBox를 설정하고 있습니다.
방금 SSH가 작동했습니다(localhost:2222에 SSH를 연결하고 이를 virtualbox 포트 22로 전달합니다).
웹 서버를 가동하고 실행하기 위해 Apache에서도 동일한 작업을 수행하려고 합니다.
localhost의 포트 8888을 CentOS Virtualbox의 포트 80으로 포트포워딩했지만 브라우저에서 localhost:8888을 사용하면 아무 것도 액세스할 수 없는 것 같습니다.
Apache도 확실히 실행 중입니다.
ps -e | grep httpd 2108? 00:00:00 httpd 2110? 00:00:00 httpd 2111? 00:00:00 httpd 2112? 00:00:00 httpd 2113? 00:00:00 httpd 2114? 00:00:00 httpd 2115? 00:00:00 httpd 2116? 00:00:00 httpd 2117? 00:00:00 httpd
IP테이블:
[root@CentOS /]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Fri Jan 27 18:26:36 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [32:2278]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Jan 27 18:26:36 2012
Nmap 출력:
[root@CentOS conf]# nmap localhost 2012-01-28 00:58 WST에 Nmap 5.21( http://nmap.org ) 시작 localhost(127.0.0.1)에 대한 Nmap 스캔 보고서 호스트가 작동 중입니다(0.0000090초 대기 시간). 호스트 이름 localhost는 3개의 IP로 확인됩니다. 127.0.0.1만 스캔됨 표시되지 않음: 993개의 닫힌 포트 항구 주 서비스 22/tcp SSH 열기 23/tcp 오픈 텔넷 25/tcp 오픈 smtp 80/tcp 오픈 http 111/tcp rpcbind 열기 443/tcp 열기 https 631/tcp 오픈 ipp
답변1
기본 CentOS 방화벽은 SSH에 포트 22만 허용한다고 생각합니다. 보호된 네트워크에서 VirtualBox VM을 실행하고 있다고 가정하므로 루트로 다음을 실행하여 방화벽을 비활성화하는 것이 안전합니다.
/etc/init.d/iptables stop
이는 Windows 호스트 시스템에서 포트 리디렉션을 수행하고 있다고 가정합니다. iptables로 리디렉션을 수행하는 경우 리디렉션도 종료됩니다. /etc/sysconfig/iptables를 게시하면 방화벽 구성을 살펴보고 시스템이 포트 80을 차단하고 있는지 확인할 수 있습니다.
답변2
CentOS7을 새로 설치하는 경우 Apache를 설치하고 서비스를 시작한 후 다음을 수행하십시오.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
이제 호스트에서 Apache에 연결할 수 있습니다.
답변3
localhost를 사용하지 말고 대신 IP 주소를 사용하십시오.
답변4
포트 8888에 다른 것이 있거나 Windows에 일부 방화벽(포함된 것 포함)이 있을 수 있습니다.
때로는 10번의 연결 이후처럼 로컬 MS-SQL 서버를 차단하기도 합니다. 상상할 필요가 없습니다. 방화벽 차단 로그를 찾아보세요.
+++
방화벽의 거부 로그를 보셨나요, 아니면 그냥 계속 외치셨나요? 대부분의 바이러스 백신은 대량 메일 발송 웜 및 기타 맬웨어를 동작별로 차단하려고 시도합니다. McAfee가 30분 안에 5개의 메일을 보낸 후 Thunderbird를 차단하는 것처럼....