Я хочу создать сеть с двумя маршрутизаторами, 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
1716467374
Anonymous
Я хочу создать сеть с двумя маршрутизаторами, 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()
Подробнее здесь: [url]https://stackoverflow.com/questions/78523100/mininet-how-i-solve-my-problem-that-pingall-work-with-two-routers[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия