mininet 主机双网关拓扑设计

article/2025/9/19 22:01:43

这次的拓扑是一个主机拥有两个接口,两个接口分别有不同的网关,拓扑图如下,拓扑可以通过前两篇中提到的miniedit.py去生成:

主要配置指令如下:

截得不全直接看代码吧

#!/usr/bin/pythonfrom mininet.net import Mininet
from mininet.node import Controller, RemoteController, OVSController
from mininet.node import CPULimitedHost, Host, Node
from mininet.node import OVSKernelSwitch, UserSwitch
from mininet.node import IVSSwitch
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.link import TCLink, Intf
from subprocess import calldef myNetwork():net = Mininet( topo=None,build=False,ipBase='10.0.0.0/8')info( '*** Adding controller\n' )info( '*** Add switches\n')r1 = net.addHost('r1', cls=Node, ip='0.0.0.0')r2 = net.addHost('r2', cls=Node, ip='0.0.0.0')r3 = net.addHost('r3', cls=Node, ip='0.0.0.0')info( '*** Add hosts\n')h1 = net.addHost('h1', cls=Host, ip='10.0.0.2/24', defaultRoute=None)h2 = net.addHost('h2', cls=Host, ip='10.0.1.2/24', defaultRoute=None)info( '*** Add links\n')net.addLink(h1, r1)net.addLink(h1, r3)net.addLink(r1, r2)net.addLink(r2, h2)net.addLink(r3, r2)info( '*** Starting network\n')net.build()info( '*** Starting controllers\n')for controller in net.controllers:controller.start()info( '*** Starting switches\n')h1.cmd('ifconfig h1-eth0 0')h1.cmd('ifconfig h1-eth1 0')h2.cmd('ifconfig h2-eth0 0')r1.cmd('ifconfig r1-eth0 0')r1.cmd('ifconfig r1-eth1 0')r2.cmd('ifconfig r2-eth0 0')r2.cmd('ifconfig r2-eth1 0')r2.cmd('ifconfig r2-eth2 0')r3.cmd('ifconfig r3-eth0 0')r3.cmd('ifconfig r3-eth1 0')r1.cmd('sysctl -w net.ipv4.ip_forward=1')r2.cmd('sysctl -w net.ipv4.ip_forward=1')r3.cmd('sysctl -w net.ipv4.ip_forward=1')info( '*** Post configure switches and hosts\n')h1.cmd('ifconfig h1-eth0 10.0.0.2/24')h1.cmd('ifconfig h1-eth1 10.0.2.2/24')h2.cmd('ifconfig h2-eth0 10.0.1.2/24')r1.cmd('ifconfig r1-eth0 10.0.0.1/24')r1.cmd('ifconfig r1-eth1 172.16.2.1/24')r2.cmd('ifconfig r2-eth0 172.16.2.2/24')r2.cmd('ifconfig r2-eth1 10.0.1.1/24')r2.cmd('ifconfig r2-eth2 192.168.2.2/24')r3.cmd('ifconfig r3-eth0 10.0.2.1/24')r3.cmd('ifconfig r3-eth1 192.168.2.1/24')r1.cmd('route add -net 10.0.1.0/24 gw 172.16.2.2')r2.cmd('route add -net 10.0.0.0/24 gw 172.16.2.1')r2.cmd('route add -net 10.0.2.0/24 gw 192.168.2.1') r3.cmd('route add -net 10.0.1.0/24 gw 192.168.2.2')h1.cmd("ip rule add from 10.0.0.2 table 1")h1.cmd("ip rule add from 10.0.2.2 table 2")h1.cmd("ip route add 10.0.0.0/24 dev h1-eth0 scope link table 1")h1.cmd("ip route add default via 10.0.0.1 dev h1-eth0 table 1")h1.cmd("ip route add 10.0.2.0/24 dev h1-eth1 scope link table 2")h1.cmd("ip route add default via 10.0.2.1 dev h1-eth1 table 2")h1.cmd("ip route add default scope global nexthop via 10.0.0.1 dev h1-eth0") h2.cmd("ip rule add from 10.0.1.2 table 1")h2.cmd("ip route add 10.0.1.0/24 dev h2-eth0 scope link table 1")h2.cmd("ip route add default via 10.0.1.1 dev h2-eth0 table 1")h2.cmd("ip route add default scope global nexthop via 10.0.1.1 dev h2-eth0")CLI(net)net.stop()if __name__ == '__main__':setLogLevel( 'info' )myNetwork()

 


http://chatgpt.dhexx.cn/article/DSCwsXrq.shtml

相关文章

Mininet笔记-基本命令

命令详解 拓扑构建命令 –topo  单一(single)拓扑,永远只有一个交换机,主机(host)可以有N个  线形(linear)拓扑,可以有多个交换机和主机,每个交换机只连接…

mininet基本操作

mininet是由斯坦福大学基于Linux Container架构开发的一个进程虚拟化网络仿真工具,可以创建一个包含主机,交换机,控制器和链路的虚拟网络,其交换机支持OpenFlow,具备高度灵活的自定义软件定义网络。 在ubuntu系统中安…

mininet编程

代码 区分constructor and object #!/usr/bin/python from mininet.topo import Topo from mininet.net import Mininet from mininet.util import dumpNodeConnections from mininet.log import …

mininet实验部分总结

一、Mininet简介 Mininet是一个可以在有限资源的普通电脑上快速建立大规模SDN原型系统的网络仿真工具。该系统由虚拟的终端节点(End-Host)、OpenFlow交换机、控制器(也支持远程控制器)组成,这使得它可以模拟真实网络&…

Mininet应用实践

安装: 参考 : https://www.cnblogs.com/cotyb/p/5042072.html https://blog.csdn.net/Mr_Wanderer/article/details/107028267 https://blog.csdn.net/qq_19696893/article/details/123747960 开启ovsdb-server配置数据库:有两种方式&#x…

【学习笔记】Mininet 入门

【学习笔记】Mininet入门实战 课程介绍 Mininet是由一些虚拟的终端节点、交换机、路由器连接而成的一个网络仿真器,它采用轻量级的虚拟化技术使得系统可以和真实网络相媲美。 Mininet可以很方便地创建一个支持SDN的网络:host就像真实的电脑一样工作&…

【Mininet】基础篇:Mininet创建简单网络拓扑及简单网络拓扑脚本编写

大家好,我是文思月! 每文一言:不要假装努力,结果不会陪你演戏! 本篇文章: 使用Mininet创建简单的网络拓扑,并创建网络拓扑脚本。 正文如下: 1. 最小网络拓朴 创建最小的网络拓扑…

【Mininet】安装篇:安装Mininet

大家好,我是皮皮猫吖! 每文一言:改变你的生活,现在或者从不 本篇文章: 本文是安装 mininet 的简单过程。 正文如下: 一、Mininet的安装 第一步:安装git apt install git 第二步&#xff…

mininet基础

mininet介绍 一、Mininet是什么 Mininet是由斯坦福大学基于Linux Container架构开发的一个进程虚拟化网络仿真工具,可以创建一个包含主机,交换机,控制器和链路的虚拟网络,其交换机支持OpenFlow,具备高度灵活的自定义…

第一讲——mininet的安装和使用

第一讲——mininet的安装和使用 1.调出字符界面。 2.进入root。 3.直接安装git,发现无法安装,原因是没有安装源。 4.更新安装源。 5.再次安装git,发现可以安装。 6.下载mininet。 7.安装mininet。 8.查看mininet安装情况和创建线性网络拓扑。…

距离(distance)算法小结

18种和“距离(distance)”、“相似度(similarity)”相关的量的小结 在计算机人工智能领域,距离(distance)、相似度(similarity)是经常出现的基本概念,它们在自然语言处理、计算机视觉等子领域有重要的应用,而这些概念又大多源于数学领域的度…

概率论 联合分布

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我之前一直专注于单一的随机变量及其概率分布。我们自然的会想将以前的结论推广到多个随机变量。联合分布(joint distribution)描述了多个随机变…

推荐 :联合概率和条件概率的区别和联系

联合概率P(A∩B) 两个事件一起(或依次)发生的概率。 例如:掷硬币的概率是 ⁄₂ 50%,翻转 2 个公平硬币的概率是 ⁄₂ ⁄₂ ⁄₄ 25%(这也可以理解为 50% 的 50%) P(A ∩ B) P(A) ⋅ P(B) 对于 2 个硬币…

【概率论】五分钟搞懂概率论联合密度函数与概率之间的计算

【例题】 设X和Y的联合密度函数为&#xff1a; f ( x , y ) { 2 0 < x < ∞ , 0 < y < ∞ 0 其 他 区 域 f(x,y)\left\{ \begin{array}{rcl} 2 && {0<x<\infty,0<y<\infty}\\ 0 && 其他区域 \end{array} \right. f(x,y){20​​0<…

python3 联合概率,边缘概率,贝叶斯定理(含详细推导)

1、贝叶斯原理 假设有两个随机变量X&#xff1b;Y&#xff08;下方左图&#xff09;&#xff1b; X的取值为 {}&#xff0c;其中 i1,...,M(M个特征&#xff09;&#xff1b; Y的取值为 {}&#xff0c;&#xff0c;其中 j1,...,L&#xff08;L个类&#xff09;&#xff0c;如…

条件概率、联合概率

条件概率的条件已经发生了&#xff0c;而联合概率的两个事件不一定发生。 图中可以看出 等式左边是联合概率&#xff0c;联合概率是指两个事件同时发生的概率&#xff0c;与条件概率不是一回事&#xff0c;条件概率的条件已经发生。 万普尼克理论&#xff1a;

贝叶斯网络的联合概率到底有什么用:贝叶斯理论(4)

上篇博客我们描述了如何计算贝叶斯网络联合概率的方法。这里再举一个例子&#xff1a; 上图这个例子中&#xff0c;事件a导致了b和c的发生。假设a有、、三种状态&#xff0c;b有、两种状态&#xff0c;c有、&#xff0c;a的每个状态的先验概率是&#xff1a; 0.30.50.2 b对a的…

机器学习之条件概率,联合概率,贝叶斯定理详解

文章目录 前言边缘概率联合概率定义分析 条件概率定义问条件概率能举个例子吗问条件概率在图中表示的是哪一块呢&#xff1f;条件概率习题&#xff1a; 全概率定义推导全概率习题 贝叶斯公式定义推导贝叶斯定理习题 结束语 前言 条件概率&#xff0c;边缘概率&#xff0c;联合…

概率论中的联合概率理解

最近在看信息论中的概念&#xff0c;对于联合熵的概念比较混乱&#xff0c;从而引发出对联合概率的思考&#xff0c; 当提到联合概率的时候大家都会看到这么一个图&#xff1a; 学习概率论是这样理解还可以&#xff0c;还能解释条件概率&#xff0c;总体挺好的&#xff1b; 但…

5分钟理解边缘概率,联合概率,条件概率,随机事件独立,随机事件依赖

在隐马尔可夫&#xff08;HMM&#xff09;和条件随机场&#xff08;CRF&#xff09;中有很多概率计算问题&#xff0c;要想理解他们&#xff0c;必须先把概率的一些概念及计算公式搞清楚。本文旨在用形象的图形和具体事例来讲解这些概念和公式&#xff0c;以帮助理解。这里讲的…