尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

ub-lldpd完整安装指南:从源码编译到Docker部署全解析

ub-lldpd完整安装指南:从源码编译到Docker部署全解析
📅 发布时间:2026/7/14 11:27:52

ub-lldpd完整安装指南:从源码编译到Docker部署全解析

【免费下载链接】ub-lldpdub-lldpd is an ISC-licensed implementation of Linux LLDP for ub device.项目地址: https://gitcode.com/openeuler/ub-lldpd

前往项目官网免费下载:https://ar.openeuler.org/ar/

ub-lldpd是一款基于ISC许可证的Linux LLDP(链路层发现协议)实现,专为嵌入式设备设计。本指南将带你完成从源码编译到Docker部署的全过程,帮助你快速在openEuler系统中搭建高效的网络设备发现服务。

一、准备工作:环境与依赖安装

在开始安装ub-lldpd前,请确保你的系统满足以下要求:

  • openEuler或其他基于RPM的Linux发行版
  • 至少2GB内存和10GB可用磁盘空间
  • 具备sudo权限的用户账号

首先安装必要的编译工具和依赖库:

sudo dnf install -y autoconf automake libtool gcc make git sudo dnf install -y libevent-devel libcap-devel net-snmp-devel

二、源码编译:从克隆到安装

2.1 获取源码

使用git克隆ub-lldpd仓库到本地:

git clone https://gitcode.com/openeuler/ub-lldpd cd ub-lldpd

2.2 生成配置文件

运行autogen.sh脚本生成配置脚本:

./autogen.sh

2.3 配置编译选项

执行configure脚本配置编译参数,可根据需求添加额外选项:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

2.4 编译与安装

使用make命令编译源码并安装:

make -j$(nproc) sudo make install

三、基础配置:快速上手

3.1 配置文件位置

ub-lldpd的主要配置文件位于:

  • 主配置文件:/etc/ub-lldpd.conf
  • 系统服务配置:/usr/lib/systemd/system/ub-lldpd.service

3.2 常用配置命令

通过lldpcli工具可以轻松配置ub-lldpd,常用命令包括:

# 设置系统主机名 sudo lldpcli configure system hostname "MyDevice" # 配置LLDP发送间隔(秒) sudo lldpcli configure lldp tx-interval 30 # 启用特定接口的LLDP sudo lldpcli configure ports eth0 lldp status rx-and-tx

3.3 启动服务

使用systemd管理ub-lldpd服务:

sudo systemctl enable --now ub-lldpd sudo systemctl status ub-lldpd

四、Docker部署:容器化方案

4.1 创建Dockerfile

在项目根目录创建Dockerfile:

FROM openeuler:latest WORKDIR /app COPY . . RUN dnf install -y autoconf automake libtool gcc make \ && dnf install -y libevent-devel libcap-devel net-snmp-devel \ && ./autogen.sh \ && ./configure --prefix=/usr --sysconfdir=/etc \ && make -j$(nproc) \ && make install EXPOSE 5900 CMD ["ub-lldpd", "-d"]

4.2 构建镜像

docker build -t ub-lldpd:latest .

4.3 运行容器

docker run -d --name ub-lldpd --net=host ub-lldpd:latest

注意:由于LLDP需要访问网络接口,建议使用--net=host模式运行容器,确保能正确发现网络设备。

五、验证与故障排除

5.1 验证安装

检查ub-lldpd是否正常运行:

# 查看服务状态 systemctl status ub-lldpd # 查看邻居信息 lldpcli show neighbors

5.2 常见问题解决

问题1:服务启动失败

检查日志文件获取详细信息:

journalctl -u ub-lldpd
问题2:无法发现邻居

确保网络接口已启用LLDP:

lldpcli show interfaces

六、高级配置与优化

6.1 安全加固

通过seccomp限制系统调用,配置文件位于:

  • src/daemon/priv-seccomp.c

6.2 性能调优

调整LLDP发送间隔和保持时间:

lldpcli configure lldp tx-interval 60 lldpcli configure lldp tx-hold 4

6.3 自定义TLV

添加自定义TLV(类型长度值):

lldpcli configure lldp custom-tlv oui 00,11,22 subtype 33 oui-info 44,55,66

七、总结

通过本指南,你已经掌握了ub-lldpd的完整安装流程,包括源码编译、基础配置、Docker部署以及故障排除方法。ub-lldpd作为轻量级LLDP实现,非常适合嵌入式设备和资源受限环境,帮助你构建高效的网络设备发现系统。

如需更多高级功能和详细配置选项,请参考项目中的文档和源码:

  • src/client/commands.c:命令处理实现
  • src/daemon/lldpd.c:主程序逻辑
  • tests/lldpcli.conf:配置示例

【免费下载链接】ub-lldpdub-lldpd is an ISC-licensed implementation of Linux LLDP for ub device.项目地址: https://gitcode.com/openeuler/ub-lldpd

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

  • C#集成BarTender与斑马打印机:从数据库到标签的自动化打印实战
  • Halcon单目相机标定全流程与工业视觉精度优化
  • C++面向对象编程:从类与对象基础到内存模型与实战避坑

最新新闻

  • 终极指南:用dxwrapper让经典Windows游戏在现代系统完美运行
  • BiliTools:3步实现B站视频AI智能总结,让学习效率提升10倍
  • TranslucentSM:Windows开始菜单透明化终极指南
  • 头歌平台Docker企业级实训 第3章 Docker进阶之数据卷实战:从创建到迁移的完整生命周期
  • 《大家来找茬》游戏辅助工具开发:从屏幕抓取到图像差异识别的自动化实践
  • 信息安全_网络空间安全:国家战略催生的高薪岗

日新闻

  • AWS SSM安全运维实践:零公网暴露的合规远程开发方案
  • Tableau 2024.1 图表选择指南:5种业务场景与最佳图表类型匹配
  • dsPIC33FJ与CMT-8540S-SMT在嵌入式音频处理中的高效应用

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号