NAT가 활성화된 VirtualBox에서 CentOS 6.6을 가상 머신으로 실행하고 있습니다. 또한 가상 머신에서 실행되는 zeus 웹 서버도 있습니다. 설정은 다음과 같습니다.
Host =====SSH====== VM ========= Web Server
MacOS CentOS 6.6 Zeus
포트 전달을 사용하면 가상 머신(포트 22)에 SSH로 접속하고 zeus 웹 서버(포트 9090)의 관리 페이지에 액세스할 수 있습니다. 그러나 웹사이트에 임의의 번호(예: 8080)를 전달하려고 하면 브라우저 액세스 또는 wget이 작동하지 않습니다.
Host-Port VM-Port Connection
2222 22 Works fine
9090 9090 Works fine
8080 8080 ??
문제가 zeus 웹 서버에서 발생한 것인지, 포트 포워딩에서 발생한 것인지 확인하기 위해 ncat을 사용해 보았지만, 포트 포워딩 문제인 것으로 밝혀졌습니다.
$sudo ncat -lk 9090
GET / HTTP/1.1
User-Agent: Wget/1.18 (darwin15.5.0)
$sudo ncat -lk 8080
#nothing
다음 문제 해결 단계는 무엇입니까? 내가 뭘 잘못하고 있는지 아는 사람 있나요?
답변1
이 문제는 Linux 방화벽 및 zeus 구성으로 인해 발생합니다. 기본 정책을 수락하는 모든 TCP 패킷을 거부하는 줄을 주석 처리했습니다.
$sudo cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#-A INPUT -j REJECT --reject-with icmp-host-prohibited #<---THIS ONE
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited\
COMMIT
그런 다음 Zeus 가상 호스트 설정도 다음에서 변경했습니다.
before
Host Name:127.0.0.1
Alias:
after
Host Name:10.0.2.15
Alias:localhost
10.0.2.15는 VM에서 NAT에 의해 설정된 IP 주소입니다.
이제 다음을 입력하여 가상 호스트의 기본 index.html에 액세스할 수 있습니다.http://localhost:8080내 브라우저에서