10.3. 创建附加了 VXLAN 的网桥
要使虚拟可扩展局域网(VXLAN)对虚拟机(VM)不可见,请在主机上创建一个网桥,并将 VXLAN 附加给网桥。使用 NetworkManager 创建网桥和 VXLAN。您不能将虚拟机的任何流量访问点(TAP)设备(通常在主机上称为 vnet *)添加到网桥。在虚拟机启动时,libvirtd 服务会动态添加它们。
在 RHEL 主机上运行此过程,并相应地调整 IP 地址。
流程
创建网桥
br0:nmcli connection add type bridge con-name br0 ifname br0 ipv4.method disabled ipv6.method disabled
# nmcli connection add type bridge con-name br0 ifname br0 ipv4.method disabled ipv6.method disabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令在网桥设备上设置没有 IPv4 和 IPv6 地址,因为此网桥在第 2 层工作。
创建 VXLAN 接口,并将其附加到
br0:nmcli connection add type vxlan port-type bridge con-name br0-vxlan10 ifname vxlan10 id 10 local 198.51.100.2 remote 203.0.113.1 controller br0
# nmcli connection add type vxlan port-type bridge con-name br0-vxlan10 ifname vxlan10 id 10 local 198.51.100.2 remote 203.0.113.1 controller br0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令使用以下设置:
-
ID 10:设置 VXLAN 标识符。 -
local 198.51.100.2:设置传出数据包的源 IP 地址。 -
remote 203.0.113.1:当目的地链路层地址在 VXLAN 设备转发数据库中未知时,设置要在传出数据包中使用的单播或多播IP地址。 -
controller br0:将要创建的此 VXLAN 连接设置为br0连接中的一个端口。 -
ipv4.method disabled和ipv6.method disabled: 在网桥上禁用 IPv4 和 IPv6。
默认情况下,NetworkManager 使用
8472作为目的地端口。如果目的地端口不同,还要将destination-port <port_number>选项传给命令。-
激活
br0连接配置文件:nmcli connection up br0
# nmcli connection up br0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本地防火墙中为传入的 UDP 连接打开端口
8472:firewall-cmd --permanent --add-port=8472/udp firewall-cmd --reload
# firewall-cmd --permanent --add-port=8472/udp # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示转发表:
bridge fdb show dev vxlan10
# bridge fdb show dev vxlan10 2a:53:bd:d5:b3:0a master br0 permanent 00:00:00:00:00:00 dst 203.0.113.1 self permanent ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow