verify the correct operation of the emulator core on debian:
files :
# ls /etc/core/ -l
total 12
-rw-r--r-- 1 root root 1419 Aug 23 18:30 core.conf
-rw-r--r-- 1 root root 1094 Oct 30 12:03 perflogserver.conf
-rw-r--r-- 1 root root 1569 Nov 30 2012 xen.conf
# ls /etc/quagga/ -l
total 8
lrwxrwxrwx 1 root root 33 Jan 17 11:15 babeld.conf -> /usr/local/etc/quagga/babeld.conf
lrwxrwxrwx 1 root root 31 Jan 17 11:15 bgpd.conf -> /usr/local/etc/quagga/bgpd.conf
-rw-r--r-- 1 root root 998 Jan 17 10:59 daemons
-rw-r--r-- 1 root root 945 Nov 26 01:32 debian.conf
lrwxrwxrwx 1 root root 32 Jan 17 11:15 isisd.conf -> /usr/local/etc/quagga/isisd.conf
lrwxrwxrwx 1 root root 33 Jan 17 11:15 ospf6d.conf -> /usr/local/etc/quagga/ospf6d.conf
lrwxrwxrwx 1 root root 32 Jan 17 11:15 ospfd.conf -> /usr/local/etc/quagga/ospfd.conf
lrwxrwxrwx 1 root root 33 Jan 16 21:23 Quagga.conf -> /usr/local/etc/quagga/Quagga.conf
lrwxrwxrwx 1 root root 31 Jan 17 11:15 ripd.conf -> /usr/local/etc/quagga/ripd.conf
lrwxrwxrwx 1 root root 33 Jan 17 11:15 ripngd.conf -> /usr/local/etc/quagga/ripngd.conf
lrwxrwxrwx 1 root root 32 Jan 16 21:23 vtysh.conf -> /usr/local/etc/quagga/vtysh.conf
lrwxrwxrwx 1 root root 32 Jan 17 11:15 zebra.conf -> /usr/local/etc/quagga/zebra.conf
# ls -l /usr/local/etc/quagga/
total 40
-rw-r--r-- 1 root staff 655 Jan 17 11:12 babeld.conf
-rw-r--r-- 1 root staff 2801 Jan 17 11:12 bgpd.conf
-rw-r--r-- 1 root staff 805 Jan 17 11:12 isisd.conf
-rw-r--r-- 1 root staff 1110 Jan 17 11:12 ospf6d.conf
-rw-r--r-- 1 root staff 182 Jan 17 11:12 ospfd.conf
-rw-r--r-- 1 root staff 39 Jan 17 11:19 Quagga.conf
-rw-r--r-- 1 root staff 422 Jan 17 11:12 ripd.conf
-rw-r--r-- 1 root staff 390 Jan 17 11:12 ripngd.conf
-rw-r--r-- 1 root staff 126 Jan 17 11:12 vtysh.conf
-rw-r--r-- 1 root staff 385 Jan 17 11:18 zebra.conf
here you find some exemples files of configuration
# ls /usr/share/core/icons/
normal svg tiny
# ls /usr/share/doc/core-network
core-network/ core-network-daemon/ core-network-gui/
# ls /usr/share/doc/core-network-gui/examples/configs/sample*
/usr/share/doc/core-network-gui/examples/configs/sample10-kitchen-sink.imn
/usr/share/doc/core-network-gui/examples/configs/sample1-bg.gif
/usr/share/doc/core-network-gui/examples/configs/sample1.imn
/usr/share/doc/core-network-gui/examples/configs/sample1.scen
/usr/share/doc/core-network-gui/examples/configs/sample2-ssh.imn
/usr/share/doc/core-network-gui/examples/configs/sample3-bgp.imn
/usr/share/doc/core-network-gui/examples/configs/sample4-bg.jpg
/usr/share/doc/core-network-gui/examples/configs/sample4-nrlsmf.imn
/usr/share/doc/core-network-gui/examples/configs/sample4.scen
/usr/share/doc/core-network-gui/examples/configs/sample5-mgen.imn
/usr/share/doc/core-network-gui/examples/configs/sample6-emane-rfpipe.imn
/usr/share/doc/core-network-gui/examples/configs/sample7-emane-ieee80211abg.imn
/usr/share/doc/core-network-gui/examples/configs/sample8-ipsec-service.imn
/usr/share/doc/core-network-gui/examples/configs/sample9-vpn.imn
ls /usr/share/doc/quagga/examples/
babeld.conf.sample bgpd.conf.sample2 ospf6d.conf.sample ripd.conf.sample vtysh.conf.sample
bgpd.conf.sample isisd.conf.sample ospfd.conf.sample ripngd.conf.sample zebra.conf.sample
services to start:
/etc/init.d/core-daemon start
/etc/init.d/quagga start
process:
4937 ? Sl 0:00 /usr/bin/python /usr/sbin/core-daemon -d
4959 ? Ss 0:00 /usr/lib/quagga/zebra --daemon -A 127.0.0.1
4963 ? Ss 0:00 /usr/lib/quagga/bgpd --daemon -A 127.0.0.1
4967 ? Ss 0:00 /usr/lib/quagga/ripd --daemon -A 127.0.0.1
4971 ? Ss 0:00 /usr/lib/quagga/ripngd --daemon -A ::1
4975 ? Ss 0:00 /usr/lib/quagga/ospfd --daemon -A 127.0.0.1
4979 ? Ss 0:00 /usr/lib/quagga/ospf6d --daemon -A ::1
4983 ? Ss 0:00 /usr/lib/quagga/isisd --daemon -A 127.0.0.1
4987 ? Ss 0:00 /usr/lib/quagga/babeld --daemon -A 127.0.0.1
ports :
tcp 0 0 127.0.0.1:2601 0.0.0.0:* LISTEN 120 18033 4959/zebra
tcp 0 0 127.0.0.1:2602 0.0.0.0:* LISTEN 120 18045 4967/ripd
tcp 0 0 127.0.0.1:2604 0.0.0.0:* LISTEN 120 18057 4975/ospfd
tcp 0 0 127.0.0.1:2605 0.0.0.0:* LISTEN 120 18038 4963/bgpd
tcp 0 0 127.0.0.1:2608 0.0.0.0:* LISTEN 120 16744 4983/isisd
tcp 0 0 127.0.0.1:2609 0.0.0.0:* LISTEN 120 18069 4987/babeld
udp 0 0 127.0.0.1:4038 0.0.0.0:* 0 50773 4937/python
tcp 0 0 127.0.0.1:4038 0.0.0.0:* LISTEN 0 50768 4937/python
logs:
ls -l /var/log/core-daemon.log
-rw-r--r-- 1 root root 68435 Jan 22 10:37 /var/log/core-daemon.log
ls -l /var/log/quagga/
-rw-r----- 1 quagga quaggavty 0 Jan 22 09:31 zebra.log
/var/log/syslog
in the /home of user start core, you can customize default parameters:
> ls .core/ -l
total 28
drwxr-xr-x 2 leopoldo leopoldo 4096 Jan 20 13:47 configs
drwxr-xr-x 2 leopoldo leopoldo 4096 Jan 9 14:23 myservices
-rw-r--r-- 1 leopoldo leopoldo 754 Jan 16 22:03 nodes.conf
-rw-r--r-- 1 leopoldo leopoldo 362 Jan 20 11:29 plugins.conf
-rw-r--r-- 1 leopoldo leopoldo 887 Jan 20 15:35 prefs.conf
-rw-r--r-- 1 leopoldo leopoldo 46 Jan 9 14:23 servers.conf
-rw-r--r-- 1 leopoldo leopoldo 578 Jan 9 14:23 widgets.conf
start core network emulator and add a router node fram barr on left, click left to add router
click right on node, configure, button services, click on ip_froward modify line as show below and click on ssh to enable it
click rigth on router copy and paste anothers routers
now we add the connection among hosts, pick line from barr on left
click on host to another host. Core adds automaic ip address by default files:
starts in running mode, start shell click right on node, shell window, vtysh, push q to get line cmd
n1# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_req=1 ttl=64 time=0.060 ms
64 bytes from 10.0.0.2: icmp_req=2 ttl=64 time=0.042 ms
64 bytes from 10.0.0.2: icmp_req=3 ttl=64 time=0.063 ms
64 bytes from 10.0.0.2: icmp_req=4 ttl=64 time=0.069 ms
what core virtualizes?
are virtualized our host process that quagga
6191 ? S 0:00 /usr/sbin/vnoded -v -c
/tmp/pycore.10017/n1 -l /tmp/pycore.10017/n1.log -p
/tmp/pycore.10017/n1.pid -C /tm
6317 ? Ss 0:00 \_ /usr/lib/quagga/zebra -u root -g root -d
6370 ? Ss 0:00 \_ /usr/lib/quagga/ospf6d -u root -g root -d
6371 ? Ss 0:00 \_ /usr/lib/quagga/ospfd -u root -g root -d
6381 ? Ss 0:00 \_ /usr/sbin/sshd -f /etc/ssh/sshd_config
6394 pts/4 Ss+ 0:00 \_ vtysh
6201
? S 0:00 /usr/sbin/vnoded -v -c /tmp/pycore.10017/n2 -l
/tmp/pycore.10017/n2.log -p /tmp/pycore.10017/n2.pid -C /tm
6360 ? Ss 0:00 \_ /usr/lib/quagga/zebra -u root -g root -d
6375 ? Ss 0:00 \_ /usr/lib/quagga/ospf6d -u root -g root -d
6376 ? Ss 0:00 \_ /usr/lib/quagga/ospfd -u root -g root -d
6380 ? Ss 0:00 \_ /usr/sbin/sshd -f /etc/ssh/sshd_config
and are created some files under /tmp. they are ours hosts
root@debian8:~#
# ls -l /tmp/pycore.10017/
total 80
srw-rw-rw- 1 root root 0 Jan 22 11:43 n1
drwxrwxrwx 8 root root 4096 Jan 22 11:43 n1.conf
-rw-r--r-- 1 root root 17358 Jan 22 11:48 n1.log
-rw-rw-rw- 1 root root 5 Jan 22 11:43 n1.pid
-rw-r--r-- 1 leopoldo leopoldo 11 Jan 22 11:43 n1.xy
srw-rw-rw- 1 root root 0 Jan 22 11:43 n2
drwxrwxrwx 8 root root 4096 Jan 22 11:43 n2.conf
-rw-r--r-- 1 root root 17546 Jan 22 11:49 n2.log
-rw-rw-rw- 1 root root 5 Jan 22 11:43 n2.pid
-rw-r--r-- 1 leopoldo leopoldo 11 Jan 22 11:43 n2.xy
-rw-rw-rw- 1 root root 137 Jan 22 11:43 nodes
-rw-rw-rw- 1 root root 13 Jan 22 11:43 servers
-rw-rw-rw- 1 root root 10 Jan 22 11:43 state
-rw-r--r-- 1 leopoldo leopoldo 2005 Jan 22 11:43 thumb.jpg
here one node:
# file /tmp/pycore.10017/n2*
/tmp/pycore.10017/n2: socket
/tmp/pycore.10017/n2.conf: directory
/tmp/pycore.10017/n2.log: ASCII text
/tmp/pycore.10017/n2.pid: ASCII text
/tmp/pycore.10017/n2.xy: ASCII text
# ls -l /tmp/pycore.10017/n2.conf
total 36
drwxrwxrwx 2 root root 4096 Jan 22 11:43 etc.ssh
-rw-r--r-- 1 root root 290 Jan 22 11:43 ipforward.sh
-rw-r--r-- 1 root root 2507 Jan 22 11:43 quaggaboot.sh
-rw-r--r-- 1 root root 234 Jan 22 11:43 startsshd.sh
drwxrwxrwx 2 root root 4096 Jan 22 11:43 usr.local.etc.quagga
drwxrwxrwx 2 root root 4096 Jan 22 11:43 var.log
drwxrwxrwx 5 root root 4096 Jan 22 11:43 var.run
drwxrwxrwx 2 root root 4096 Jan 22 11:43 var.run.quagga
drw-r-xr-x 2 root root 4096 Jan 22 11:43 var.run.sshd
from menù widgets we can see active process:
from shell:
root@n1:/tmp/pycore.10017/n1.conf#
# ps fax
PID TTY STAT TIME COMMAND
1 ? S 0:00 /usr/sbin/vnoded -v -c /tmp/pycore.10017/n1 -l /tmp/p
52 ? Ss 0:00 /usr/lib/quagga/zebra -u root -g root -d
60 ? Ss 0:00 /usr/lib/quagga/ospf6d -u root -g root -d
61 ? Ss 0:00 /usr/lib/quagga/ospfd -u root -g root -d
65 ? Ss 0:00 /usr/sbin/sshd -f /etc/ssh/sshd_config
88 pts/4 Ss 0:00 /bin/bash
we add somes nodes pc from barr on left. Activate ssh like this
from menù widgets we can see routing:
from shell:
Hello, this is Quagga (version 0.99.22.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
n2# sh ip route
O>* 10.0.0.0/24 [110/20] via 10.0.1.1, eth0, 00:06:35
O 10.0.1.0/24 [110/10] is directly connected, eth0, 00:07:30
C>* 10.0.1.0/24 is directly connected, eth0
O 10.0.2.0/24 [110/10] is directly connected, eth1, 00:07:30
C>* 10.0.2.0/24 is directly connected, eth1
O>* 10.0.3.0/24 [110/20] via 10.0.2.2, eth1, 00:06:40
C>* 127.0.0.0/8 is directly connected, lo
we can connect with ssh:
root@n4:~#
# ip a
172: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
175: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:00:00:aa:00:00 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.20/24 scope global eth0
if we get somes errors, reset the file
:>.ssh/known_hosts
under the user's home who started Core