热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linuxospf命令,用bird在linuxnetns里配置ospf两个点互相发现

下面是所以命令仅供参考,拓扑是:ns6ns7模拟的是路由器,ns5和ns8是两边的AS。#brctladdbrbr5#brctladdbr

下面是所以命令 仅供参考,

拓扑是:

b206d07a3e579240d256d64a09d042e1.png

ns6 ns7模拟的是路由器,ns5 和 ns8 是两边的AS。

# brctl addbr br5

# brctl addbr br8

# brctl addbr br9

ip netns add ns5

ip netns add ns6

ip netns add ns7

ip netns add ns8

ip link add name ns5-0 type veth peer name ns5-br8

ip link add name ns6-0 type veth peer name ns6-br8

ip link add name ns6-1 type veth peer name ns6-br5

ip link add name ns7-0 type veth peer name ns7-br5

ip link add name ns7-1 type veth peer name ns7-br9

ip link add name ns8-0 type veth peer name ns8-br9

ip link set ns5-0 netns ns5

ip link set ns6-0 netns ns6

ip link set ns6-1 netns ns6

ip link set ns7-0 netns ns7

ip link set ns7-1 netns ns7

ip link set ns8-0 netns ns8

brctl addif br8 ns5-br8

brctl addif br8 ns6-br8

brctl addif br5 ns6-br5

brctl addif br5 ns7-br5

brctl addif br9 ns7-br9

brctl addif br9 ns8-br9

ip netns exec ns5 ip ad add 10.0.1.5/24 dev ns5-0

ip netns exec ns6 ip ad add 10.0.1.6/24 dev ns6-0

ip netns exec ns6 ip ad add 10.0.2.5/24 dev ns6-1

ip netns exec ns7 ip ad add 10.0.2.6/24 dev ns7-0

ip netns exec ns7 ip ad add 10.0.3.6/24 dev ns7-1

ip netns exec ns8 ip ad add 10.0.3.5/24 dev ns8-0

ip netns exec ns5 ip link set dev ns5-0 up

ip link set dev ns5-br8 up

ip netns exec ns6 ip link set dev ns6-0 up

ip link set dev ns6-br8 up

ip netns exec ns6 ip link set dev ns6-1 up

ip link set dev ns6-br5 up

ip netns exec ns7 ip link set dev ns7-0  up

ip link set dev ns7-br5 up

ip netns exec ns7 ip link set dev ns7-1 up

ip netns exec ns8 ip link set dev ns8-0 up

ip link set dev ns7-br9 up

ip link set dev ns8-br9 up

ip link set dev br4 up

ip link set dev br5 up

ip link set dev br6 up

ip link set dev br7 up

ip link set dev br8 up

ip link set dev br9 up

ip netns exec ns6 bird -c /root/bird-ns6.conf -s /run/bird/bird-ns6

ip netns exec ns7  bird -c /root/bird-ns7.conf -s /run/bird/bird-ns7

# cat bird-ns6.conf

log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };

log "/tmp/bird-ns6.log" all;

router id 10.0.2.5;

debug protocols all;

protocol kernel {

persist;                # Don't remove routes on bird shutdown

scan time 20;           # Scan kernel routing table every 20 seconds

export all;             # Default is export none

}

protocol device {

scan time 10;           # Scan interfaces every 10 seconds

}

protocol direct {

interface "ns6-0";

}

protocol static {

debug all;

}

protocol ospf {

import all;

export all;

area 0.0.0.0 {

interface "ns6-1" {

hello 9;

retransmit 6;

cost 10;

transmit delay 5;

dead count 60;

wait 10;

type bcast;

};

};

}

# cat bird-ns7.conf

log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };

log "/tmp/bird-ns7.log" all;

router id 10.0.2.6;

debug protocols all;

protocol kernel {

persist;                # Don't remove routes on bird shutdown

scan time 20;           # Scan kernel routing table every 20 seconds

export all;             # Default is export none

}

protocol device {

scan time 10;           # Scan interfaces every 10 seconds

}

protocol direct {

interface "ns7-1";

}

protocol static {

debug all;

}

protocol ospf {

import all;

export all;

area 0.0.0.0 {

interface "ns7-0" {

hello 9;

retransmit 6;

cost 10;

transmit delay 5;

dead count 60;

wait 10;

type bcast;

};

};

}

root@wrt:~# ip netns exec ns7 ip ro

10.0.1.0/24 via 10.0.2.5 dev ns7-0 proto bird

10.0.2.0/24 dev ns7-0 proto kernel scope link src 10.0.2.6

10.0.3.0/24 dev ns7-1 proto kernel scope link src 10.0.3.6

~# ip netns exec ns7  birdc

BIRD 1.6.4 ready.

bird> show route

10.0.2.0/24        dev ns6-1 [ospf1 11:25:22] * I (150/10) [10.0.2.5]

10.0.3.0/24        via 10.0.2.6 on ns6-1 [ospf1 11:33:15] * E2 (150/10/10000) [10.0.2.6]

10.0.1.0/24        dev ns6-0 [direct1 11:25:21] * (240)

bird>

bird> exit

参考:https://github.com/qmcclab/blog/blob/master/bird-on-openwrt.md

阅读(2097) | 评论(0) | 转发(0) |



推荐阅读
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 基于 Vue 和 Element UI 实现的简洁登录界面设计
    本文介绍了一种利用 Vue.js 和 Element UI 框架构建的简洁登录界面设计。该设计不仅注重用户体验,还确保了界面的美观性和易用性。通过合理的布局和组件配置,实现了高效、响应式的登录功能,适用于多种前端应用场景。 ... [详细]
  • 如何使用ES6语法编写Webpack配置文件? ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 在现代前端开发中,组件化已成为不可或缺的技术,尤其在 React 和 Vue 生态中。然而,组件的管理和测试一直是开发者面临的挑战。本文将介绍如何使用 Storybook 来简化这一过程,提高开发效率。 ... [详细]
  • 本文详细介绍了如何在 Node.js 环境中利用 Nodemailer 库实现邮件发送功能,包括环境配置、代码实现及常见问题解决方法。 ... [详细]
  • 说明Python教程正在编写中,欢迎大家加微信sinbam提供意见、建议、纠错、催更。drymail是一个邮件发送库,封装了Python的smtplib ... [详细]
  • 在项目需要国际化处理时,即支持多种语言切换的功能,通常有两种方案:单个包和多个包。本文将重点讨论单个包的实现方法。 ... [详细]
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 这篇文章 | 夕阳下的防火墙命令全解 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
author-avatar
为谁落慕
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有