virt-managerでSSHをポート転送する方法は?

virt-managerでSSHをポート転送する方法は?

virt-managerでGentooゲストを設定しましたが、ホストからSSHに接続できませんでした.私はqemuを使用してゲストコンピュータのポートにアクセスするためにいくつかのポート転送を実行する必要があることを読んでいます。 virt-manager にはオプションがありません。これがどのように可能ですか?

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

ベストアンサー1

Web のどこかにこれを文書化するには:

約2年後、関連するQEMUパラメータをKVM XMLファイル(すべてのクールな仮想化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>
    
  3. (ルート)ドメインタグにQEMU名前空間を追加します。

    <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
    
  4. 現在欠落しているインターフェイス設定をドメインタグ内のどこかにQEMUパラメータとして手動で追加します(たとえば、最後の子要素として<domain>)。

    <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>
    
  5. 設定を保存し、仮想マシンを起動/再起動します。

  6. SSH 休暇:

    ssh myusername@localhost -p 22222
    

おすすめ記事