确认两个机器防火墙允许访问对方
更新系统组件
sudo apt update
安装 openvswitch-switch 包
sudo apt install openvswitch-switch
创建 OVS 桥接
sudo ovs-vsctl add-br br0
添加 VXLAN 端口
在机器 A 上,将 VXLAN 端口添加到 br0,并设置对端 IP 为机器 B 的物理 IP(192.168.1.20),可同时指定 VXLAN 的 key(例如 42)和目标 UDP 端口(默认 4789)
sudo ovs-vsctl add-port br0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=192.168.1.20 options:key=42 options:dst_port=4789
在机器 B 上,执行类似操作,但将对端 IP 设置为机器 A 的物理 IP(192.168.1.10):
sudo ovs-vsctl add-port br0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=192.168.1.10 options:key=42 options:dst_port=4789
配置br0 网络地址
为桥接 br0 分配一个 VXLAN 内部网络地址(例如使用 10.0.0.0/24 网络):
在机器 A 上:
sudo ip addr add 10.0.0.1/24 dev br0
在机器 B 上:
sudo ip addr add 10.0.0.2/24 dev br0
在两个机器上,确保 br0 接口均处于 up 状态:
sudo ip link set br0 up
增加配置,设置开机自动挂载ip
cat /etc/systemd/network/br0.network
[Match]
Name=br0
[Network]
Address=10.0.0.2/24
#如需要挂载路由可以在这里写上
[Route]
Destination=xxx/32
Gateway=10.0.0.1
重新启动网卡服务
systemctl restart systemd-networkd
在机器 A 上尝试 ping 机器 B 的 VXLAN 内部 IP
ping 10.0.0.2
如果网络正常,你应该可以收到来自机器 B 的响应。
评论区