kvm guestがインターネットに接続されていません。何が間違っている可能性がありますか?

kvm guestがインターネットに接続されていません。何が間違っている可能性がありますか?

Debian ホストに kvm win7 ゲスト仮想マシンを設定しました。しばらく運営されてきましたが、あまり多くのことはしませんでした。私がしたことは(もちろん)ダウンロードでしたputty

今日はパテがホストにアクセスできるようにしたいので、ファイアウォールルールを更新する必要があります。それ以来、ゲストのためのインターネット接続はありませんでした。変更を元に戻しても役に立ちません。それでは、なぜゲストからもはやインターネットにアクセスできないのだろうか。正直なぜなのか理解できません。

あなたが最も興味を持っているように、次の情報を添付しました。

現在のiptableルール:http://pastebin.com/pTnfs5sr

kvmゲストxml:http://pastebin.com/U0GhW0px

ゲストのqemu cmdを実行します。http://pastebin.com/htZ4R0FE

設定されている場合:http://pastebin.com/uGVN29VZ

Ifconfigには2つの仮想インターフェイスが表示されます。virbr0これが私が期待したものですが、vnet0設定方法と理由がわかりません。virbr0実行して再起動するたびに破損して再表示されますvirst net-destroy default

助けてくれてありがとう。

編集:カーネルルーティングテーブルも追加します。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0   <external IP of Host>  0.0.0.0        UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
195.251.61.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

ベストアンサー1

したがって、ゲストとインターネット接続を確立するには、以下を追加する必要があります。

  1. natテーブル

    -A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
    -A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
    -A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
    -A POSTROUTING -s 192.168.122.0/24 -o eth0 -j SNAT --to-source <the host's ip>
    

そのため、ホストから出てくるすべての発信パケットをゲストサブネットのIPに偽装しました。

  1. filterテーブル

    -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
    

また、virbr0インターネットからのパケットも許可します。その後、応答をvirbr0(設定済み、関連)に戻すことができます。

  1. filter再表:

    -A INPUT -s 192.168.122.0/24 -i virbr0 -j ACCEPT
    

最後に、ゲストがホスト上で実行されているサービスにアクセスできるようにします。

おすすめ記事