写一个mininet的拓扑代码,包含两个主机,四个路由器,每个主机与两个路由器相连,路由器1和2相连,路由器3和4相连,路由器中配置转发规则,不使用远程控制器
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即可创建拓扑。
原文地址: https://www.cveoy.top/t/topic/rG9 著作权归作者所有。请勿转载和采集!