Ubuntu server 24 源码安装Quagga 支持动态路由协议ospf bgp

news2024/12/29 14:14:42

1 下载:GitHub - Quagga/quagga: Quagga Tracking repository - Master is at http://git.savannah.gnu.org/cgit/quagga.git

2 安装

#安装依赖包
sudo  apt  install gcc make  libreadline-dev pkg-config
#解压
tar zxvf quagga-1.2.4.tar.gz
cd  quagga-1.2.4/

sudo  ./configure
报错
checking for crypt in -lcrypt... yes
checking for res_init in -lresolv... no
checking whether system has GNU regex... checking for regexec in -lc... yes
checking for CARES... no
configure: error: Package requirements (libcares) were not met:

Package 'libcares', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables CARES_CFLAGS
and CARES_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

#下载安装:Releases · c-ares/c-ares (github.com)

tar  zxvf  c-ares-1.29.0.tar.gz
cd c-ares-1.29.0
./configure
make
sudo make install
#
sudo  vim /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile

#再次编译

cd quagga-1.2.4/
./configure --with-cflags=-fcommon
#
Quagga configuration
--------------------
quagga version          : 1.2.4
host operating system   : linux-gnu
source code location    : .
compiler                : gcc
compiler flags          : -g -O2 -g -Os -fstack-protector-strong --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fpie -fno-omit-frame-pointer -Wall -Wextra -Wmissing-prototypes -Wmissing-declarati
ons -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializersmake                    : make
linker flags            :  -lcrypt  -lrt  -lreadline  -ltermcap -lm
state file directory    : /var/run
config file directory   : /usr/local/etc
example directory       : /usr/local/etc
user to run as		: quagga
group to run as		: quagga
group for vty sockets	: 
config file mask        : 0600
log file mask           : 0600
zebra protobuf enabled  : no

The above user and group must have read/write access to the state file
directory and to the config files in the config file directory.
#
make
sudo make install

3 配置和启动

test@ubuntuserver:~$ sudo zebra -d
[sudo] password for test: 
privs_init: could not lookup user quagga
#增加运行用户
sudo adduser quagga
sudo chown quagga:quagga /var/run/
sudo chown quagga:quagga /usr/local/etc/
#启动
sudo zebra -d
#查看
s -ef|grep  quagga
quagga      1525       1  0 23:53 ?        00:00:00 zebra -d
test        1555    1378  0 23:58 pts/0    00:00:00 grep --color=auto quagga
#端口查看
sudo netstat -tnupl| grep  zebra
tcp        0      0 0.0.0.0:2601            0.0.0.0:*               LISTEN      1525/zebra          
tcp6       0      0 :::2601                 :::*                    LISTEN      1525/zebra 

4  登录

sudo telnet 127.0.0.1  2601

5 启动动态路由器协议ospf

#报错
sudo ospfd -d
ospfd: error while loading shared libraries: libospf.so.0: cannot open shared object file: No such file or directory
#解决
sudo cp /usr/local/lib/libospf.so.0 /lib
#
sudo ospfd -d

#查看进程端口
sudo netstat -tnupl| grep  ospfd
tcp        0      0 0.0.0.0:2604            0.0.0.0:*               LISTEN      1705/ospfd          
tcp6       0      0 :::2604                 :::*                    LISTEN      1705/ospfd  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1700190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux(五)

Linux&#xff08;五&#xff09; 结构体如何定义一个结构体如何定义一个结构体变量结构体变量如何访问成员如何定义一个指向结构体的指针 动态分配空间 malloc,free在堆区分配5个存Stu的空间 #include <stdio.h> //编写一子函数,对pstr中的值进行输出 /*void output(int…

【开源】租房管理系统 JAVA+Vue+SpringBoot+MySQL

目录 一、系统介绍 租客屋主模块 房源信息模块 租客评价模块 房源订单模块 留言板模块 二、系统截图 三、核心代码 一、系统介绍 基于Vue.js和SpringBoot的租房管理系统&#xff0c;分为管理后台和用户网页端&#xff0c;可以给管理员、租客和屋主角色使用&#xff0c…

Layui设置table表格中时间的显示格式

1、问题概述? 【数据库中的时间格式】 【Layui中table表格默认的显示格式】 默认的格式中会显示时间的毫秒单位,但是这个毫秒有时候是不需要的。 总结:这个时候我们就需要定义table表格中的时间显示格式。 2、解决办法? 【解决后时间的显示格式】 【解决办法1:通过字符…

AI图书推荐:ChatGPT解码—人工智能增强生活指南

《ChatGPT解码—人工智能增强生活指南》&#xff08;ChatGPT Decoded. A Beginners Guide to AI-Enhanced Living &#xff09;是一本由 大卫维恩斯&#xff08;David Wiens &#xff09;所著的书籍&#xff0c;旨在帮助读者了解并有效利用GPT-4语言模型这一强大工具来提升日常…

开发依赖与运行依赖

1. 概念 开发依赖&#xff1a;devDependencies 运行依赖&#xff1a;dependencies 2. 理解 &#xff08;1&#xff09;devDependencies 在线上状态不需要使用的依赖&#xff0c;就是开发依赖。为什么 npm 要把它单独分拆出来呢&#xff1f;最终目的是为了减少 node_modul…

ESP32-C6接入巴法云,Arduino方式

ESP32-C6接入巴法云&#xff0c;Arduino方式 第一、ESP32-C6开发环境搭建第一步&#xff1a;安装arduino IDE 软件第二步&#xff1a;安装esp32库第三&#xff1a;arduino 软件设置 第二&#xff1a;简单AP配网程序第一步&#xff1a;程序下载第二步&#xff1a;程序使用第三步…

《德米安:彷徨少年时》

文前 我之所愿无非是尝试依本性而生活&#xff0c; 却缘何如此之难&#xff1f; 强盗 疏于独立思考和自我评判的人只能顺应现成的世俗法则&#xff0c;让生活变轻松。其他人则有自己的戒条&#xff1a;正派人惯常做的事于他可能是禁忌&#xff0c;而他自认合理的或许遭他人唾…

Mac安装pytorch

先下载 Anaconda | The Operating System for AI 网速慢&#xff0c;用中国大陆镜像&#xff1a;NJU Mirror 之前装python3时用的是pip3&#xff0c;这里说一下这pip与conda的区别 Conda和pip都是Python包管理工具&#xff0c;用于安装和管理Python包 包管理范围&#xff1a…

简单的基于信号处理的心电信号ECG特征波分割方法(MATLAB)

正常的心电图中&#xff0c;每个心跳周期内包含三个主要的特征波&#xff1a;&#xff30;波、QRS波和&#xff34;波&#xff0c;如下图所示。心电特征波能够反映心脏的生理状态信息&#xff0c;通过对其形状、幅值和持续时间的分析&#xff0c;可以用来辅助诊断心血管疾病。对…

Java顺序表

Java顺序表 前言一、线性表介绍常见线性表总结图解 二、顺序表概念顺序表的分类顺序表的实现throw具体代码 三、顺序表会出现的问题 前言 推荐一个网站给想要了解或者学习人工智能知识的读者&#xff0c;这个网站里内容讲解通俗易懂且风趣幽默&#xff0c;对我帮助很大。我想与…

深入解析BGP与OSPF:互联网与企业网络中的路由协议对比

BGP&#xff08;Border Gateway Protocol&#xff09;和OSPF&#xff08;Open Shortest Path First&#xff09;是两种不同的路由协议&#xff0c;它们在互联网和企业网络中扮演着重要的角色。下面是它们各自特点的详细内容丰富&#xff1a; BGP&#xff08;Border Gateway Pro…

leecode 226 翻转二叉树、101 对称二叉树、104 二叉树的最大深度

leecode 226 翻转二叉树、101 对称二叉树、104 二叉树的最大深度 leecode 226 翻转二叉树 题目链接 &#xff1a;https://leetcode.cn/problems/invert-binary-tree/description/ 题目 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。…

Neovim 配置全面解析(上)

Neovim 配置全面解析&#xff08;上&#xff09; 原文&#xff1a;Neovim 配置全面解析&#xff08;上&#xff09; - 知乎 (zhihu.com) 环境&#xff1a;Ubuntu 20.04 宿主机&#xff1a;windows &#xff08;windows terminal&#xff09;WSL 2 NVIM&#xff1a;v 0.10.0-de…

自从有了可观测性,传统运维如何进行提升?

在 201x 年&#xff0c;随着容器技术的出现&#xff0c;容器的部署方式逐渐被各大互联网公司采用&#xff0c;相比物理机/虚拟机&#xff0c;容器的好处是环境隔离、轻量、快速。 但是管理容器是一件复杂的事情&#xff0c;后来出现了 Kubernetes&#xff0c;成为了事实上的容…

Python编程的黑暗魔法:模块与包的神秘力量!

哈喽&#xff0c;我是阿佑&#xff0c;今天给大家讲讲模块与包~ 文章目录 1. 引言1.1 模块化编程的意义1.2 Python中模块与包的概念概述 2. 背景介绍2.1 Python模块系统模块的定义与作用Python标准库简介 2.2 包的结构与目的包的定义与目录结构包在项目组织中的重要性 3. 创建与…

网络攻击攻击之-远程命令执行/RCE告警运营分析篇

在各种网络安全产品的告警中,远程命令执行是一种非常常见的告警。本文将从远程命令执行的定义,远程命令执行利用的流量数据包示例,远程命令执行的suricata规则,远程命令执行的告分析警研判,远程命令执行的处置建议等几个方面阐述如何通过IDS/NDR,态势感知等流量平台的远程…

Linux系统编程(三)进程间通信(IPC)

本文目录 一、linux 进程之间的通信种类二、管道1. 管道的概述2. 什么是管道文件&#xff1f;3. 管道的特点4. 管道类型&#xff08;1&#xff09;无名管道&#xff08;pipe&#xff09;&#xff08;2&#xff09;有名(命名)管道&#xff08;fifo&#xff09; 三、信号&#xf…

自定义Linux命令,显示docker镜像、容器信息

1、修改环境变量&#xff08;仅对当前用户有效&#xff09; vim ~/.bashrc2、给命令取别名 alias dpsdocker ps --format "table{{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}" alias disdocker images#保存并退出 :wq3、让配置重新生效 source ~/.bashrc4、测试&…

前端设计模式学习记录

设计模式介绍 概念 设计模式是我们在解决问题的时候针对特定的问题给出的简洁而优化的处理方案在JS设计模式中&#xff0c;最核心的思想&#xff1a;封装变化将变与不变分离&#xff0c;确保变化的部分灵活、不变的部分稳定 注意&#xff1a;下面文章介绍的设计模式&#xff…

shell脚本实战--批量修改文件名

字符串截取 先来了解一下shell字符串相关操作的变量 # 从开头删除匹配最短 ## 从开头删除匹配最长 % 从结尾削除匹配最短 %% 从结尾删除匹配最长#指定字符内容截取 a*c 匹配开头为a&#xff0c;中间任意个字符&#xff0c;结尾为c的字符串 a*C 匹配…