from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import RemoteController
from mininet.cli import CLI
from mininet.link import TCLink

class MyTopo(Topo):
    def __init__(self):
        Topo.__init__(self)
        # Add hosts
        h1 = self.addHost('h1')
        h2 = self.addHost('h2')

        # Add routers
        r1 = self.addHost('r1')
        r2 = self.addHost('r2')
        r3 = self.addHost('r3')
        r4 = self.addHost('r4')

        # Add links
        self.addLink(h1, r1, intfName1='h1-eth0', intfName2='r1-eth0')
        self.addLink(h1, r2, intfName1='h1-eth1', intfName2='r2-eth0')
        self.addLink(h2, r3, intfName1='h2-eth0', intfName2='r3-eth0')
        self.addLink(h2, r4, intfName1='h2-eth1', intfName2='r4-eth0')
        self.addLink(r1, r2, intfName1='r1-eth1', intfName2='r2-eth1')
        self.addLink(r3, r4, intfName1='r3-eth1', intfName2='r4-eth1')

        # Configure routers
        r1.cmd('ifconfig r1-eth1 10.0.0.2/24')
        r1.cmd('ifconfig r1-eth0 up')
        r1.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward')
        r2.cmd('ifconfig r2-eth1 10.0.0.3/24')
        r2.cmd('ifconfig r2-eth0 up')
        r2.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward')
        r3.cmd('ifconfig r3-eth1 10.0.0.4/24')
        r3.cmd('ifconfig r3-eth0 up')
        r3.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward')
        r4.cmd('ifconfig r4-eth1 10.0.0.5/24')
        r4.cmd('ifconfig r4-eth0 up')
        r4.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward')

topo = MyTopo()
net = Mininet(topo=topo, link=TCLink)
net.start()
CLI(net)
net.stop()

在命令行中运行:sudo python topo.py即可创建拓扑。

写一个mininet的拓扑代码,包含两个主机,四个路由器,每个主机与两个路由器相连,路由器1和2相连,路由器3和4相连,路由器中配置转发规则,不使用远程控制器

原文地址: https://www.cveoy.top/t/topic/rG9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录