2011-10-26 3 views
2

최근 우분투 11.10에서 가상 머신을 설치했습니다. 지금 당장은 NAT를 사용 중이며 내부 주소는 192.168.122.88입니다.가상 머신으로의 포트 포워딩

가상 컴퓨터에 웹 서버를 설치했는데 192.168.122.88로 갈 때이 서버에 액세스 할 수 있기를 원합니다. 그러나 지금은 시간이 초과됩니다. 가상 시스템에 로그인하여 localhost에 액세스하려고하면 작동합니다.

그래서 내 iptables은 호스트에서 가상 컴퓨터로가는 트래픽을 차단합니다 (하지만 그 반대는 아닙니다).

내 호스트에서 내 VM으로 트래픽이 흐르도록 허용하려면 어떻게해야합니까? 그러면 호스트에서 웹 서버를 볼 수 있습니까?

저는 KVM 및 libvirt가있는 Ubuntu Virtual Machine Manager를 사용했습니다.

나는 아무 소용이

iptables -t nat -A PREROUTING -d 192.168.0.10 -p tcp --dport 80 -j DNAT --to-destination 192.168.122.88:80 

같이가 someting을 수행했습니다. 명백하게 그것은 호스트하는 어떤 길도 없다라고 말한다??

답변

0

'호스트 경로 없음'은 호스트 시스템에 도달하려는 네트워크와 일치 할 수있는 IP 주소가 없다는 것을 의미합니다 (기본 경로가없는 경우조차도). 두 네트워크가 모두 켜져 있는지 확인하십시오 주인. 예를 들어

:

$ ip route show 
default via 192.168.1.254 dev p3p1 src 192.168.1.103 
default via 172.16.128.1 dev p3p1 
169.254.0.0/16 dev p3p1 scope link metric 1003 
172.16.128.0/17 dev p3p1 proto kernel scope link src 172.16.128.2 
192.168.1.0/24 dev p3p1 proto kernel scope link src 192.168.1.103 

KVM 호스트 머신에서, 나는 약간의 다리에 가상 인터페이스를 연결합니다. 예를 들어 다음

<interface type='bridge'>  
    <mac address='01:02:03:04:05:06'/>  
    <source bridge='br4'/>  
    <target dev='vnet4'/>  
    <model type='virtio'/>  
    <alias name='net0'/>  
    <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>  
</interface> 

, 내가 호스트의 다리에 IP 주소를 할당하고, 최대 그것을 설정 : 내 가상 머신에

ip address add 192.168.0.1/24 dev br4  
ip link set up dev br4 

, 나는 서브넷에 일부 IP 주소를 할당 192.168.0.2처럼, 핑은 그들 사이에서 성공해야합니다.

ping 192.168.0.1 
0

아마도 가상 컴퓨터에 전달 된 연결을 허용해야합니다. 시도해보십시오.

iptables -I FORWARD -m state -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT 

희망이 있습니다.