Я хочу создать сеть с двумя маршрутизаторами, 4 коммутаторами и множеством хостов, но мой маршрутизатор 1 не может пропинговать мой маршрутизатор 2. Это работает, только если я использую IP-адрес, а pingall не работает для всех хостов. Может ли кто-нибудь помочь мне?
Я использую пример минисети. ((h1-h3)-s1)-((h4-h7)-s2)-r1-r2-(s3-(h8-h10))-(s4-(h11-h14)).
Нет понять, в чем моя проблема, у меня есть ссылка от r0 до r1 и вперед = 1.
#!/usr/bin/env python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import Node
from mininet.log import setLogLevel, info
from mininet.cli import CLI
class LinuxRouter( Node ):
"A Node with IP forwarding enabled."
# pylint: disable=arguments-differ
def config( self, **params ):
super( LinuxRouter, self).config( **params )
# Enable forwarding on the router
self.cmd( 'sysctl net.ipv4.ip_forward=1' )
def terminate( self ):
self.cmd( 'sysctl net.ipv4.ip_forward=0' )
super( LinuxRouter, self ).terminate()
class NetworkTopo( Topo ):
"A LinuxRouter connecting three IP subnets"
# pylint: disable=arguments-differ
def build( self, **_opts ):
router1 = self.addNode( 'r0', cls=LinuxRouter, ip=None )
router2 = self.addNode( 'r1', cls=LinuxRouter, ip=None )
s1, s2, s3, s4 = [ self.addSwitch( s ) for s in ( 's1', 's2', 's3', 's4' ) ]
#add link switch to router and router to router
self.addLink( s1, router1, intfName2='r0-eth1',
params2={ 'ip' : '10.0.0.1/8' } ) # for clarity
self.addLink( s2, router1, intfName2='r0-eth2',
params2={ 'ip' : '11.0.0.1/8' } )
self.addLink( s3, router2, intfName2='r1-eth1',
params2={ 'ip' : '12.0.0.1/8' } )
self.addLink( s4, router2, intfName2='r1-eth2',
params2={ 'ip' : '13.0.0.1/8' } )
self.addLink( router1, router2,
intfName1='r0-eth3', params1={ 'ip' : '20.0.0.1/8' },
intfName2='r1-eth3', params2={ 'ip' : '20.0.0.2/8' } )
#für N1 create host
h1 = self.addHost( 'h1', ip='10.0.0.2/8',
defaultRoute='via 10.0.0.1' )
h2 = self.addHost( 'h2', ip='10.0.0.3/8',
defaultRoute='via 10.0.0.1' )
h3 = self.addHost( 'h3', ip='10.0.0.4/8',
defaultRoute='via 10.0.0.1' )
#für N2
h4 = self.addHost( 'h4', ip='11.0.0.2/8',
defaultRoute='via 11.0.0.1' )
h5 = self.addHost( 'h5', ip='11.0.0.3/8',
defaultRoute='via 11.0.0.1' )
h6 = self.addHost( 'h6', ip='11.0.0.4/8',
defaultRoute='via 11.0.0.1' )
h7 = self.addHost( 'h7', ip='11.0.0.5/8',
defaultRoute='via 11.0.0.1' )
#für N3
h8 = self.addHost( 'h8', ip='12.0.0.2/8',
defaultRoute='via 12.0.0.1' )
h9 = self.addHost( 'h9', ip='12.0.0.3/8',
defaultRoute='via 12.0.0.1' )
h10 = self.addHost( 'h10', ip='12.0.0.4/24',
defaultRoute='via 12.0.0.1' )
#Für N4
h11 = self.addHost( 'h11', ip='13.0.0.2/8',
defaultRoute='via 13.0.0.1' )
h12 = self.addHost( 'h12', ip='13.0.0.3/8',
defaultRoute='via 13.0.0.1' )
h13 = self.addHost( 'h13', ip='13.0.0.4/8',
defaultRoute='via 13.0.0.1' )
h14 = self.addHost( 'h14', ip='13.0.0.5/8',
defaultRoute='via 13.0.0.1' )
#add link switch to host
for h, s in [ (h1, s1), (h2, s1), (h3, s1),
(h4, s2), (h5, s2), (h6, s2), (h7, s2),
(h8, s3), (h9, s3), (h10, s3),
(h11, s4), (h12, s4), (h13, s4), (h14, s4)]:
self.addLink( h, s )
def run():
"Test linux router"
topo = NetworkTopo()
net = Mininet( topo=topo,
waitConnected=True ) # controller is used by s1-s3
net.start()
info( '*** Routing Table on Router:\n' )
info( net[ 'r0' ].cmdPrint( 'route' ) )
info( net[ 'r1' ].cmdPrint( 'route' ) )
CLI( net )
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
run()
Подробнее здесь: https://stackoverflow.com/questions/785 ... wo-routers
Mininet(), как мне решить проблему с работой pingall с двумя маршрутизаторами? ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Mininet(), как мне решить проблему с работой pingall с двумя маршрутизаторами?
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Пропускная способность Mininet не обновляется динамически через HTTP-запрос в Flask API
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка проверки связи Mininet: сеть недоступна в пользовательской топологии
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-