Linux怎么配置VXLAN隧道_Linux VXLAN创建与通信测试【网络】

发布时间 - 2026-01-23 00:00:00    点击率:
VXLAN隧道可实现Linux跨主机二层通信,需加载vxlan模块、创建配置对称VXLAN接口(指定VNI/端口/IP)、添加静态FDB表项,并通过ping和tcpdump验证封装与连通性。

如果您希望在Linux系统中实现跨主

机的二层网络通信,VXLAN隧道是一种常用的技术方案。以下是创建VXLAN接口、配置IP地址、建立隧道并验证通信的具体步骤:

一、加载VXLAN内核模块并确认支持

VXLAN功能依赖于内核模块,需确保已加载且系统支持该协议。若未启用,需手动加载模块并验证是否成功注册。

1、执行命令检查模块是否已加载:lsmod | grep vxlan

2、若无输出,运行加载命令:sudo modprobe vxlan

3、确认模块已存在于当前内核模块列表中:ls /sys/class/net/ | grep vxlan(初始状态下应无vxlan开头的接口)。

二、创建VXLAN虚拟接口

VXLAN接口是逻辑设备,用于封装和解封装UDP报文,其配置需指定VNI、远端IP、本地IP及组播或单播模式。此处以单播点对点隧道为例。

1、在主机A上创建VXLAN接口vxlan0:sudo ip link add vxlan0 type vxlan id 100 dev eth0 dstport 8472

2、为vxlan0分配本地VTEP IP地址:sudo ip addr add 10.100.1.1/24 dev vxlan0

3、启用该接口:sudo ip link set up vxlan0

4、添加远端VTEP(主机B的IP):sudo ip -f inet6 route add 10.100.1.2 via 192.168.56.102 dev eth0(假设主机B物理IP为192.168.56.102)。

5、绑定远端VTEP到VXLAN设备:sudo ip neigh add 10.100.1.2 lladdr 00:11:22:33:44:55 dev vxlan0(需先通过ARP或手动获取主机B的MAC)。

三、在对端主机配置对称VXLAN接口

主机B需配置与主机A对称的VXLAN参数,包括相同VNI、互为dstport、反向VTEP地址绑定,以确保双向隧道可达。

1、创建vxlan0接口:sudo ip link add vxlan0 type vxlan id 100 dev eth0 dstport 8472

2、配置本端VTEP地址:sudo ip addr add 10.100.1.2/24 dev vxlan0

3、启用接口:sudo ip link set up vxlan0

4、添加主机A的路由条目:sudo ip -f inet6 route add 10.100.1.1 via 192.168.56.101 dev eth0(假设主机A物理IP为192.168.56.101)。

5、绑定主机A的MAC地址:sudo ip neigh add 10.100.1.1 lladdr 00:11:22:33:44:54 dev vxlan0

四、配置ARP代理与FDB表项(可选但推荐)

为避免依赖广播ARP请求,可静态注入FDB(Forwarding Database)表项,使VXLAN设备明确知道如何转发目的MAC对应的VTEP地址。

1、在主机A上添加主机B内网MAC与VTEP映射:sudo bridge fdb add 00:11:22:33:44:55 dev vxlan0 dst 192.168.56.102 self permanent

2、在主机B上添加主机A内网MAC与VTEP映射:sudo bridge fdb add 00:11:22:33:44:54 dev vxlan0 dst 192.168.56.101 self permanent

3、验证FDB条目是否生效:bridge fdb show dev vxlan0

五、测试VXLAN隧道连通性

完成两端配置后,可通过ICMP和ARP交互验证隧道是否正确封装与解封装,确保二层连通性成立。

1、在主机A上尝试ping主机B的VXLAN子网地址:ping -c 4 10.100.1.2

2、在主机A上抓取eth0接口UDP流量,过滤VXLAN端口:sudo tcpdump -i eth0 udp port 8472 -nn,确认存在封装后的VXLAN帧(原始以太网帧被封装进UDP)。

3、在主机A上查看vxlan0接口统计:ip -s link show vxlan0,检查tx_bytes、rx_bytes是否递增。

4、在主机A上执行ARP请求并观察是否收到响应:arp -d 10.100.1.2 && ping -c 1 10.100.1.2,随后运行arp -a | grep 10.100.1.2确认ARP表已学习。


# linux  # 以太网  # 端口  # mac  # 路由  # linux系统  # 解封  # 子网  # 封装  # 接口  # class  # database  # udp  # tcpdump  # 加载  # 绑定  # 二层  # 远端  # 连通性  # 内网  # 装进  # 如果您  # 是一种 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: html5audio标签播放结束怎么触发事件_onended回调方法【教程】  如何快速搭建自助建站会员专属系统?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Laravel如何使用Livewire构建动态组件?(入门代码)  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  如何在IIS中新建站点并解决端口绑定冲突?  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  油猴 教程,油猴搜脚本为什么会网页无法显示?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  高性能网站服务器配置指南:安全稳定与高效建站核心方案  iOS中将个别页面强制横屏其他页面竖屏  Linux安全能力提升路径_长期防护思维说明【指导】  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  phpredis提高消息队列的实时性方法(推荐)  浅谈javascript alert和confirm的美化  JS实现鼠标移上去显示图片或微信二维码  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  HTML 中动态设置元素 name 属性的正确语法详解  详解Huffman编码算法之Java实现  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何构建满足综合性能需求的优质建站方案?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  高防服务器租用指南:配置选择与快速部署攻略  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Python图片处理进阶教程_Pillow滤镜与图像增强  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何实现模型的全局作用域?(Global Scope示例)  如何快速上传自定义模板至建站之星?  javascript中的try catch异常捕获机制用法分析  如何在 React 中条件性地遍历数组并渲染元素  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel怎么在Controller之外的地方验证数据  如何自定义建站之星模板颜色并下载新样式?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  如何在宝塔面板创建新站点?  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  如何解决hover在ie6中的兼容性问题  香港服务器租用每月最低只需15元?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧