
NAT가 활성화된 VirtualBox에서 CentOS 6.6을 VM으로 실행하고 있습니다. 또한 VM에서 실행되는 zeus 웹 서버도 있습니다. 설정은 다음과 같습니다.
Host =====SSH====== VM ========= Web Server
MacOS CentOS 6.6 Zeus
포트 전달을 사용하면 VM(port22)에 SSH로 접속할 수 있고 zeus 웹 서버(port9090)의 관리 페이지에 액세스할 수 있습니다. 그런데 웹 사이트에 대해 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는 NAT에 의해 VM에 설정된 IP 주소입니다.
이제 다음을 입력하여 가상 호스트의 기본 index.html에 액세스할 수 있습니다.http://localhost:8080내 브라우저에서