16.6. passt ユーザー空間接続の設定

仮想ネットワークへの非特権アクセスが必要な場合 (たとえば、libvirtsession 接続を使用する場合)、passt ネットワークバックエンドを使用するように仮想マシン (VM) を設定できます。

前提条件

  • passt パッケージがシステムにインストールされている。

    # dnf install passt

手順

  1. passt 接続を使用する仮想マシンの XML 設定を開きます。以下に例を示します。

    # virsh edit <testguest1>
  2. <devices> セクションに、バックエンドタイプとして passt を使用する <interface type='user'> 要素を追加します。

    たとえば、次の設定では、最初のデフォルトルートに関連付けられたホストインターフェイスからコピーされたアドレスとルートを使用する passt 接続を設定します。

    <devices>
      [...]
      <interface type='user'>
        <backend type='passt'/>
      </interface>
    </devices>

    passt を使用する場合は、必要に応じて、複数の <portForward> 要素を指定して、ホストへの受信ネットワークトラフィックをこの仮想マシンインターフェイスに転送できます。インターフェイスの IP アドレスをカスタマイズすることもできます。以下に例を示します。

    <devices>
      [...]
      <interface type='user'>
        <backend type='passt'/>
        <mac address="52:54:00:98:d8:b7"/>
        <source dev='eth0'/>
        <ip family='ipv4' address='192.0.2.1' prefix='24'/>
        <ip family='ipv6' address='::ffff:c000:201'/>
        <portForward proto='tcp'>
          <range start='2022' to='22'/>
        </portForward>
        <portForward proto='udp' address='1.2.3.4'>
           <range start='5000' end='5020' to='6000'/>
           <range start='5010' end='5015' exclude='yes'/>
        </portForward>
        <portForward proto='tcp' address='2001:db8:ac10:fd01::1:10' dev='eth0'>
          <range start='8080'/>
          <range start='4433' to='3444'/>
        </portForward>
      </interface>
    </devices>

    この設定例では、次のパラメーターを使用して passt 接続を設定します。

    • 仮想マシンは、eth0 ホストインターフェイスからトラフィックを転送するためのネットワークルートをコピーします。
    • インターフェイス MAC は 52:54:00:98:d8:b7 に設定します。設定されていない場合は、ランダムなものが生成されます。
    • IPv4 アドレスは 192.0.2.1/24 に設定し、IPv6 アドレスは ::ffff:c000:201 に設定します。
    • ホスト上の TCP ポート 2022 は、そのネットワークトラフィックを仮想マシン上のポート 22 に転送します。
    • ホストインターフェイス eth0 の TCP アドレス 2001:db8:ac10:fd01::1:10 とポート 8080 は、ネットワークトラフィックを仮想マシンのポート 8080 に転送します。ポート 4433 は仮想マシンのポート 3444 に転送します。
    • ホスト上の UDP アドレス 1.2.3.4 とポート 5000 - 5009 および 5016 - 5020 は、ネットワークトラフィックを仮想マシン上のポート 6000 - 6009 および 6016 - 6020 に転送します。
  3. XML 設定を保存します。

検証

  • passt を使用して設定した仮想マシンを起動または再起動します。

    # virsh reboot <vm-name>
    # virsh start <vm-name>

    仮想マシンが正常に起動すると、passt ネットワークバックエンドが使用されます。