新闻详情

新闻详情

首页 / 资讯中心 / 详情

CentOS 7 配置 Linux VXLAN:VNI 100 点对点二层隧道实验

发布时间:2026/8/31 10:58:10来源:尧图网络
CentOS 7 配置 Linux VXLAN:VNI 100 点对点二层隧道实验
# CentOS 7 配置 Linux VXLANVNI 100 点对点二层隧道实验1. 服务介绍VXLANVirtual Extensible LAN通过 UDP 把二层以太网帧封装在三层 IP 网络中使不同主机上的虚拟网桥能够跨越 Underlay 网络组成同一二层广播域。VXLAN 常用于云平台、容器网络、虚拟机网络和数据中心 Overlay。本文在两台 CentOS 7 主机间建立 VNI 100 点对点隧道底层网络使用192.168.100.0/24VXLAN 网桥使用172.16.1.0/24最后通过 ping、FDB 和抓包验证隧道。2. 准备运行环境| 主机 | Underlay 接口 | Underlay 地址 | Overlay 网桥地址 ||---|---|---|---|| AppSrv |ens33|192.168.100.100/24|172.16.1.1/24|| StorageSrv |ens33|192.168.100.200/24|172.16.1.2/24|其他要求• 操作系统CentOS 7.x。• 操作权限root或具备sudo权限的管理员账号。• 两台主机 Underlay 地址可互相访问。• 两端 VNI 必须一致本文使用100。• VXLAN UDP 目标端口使用 IANA 标准端口4789。• Underlay MTU 为 1500 时VXLAN 接口和网桥建议设置为 1450。• 命令由iproute提供不必依赖旧版brctl。两台主机先检查系统、网卡和内核模块cat /etc/centos-release ip -br addr ip route modprobe vxlan lsmod | grep vxlan确认 Underlay 互通AppSrvping -c 4 192.168.100.200StorageSrvping -c 4 192.168.100.1003. 相关知识3.1 Underlay 与 Overlay• Underlay真实三层承载网络本文是192.168.100.0/24。• Overlay在 Underlay 之上建立的逻辑二层网络本文是172.16.1.0/24。• Underlay 不通VXLAN 一定不通排障必须先检查底层网络。3.2 VNIVNIVXLAN Network Identifier是 24 位标识可提供约 1600 万个逻辑网络。只有 VNI 相同的 VXLAN 端点才属于同一个 Overlay。本文两端都配置id 100。3.3 UDP 4789VXLAN 外层默认使用 UDP 4789。防火墙需要允许两台 VTEP 的 UDP 4789 通信。原文建议直接关闭防火墙和 SELinux这种做法不必要VXLAN 是内核网络功能通常不受 SELinux 阻止firewalld 只需精确放行 UDP 4789。3.4 VTEP、网桥和 FDB• VTEPVXLAN Tunnel Endpoint负责封装和解封装 VXLAN 报文。•vxlan100本实验 VTEP 的 Linux VXLAN 接口。•br-vxlan逻辑二层交换机连接本地接口和 VXLAN 接口。• FDB转发表记录 MAC 地址应从哪个端口转发。未知单播、广播和组播流量需要发送到远端 VTEP。3.5 MTUIPv4 VXLAN 通常增加约 50 字节封装开销。Underlay MTU 为 1500 时Overlay MTU 设置 1450 可避免分片。若承载网络支持 Jumbo Frame可统一提高 Underlay MTU但链路全程必须一致。3.6 点对点与多节点本文使用remote参数建立静态点对点 VXLAN适合两台主机实验。多节点环境通常使用组播、静态 FDB 或 EVPN 控制平面不应为每对主机手工创建独立隧道。4. 实验步骤4.1 AppSrv 配置确认接口名和源地址ip -br addr show ens33 ip route get 192.168.100.200创建网桥ip link add br-vxlan type bridge ip link set br-vxlan mtu 1450 ip link set br-vxlan up创建 VXLAN 100指定本地和远端 VTEPip link add vxlan100 type vxlan \ id 100 \ local 192.168.100.100 \ remote 192.168.100.200 \ dev ens33 \ dstport 4789 \ nolearning将 VXLAN 接口加入网桥并启用ip link set vxlan100 mtu 1450 ip link set vxlan100 master br-vxlan ip link set vxlan100 up ip addr add 172.16.1.1/24 dev br-vxlan为未知单播和广播添加默认远端 FDBbridge fdb append 00:00:00:00:00:00 dev vxlan100 dst 192.168.100.2004.2 StorageSrv 配置创建网桥ip link add br-vxlan type bridge ip link set br-vxlan mtu 1450 ip link set br-vxlan up创建 VXLAN 100交换local和remote地址ip link add vxlan100 type vxlan \ id 100 \ local 192.168.100.200 \ remote 192.168.100.100 \ dev ens33 \ dstport 4789 \ nolearning绑定网桥、设置地址并添加默认 FDBip link set vxlan100 mtu 1450 ip link set vxlan100 master br-vxlan ip link set vxlan100 up ip addr add 172.16.1.2/24 dev br-vxlan bridge fdb append 00:00:00:00:00:00 dev vxlan100 dst 192.168.100.1004.3 放行 VXLAN 防火墙端口两台主机都执行firewall-cmd --permanent --add-port4789/udp firewall-cmd --reload firewall-cmd --query-port4789/udp更严格的生产规则应只允许对端 VTEP 地址访问 UDP 4789。实验无需关闭 SELinux也无需停用 firewalld。4.4 检查接口状态两端执行ip -br link show br-vxlan vxlan100 ip -br addr show br-vxlan ip -d link show vxlan100 bridge link show bridge fdb show dev vxlan100ip -d link应显示 VNI 100、本地和远端 VTEP、设备ens33、UDP 4789。bridge link应显示vxlan100归属br-vxlan。4.5 临时配置与持久化上述ip和bridge命令创建的是运行时配置重启后会消失。实验完成且验证正确后可保存为脚本并交给 systemd 启动。AppSrv 建立/usr/local/sbin/vxlan-up.shcat /usr/local/sbin/vxlan-up.sh EOF #!/bin/bash set -e ip link show br-vxlan /dev/null 21 || ip link add br-vxlan type bridge ip link set br-vxlan mtu 1450 up ip link show vxlan100 /dev/null 21 || ip link add vxlan100 type vxlan id 100 local 192.168.100.100 remote 192.168.100.200 dev ens33 dstport 4789 nolearning ip link set vxlan100 mtu 1450 master br-vxlan ip link set vxlan100 up ip addr show dev br-vxlan | grep -q 172.16.1.1/24 || ip addr add 172.16.1.1/24 dev br-vxlan bridge fdb replace 00:00:00:00:00:00 dev vxlan100 dst 192.168.100.200 EOF chmod 750 /usr/local/sbin/vxlan-up.sh建立/etc/systemd/system/vxlan-lab.service[Unit] DescriptionVXLAN lab VNI 100 Afternetwork-online.target Wantsnetwork-online.target [Service] Typeoneshot ExecStart/usr/local/sbin/vxlan-up.sh RemainAfterExityes [Install] WantedBymulti-user.target启用前先手动执行脚本并验证/usr/local/sbin/vxlan-up.sh systemctl daemon-reload systemctl enable vxlan-lab.serviceStorageSrv 使用同样方式但要把本地地址改为192.168.100.200、远端地址改为192.168.100.100、网桥地址改为172.16.1.2/24。4.6 回退运行时配置需要重新实验时先删除旧接口避免出现File existsip link set vxlan100 down 2/dev/null ip link del vxlan100 2/dev/null ip link set br-vxlan down 2/dev/null ip link del br-vxlan type bridge 2/dev/null删除 VXLAN 接口前先确认它只用于本实验避免影响其他虚拟网络。5. 验证结果5.1 Overlay 连通性AppSrvping -c 4 172.16.1.2StorageSrvping -c 4 172.16.1.1双向 ping 成功说明两端网桥地址可通过 VXLAN 100 通信。5.2 检查邻居表和 FDBip neigh show dev br-vxlan bridge fdb show br br-vxlan bridge fdb show dev vxlan100预期能看到对端 Overlay IP 对应的 MAC 邻居以及 VXLAN 接口上的转发表项。5.3 抓取 VXLAN 报文任意一端执行tcpdump -ni ens33 udp port 4789另一终端持续 ping 对端 Overlay 地址。抓包应看到192.168.100.100与192.168.100.200之间的 UDP 4789 流量。外层地址属于 Underlay内层 ARP/ICMP 属于 Overlay。5.4 MTU 验证Overlay MTU 为 1450 时测试不分片最大 ICMP 负载ping -M do -s 1422 -c 4 172.16.1.2IPv4 ICMP 头和 IP 头合计 28 字节1422281450。若小包通、大包不通优先检查两端接口 MTU 和 Underlay 路径 MTU。5.5 常见故障排查ip -d link show vxlan100 ip addr show br-vxlan bridge link show bridge fdb show dev vxlan100 firewall-cmd --query-port4789/udp ip route get 192.168.100.200 tcpdump -ni ens33 udp port 4789• Underlay 地址 ping 不通先修复物理网络、路由和防火墙不检查 Overlay。• 抓不到 UDP 4789检查local、remote、dev、VNI 和 firewalld。• 能抓到单向报文但无返回检查对端 VXLAN 配置和返回路由。• ARP 一直失败检查默认 FDB、网桥绑定和两端 VNI 是否都是 100。• 小包通、大包失败检查 MTUUnderlay 1500 时 Overlay 建议 1450。• 重启后接口消失运行时命令未持久化检查 systemd oneshot 服务和启动日志。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

HyperMesh新界面六面体网格划分完整教程:支架案例实操 2026/8/31 22:01:30

HyperMesh新界面六面体网格划分完整教程:支架案例实操

写这篇案例之前,先聊一个很多人问过的问题:在 HyperMesh 里做六面体网格划分,到底难在哪? 对于没有系统接触过六面体网格的工程师来说,第一个感觉往往是“找不到入口”:模型导进来了,也看到 Me…

阅读更多 →
200万概念验证资金:AI创业团队从Demo到种子轮的加速器 2026/8/31 22:01:30

200万概念验证资金:AI创业团队从Demo到种子轮的加速器

这次我们来看一个很特别的“项目”。它不是一个模型、不是一个开源框架,也不是一套本地部署工具,而是一个面向 AI 创业团队的早期扶持计划:机器之心正在寻找 AI 时代的下一个火种,并为此提供 200 万概念验证资金,同时联…

阅读更多 →
MATLAB音频分帧加窗全解析:从原理到代码实战 2026/8/31 22:01:30

MATLAB音频分帧加窗全解析:从原理到代码实战

简介:本资源是一套面向信号处理初学者与音频算法实践者的MATLAB轻量级工具包,聚焦音频分帧与加窗这一语音识别、特征提取等任务的基础预处理环节。包内含2个核心.m函数(enframe.m实现带重叠的分帧,frame2time.m提供帧时间戳映射&a…

阅读更多 →
Android校招笔试:从Handler到性能优化,面试官到底在考什么? 2026/8/31 22:01:30

Android校招笔试:从Handler到性能优化,面试官到底在考什么?

1. 这套卷子到底在筛什么人先说说我看到这份“小红书2020校招Android方向笔试题卷一”时的第一反应。很多同学拿到题就急着刷答案,觉得笔试就是换个地方考八股文,背一背Android生命周期、四大组件就能过。但如果你真在2020年投过小红书的校招&#xff0c…

阅读更多 →
Python处理FT-ICR MS数据:从瞬态信号到分子式归属的完整流程 2026/8/31 22:01:30

Python处理FT-ICR MS数据:从瞬态信号到分子式归属的完整流程

简介:fouriertransform是一套面向质谱数据挖掘的Python开源工具包,专注傅里叶变换离子回旋共振质谱数据分析,可对复杂有机质混合物进行精细化分析,支持原始MS峰分子式分配、按元素公式归类化合物类别,以及建立环境参数…

阅读更多 →
SPC560P50L3 FlexPWM频率配置全解析:从时钟树到寄存器实战 2026/8/31 21:58:30

SPC560P50L3 FlexPWM频率配置全解析:从时钟树到寄存器实战

最近被好几个同行问到同一个问题:FlexPWM在SPC560P50L3上的频率到底要怎么配?这个看似基础的问题,其实藏着不少坑。有人照着参考手册写得头头是道,结果板子上一测频率完全不对;有人预分频改了又改,频率纹丝…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞