Reputation: 1
I am trying to monitor a simple network using NetFlow Analyzer/J-Flow. I have a topology made with mininet-wifi and I am trying to monitor it but when I try to export my flow (by first writing my router's ip address) it just says 'ping test failed'.
Here is my mininet-wifi topology for reference :
from mininet.net import Mininet
from mininet.node import Controller, OVSKernelSwitch, Host
from mininet.log import setLogLevel, info
from mn_wifi.cli import CLI
from mn_wifi.net import Mininet_wifi
def create_network():
net = Mininet_wifi(controller=Controller, switch=OVSKernelSwitch)
info('Adding routers...\n')
router1 = net.addHost('router1', ip='192.168.1.1/24', cls=Host)
router2 = net.addHost('router2', ip='192.168.2.1/24', cls=Host)
info('Adding switches...\n')
switch1 = net.addSwitch('switch1')
switch2 = net.addSwitch('switch2')
info('Adding access points...\n')
ap1 = net.addAccessPoint('ap1', ssid='gaziag1', mode='g', channel='1', position='0,10,0', range=20)
ap2 = net.addAccessPoint('ap2', ssid='gaziag2', mode='g', channel='1', position='20,20,0', range=20)
ap3 = net.addAccessPoint('ap3', ssid='gaziag3', mode='g', channel='1', position='50,10,0', range=20)
info('Adding stations...\n')
sta1 = net.addStation('sta1', ip='192.168.1.2/24', position='0,0,0', range=10)
sta2 = net.addStation('sta2', ip='192.168.2.2/24', position='30,20,0', range=10)
sta3 = net.addStation('sta3', ip='192.168.2.3/24', position='50,0,0', range=10)
info('Adding controller...\n')
c1 = net.addController('c1')
net.configureWifiNodes()
info('Creating links...\n')
net.addLink(ap1, switch1)
net.addLink(ap2, switch1)
net.addLink(ap2, switch2)
net.addLink(ap3, switch2)
net.addLink(router1, switch1)
net.addLink(router2, switch2)
net.addLink(router1, router2)
info("* Starting network\n")
net.build()
net.start()
# Enable IP forwarding on routers
router1.cmd('sysctl -w net.ipv4.ip_forward=1')
router2.cmd('sysctl -w net.ipv4.ip_forward=1')
# Configure static routes
router1.cmd('ip route add 192.168.2.0/24 via 192.168.1.1')
router2.cmd('ip route add 192.168.1.0/24 via 192.168.2.1')
info("* Setting up JFlow\n")
ap1.cmd('ovs-vsctl -- --id=@sflow create sflow agent=ap1-wlan0 target="10.0.0.100:9996" sampling=10 polling=20 -- set bridge ap1 sflow=@sflow')
ap2.cmd('ovs-vsctl -- --id=@sflow create sflow agent=ap2-wlan0 target="10.0.0.100:9996" sampling=10 polling=20 -- set bridge ap2 sflow=@sflow')
ap3.cmd('ovs-vsctl -- --id=@sflow create sflow agent=ap3-wlan0 target="10.0.0.100:9996" sampling=10 polling=20 -- set bridge ap3 sflow=@sflow')
info("* Running CLI\n")
CLI(net)
info("* Stopping network\n")
net.stop()
if __name__ == '__main__':
setLogLevel('info')
create_network()
I am new to network creating/monitoring, I hope I could give enough information.
Thank you for your time.
Upvotes: 0
Views: 70