17.6. 配置 passt 用户空间连接
如果您需要对虚拟网络的非特权访问,例如当使用 libvirt
的 会话
连接时,您可以将虚拟机(VM)配置为使用 passt
网络后端。
先决条件
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
网络后端。
其它资源