2011-10-26 12 views
2

最近、Ubuntu 11.10で仮想マシンをインストールしましたが、今はNATを使用しており、その内部アドレスは192.168.122.88です。仮想マシンへのポート転送

仮想マシンにWebサーバーをセットアップしました。私は192.168.122.88に行くとアクセスできます。しかし、今はタイムアウトしています。仮想マシンにログインしてlocalhostにアクセスしようとすると動作します。

何らかの理由で、私のiptablesは、ホストから仮想マシンへのトラフィックをブロックしています(ただし、それ以外の方法はありません)。

ホストからvmにトラフィックが流れるようにするにはどうすればホストからWebサーバーを見ることができますか?

私は、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 

のようにいろいろ書いをやってみました。どうやらそれはホストするためのルートがないと言いますか?

答えて

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はそれらの間で成功するはずです。

ping 192.168.0.1 
0

多分、仮想マシンへの転送接続を許可する必要があります。試してみてください:

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

希望します。

関連する問題