web-dev-qa-db-ja.com

virt-managerでSSHをポートフォワードする方法は?

Virt-managerでGentooゲストをセットアップしましたが、ホストマシンからそれにSSHで接続できません。私はqemuを使用して、ゲストマシンのポートにアクセスできるようにポート転送を行う必要があることを読みました。 virt-managerでこのオプションを見つけることができませんでした。これを行うにはどうすればよいですか?

Ubuntu 16.10でVirt Manager 1.3.2を使用しています。

2
papaiatis

私の理解は反対でした。 libvirt VMがvirbr0に接続するように構成されている場合、ホストマシンからアクセスできるはずです。

これが機能しないネットワークデバイスのもう1つのオプションは、「ユーザーネットワーク」と呼ばれます。それが問題ではない場合は、より多くの情報を提供する必要があります。

http://xkahn.zoned.net/blog/2013/11/26/networking-and-gnome-boxes

Archは、仮想スイッチ^ Wbridge vibr0がlibvirtデーモンのデフォルト構成の一部であることを示唆しているため、VMがそれを使用するように構成されていることを確認する必要があります。wiki.archlinux .org/index.php/Libvirt#Networks

それらはjamielinux.com/docs/libvirt-networking-handbookにリンクしています-virbr0については https://jamielinux.com/docs/libvirt-networking-handbook/nat-based-network.html を参照してください

1
sourcejedi

これをネット上のどこかに文書化するためだけに:

約2年後、kvm XMLファイルに関連するqemu引数を手動で追加することでこれをなんとか実現しました(このファイルには、舞台裏のすべての豪華な仮想化fooの構成が含まれています)。

ホストのポート22222をゲストのポート22に転送する場合、ユーザーネットワークにポート転送を許可するために実行した手順は次のとおりです。

私のエミュレートされたマシンは、ここではubuntu18.04と呼ばれます。

  1. Virshを介して編集するためにxml構成を開きます

    $ virsh -c qemu:///session edit ubuntu18.04
    
  2. 「ユーザー」タイプのインターフェースの構成を見つけて削除します。これは、次のようになります。

    <interface type='user'>
      <mac address='52:54:00:52:35:ff'/>
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
  1. Qemu名前空間を(ルート)ドメインタグに追加します。
   <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  1. ドメインタグ内のどこかにqemu引数として(たとえば、の最後の子として)、現在欠落しているインターフェース構成を手動で追加します。
    <qemu:commandline>
      <qemu:arg value='-netdev'/>
      <qemu:arg value='user,id=mynet.0,net=10.0.10.0/24,hostfwd=tcp::22222-:22'/>
      <qemu:arg value='-device'/>
      <qemu:arg value='rtl8139,netdev=mynet.0'/>
    </qemu:commandline>
  1. 構成を保存し、VMを起動/再起動します。

  2. 離れてssh:

    ssh myusername@localhost -p 22222
    
0
quickida