前置条件
- 两台Linux主机(本文以Ubuntu 20.04为例)
- 确保主机间IP连通性(通过
ping
验证) - 安装
iproute2
工具包 - 确认内核支持VXLAN(3.7+版本默认支持)
网络拓扑示例:
- 主机A:物理IP 10.0.1.10
- 主机B:物理IP 10.0.1.20
- 目标VXLAN网络:192.168.100.0/24
配置步骤
步骤1:创建VXLAN接口
在主机A执行:
sudo ip link add vxlan100 type vxlan \
id 100 \ # VXLAN Network Identifier (VNI)
dstport 4789 \ # 标准VXLAN UDP端口
local 10.0.1.10 \ # 本地物理IP
remote 10.0.1.20 # 对端物理IP(单播模式)
在主机B执行(参数对称):
sudo ip link add vxlan100 type vxlan \
id 100 \
dstport 4789 \
local 10.0.1.20 \
remote 10.0.1.10
步骤2:配置IP地址并激活接口
两主机执行相同操作:
sudo ip addr add 192.168.100.2/24 dev vxlan100 # 主机B使用192.168.100.3
sudo ip link set vxlan100 up
步骤3:验证接口状态
ip -d link show vxlan100 # 检查"vxlan"标识和配置参数
连接性测试
主机A测试:
ping 192.168.100.3 -c 4 # 应收到来自主机B的响应
抓包验证(可选):
sudo tcpdump -i eth0 udp port 4789 # 观察VXLAN封装报文
高级配置建议
多节点场景
使用组播替代单播:(需网络支持组播)
# 替换remote参数为组播地址
ip link add ... group 239.1.1.1
持久化配置
编辑/etc/network/interfaces
:
auto vxlan100
iface vxlan100
vxlan-id 100
vxlan-local-ip 10.0.1.10
vxlan-remote-ip 10.0.1.20