VXLAN隧道通过VTEP IP(真实三层地址,用于UDP封装和隧道建立)与Overlay网络IP(逻辑二层地址,配置在vxlan接口上,决定虚拟机互通)协同工作,二者分属不同网络平面,不可混淆。

VTEP IP 是真实存在的三层地址,必须是主机上已启用的物理接口或 loopback 接口的 IPv4/IPv6 地址。它参与 UDP 封装,决定隧道能否建立。例如:
- 使用本地 eth0 的地址:
local 10.0.1.10 - 更推荐用 loopback(稳定、不随网卡启停变化):
local 192.168.100.1,前提是该地址已配在 lo 上:ip addr add 192.168.100.1/32 dev lo - IPv6 场景下可写:
local 2001:db8::1,同样需确保该地址已存在且路由可达
Overlay 网络 IP 是逻辑二层地址,配置在 VxLAN 接口(如 vxlan0)上,代表该隧道承载的虚拟子网。它不参与隧道建立,但决定虚拟机/容器能否互通:
- 创建 VxLAN 接口后立即配置:
ip addr add 10.10.1.1/24 dev vxlan0 - 这个地址会成为该 VNI 内其他节点的默认网关(如远端 VTEP 配
10.10.1.2/24),构成一个跨主机的二层广播域 - 若用 netns 隔离,Overlay IP 应配在 netns 内的 VxLAN 接口或桥接设备上,而非宿主机全局命名空间
注意几个易错点:
- VTEP IP 必须能被对端三层路由到达;若不通,
ip link show vxlan0中状态可能为NOARP或始终DOWN - Overlay IP 和 VTEP IP 可以同网段,但不推荐——容易引发路由冲突或 ARP 混淆
- UDP 端口默认是 4789,修改需重新加载模块:
rmmod vxlan && modprobe vxlan udp_port=8472,两端必须一致 - 防火墙要放行 UDP 4789(或自定义端口)及 FORWARD 链:
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT


















