17.6. passt ユーザー空間接続の設定
仮想ネットワークへの非特権アクセスが必要な場合 (たとえば、libvirt
の session
接続を使用する場合)、passt
ネットワークバックエンドを使用するように仮想マシン (VM) を設定できます。
前提条件
passt
パッケージがシステムにインストールされている。# dnf install passt
手順
passt
接続を使用する仮想マシンの XML 設定を開きます。以下に例を示します。# virsh edit <testguest1>
<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
に転送します。
-
仮想マシンは、
- XML 設定を保存します。
検証
passt
を使用して設定した仮想マシンを起動または再起動します。# virsh reboot <vm-name> # virsh start <vm-name>
仮想マシンが正常に起動すると、
passt
ネットワークバックエンドが使用されます。