Some hints: On the book's official webpage it is written how to work with the USB device and which section is replaced by that (here)
ERRATA
Page 113:; "clear arp" should be "clear arp-cache"
Page 144: In Table 4.2, "Router1" should be "Router4"
Page 162: In Step 1, the prompt should be "#Router1(config)".
Page 163: In Step 1 of Ex. 7(a), a floppy symbol should be added to the margin. ;
Page 221: In Step e), it should say "PC2% ifconfig Bridge1 up" instead of "PC1% ....".
Page 257: In; Figure 7.1,; the private network interface of Router2; should be labeled with IP address "10.0.1.1/24" (instead of 10.0.0.1/24).
Page 302: In the second box, the prompt "Router1#" in the show host command should be deleted.
Page 316: In Table 9.1, the heading in the third column,; "Ethernet Interface eth0" should be "Ethernet Interface eth1".
Page 327: In Step 5, "PC1%snmpset ... -C ... " should be "PC1%snmpset ... -c ... "
Page 336: In Step 3, ;"PC1%snmpwalk ... -vi ...." should be "PC1%snmpwalk ... -v1..."
Lab 2 - 2008-11-28
Exercise A: The ARP Cache seems to be empty all the time. We should have a look on that, arp -a returns only the hosts MAC and Address
Lab 3 - 2008-12-01
- SDM on routers is deleted, password is lab.
Topic: Static Routing
Time Requirement: 15-20 hrs
Problems / Comments:
Configuring the cisco router terminal:
1) Instead of program called Kermit we use Minicom as cisco router configuration terminal.
2) Most of the IOS commands (cisco routing OS) works for Minicom but if you still have problems than use "?" for help.
3) While running IOS commands from the book please make sure the IOS mode that the commands needs to be ran in.
Command Sequence to make the machine operational for that lab:
The command sequence to use minicom is as follows:
$minicom -s Press A (to go to serial port setup) use /dev/ttyS0 Press E (and change Bits to 9600 by pressing C) Press return and (again press return to go to main menu) Now select ``Save setup as dfl`` and than select ``Exit`` (not Exit from Minicom) When you see the screen that says ``Press CTRL -A Z for help`` just press return where it will ask you to enter the username IMP: The default one-time only username is ``cisco`` and passwd is also ``cisco`` After logging in first setup the new username as follows.. Go into configuration mode by $config (config)# username <yourusername> privilege 15 secret 0 <yourpassword> (for simplicity please use easy usernames like: admin, test, etc. and same as their password) Now you can follow the command as given in the book to configure the router interface.
Feedback form:
Lab 4 - 2008-12-02
Topic: Dynamic Routing Protocols (RIP, OSPF and BGP)
Time Requirement: 15 hrs
Problems / Comments:
1) In this lab we are interested in 4 daemons (Zebra, RIP, OSPF and BGP). Previously they were all covered in the Zebra routing daemon package which is now replaced by its successor Quagga routing daemon and it is not installed by default.
2) The Quagga.deb package is already in your USB stick (if not then ask your TA)and follow the instructions as given below
Install the Quagga routing daemon package quagga_x.xx.deb package by.. $dpkg -i quagga_x.xx.deb Now $gedit /etc/quagga/daemons You will see.. zebra=no bgpd=no ospfd=no ospf6d=no ripd=no ripngd=no
Now you have to activate the daemons that you will need for this lab.. zebra=yes bgpd=yes ospfd=yes ospf6d=no ripd=yes ripngd=no Save it. You will also need their configuration files, which you will get by.. $cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf $cp /usr/share/doc/quagga/examples/ospfd.conf.sample /etc/quagga/ospfd.conf $cp /usr/share/doc/quagga/examples/ripd.conf.sample /etc/quagga/ripd.conf $cp /usr/share/doc/quagga/examples/bgpd.conf.sample /etc/quagga/bgpd.conf
Give user and group ownership to respectively quagga and quaggavty to the files inside the /etc/quagga directory.. $chown quagga.quaggavty /etc/quagga/*.conf $chmod 640 /etc/quagga/*.conf
You also need to modify /etc/quagga/debian.conf to make it listen to all interfaces, by default it listens to local interface (127.0.0.1) $gedit /etc/quagga/debian.conf It looks like.. vtysh_enable=yes zebra_options=" -–daemon -A 127.0.0.1" bgpd_options=" -–daemon -A 127.0.0.1" ospfd_options=" -–daemon -A 127.0.0.1" ospf6d_options=" -–daemon -A 127.0.0.1" ripd_options=" -–daemon -A 127.0.0.1" ripngd_options=" -–daemon -A 127.0.0.1" isisd_options=" -–daemon -A 127.0.0.1"
Now to make it listen to all interfaces, just delete "-A 127.0.0.1" part. The debian.conf file should look like.. vtysh_enable=yes zebra_options=" -–daemon " bgpd_options=" -–daemon " ospfd_options=" -–daemon " ospf6d_options=" -–daemon " ripd_options=" -–daemon " ripngd_options=" -–daemon " isisd_options=" -–daemon "
Now just restart the Quagga daemon by.. $/etc/init.d/quagga restart
The output should be.. Stopping Quagga daemons (prio:0): ospfd zebra (bgpd) (ripd) (ripngd) (ospf6d) (isisd). Removing all routes made by zebra. Nothing to flush. Loading capability module if not yet done. Starting Quagga daemons (prio:10): zebra ospfd ripd bgpd.
To further verify if required daemons are running.. $ps -ef | grep quagga The output should be.. UID PID PPID C STIME TTY TIME CMD quagga xxxx 1 0 22:25 ? 00:00:00 /usr/lib/quagga/zebra -–daemon quagga xxxx 1 0 22:25 ? 00:00:00 /usr/lib/quagga/ospfd -–daemon quagga xxxx 1 0 22:25 ? 00:00:00 /usr/lib/quagga/ripd -–daemon quagga xxxx 1 0 22:25 ? 00:00:00 /usr/lib/quagga/bgpd -–daemon
Now for sure quagga is running.
To stop quagga daemon.. $/etc/init.d/quagga stop
3) When you telnet your localhost..
(for example RIP) $telnet localhost 2602 The password is not of your current user...but it is of Quagga user which is in /etc/quagga/zebra.conf file. By default it password is: zebra
Nikk: While testing BGP scenario it turned out that the protocol was not supported by current Cisco 2800 router IOS image.
The message is (Protocol not in this image). Current IOS image version is 12.4(13)T IP-BASE. However Enterprise-BASE and Service-BASE versions supported BGP. Download of these IOS image needs cisco login??
Command Sequence to make the machine operational for that lab:
Feedback form:
Lab 5 - 2008-12-03
Topic: Transport Layer Protocols: UDP and TCP
Time Requirement:
Problems / Comments:
Nikk: There is a problem with new ubuntu live cd as it resets interfaces to the default address 10.0.1.11/24 after every time plug in/out the cables. NetworkManger reconfigures adapters by default => don't start it. Ralf can you look into it?
Nikk: Cisco routers does not seems to take the regular ethernet cables as replacement for cross-over ethernet cables. Ralf can you look into it also? Nevertheless cross-over cable scenarios is needed only in one last part8 of this lab.
1) While transmitting data using command..
$ttcp -ts -l1024 -n10 -p4444
will not work for ports below 5000 as they are not valid ports.
2) In the book the file transfer for FTP works fine but there is a problem with TFTP. The book just creates a directory tftpboot in /(root) but there already exist (by default) a tftpboot directory in /var/lib/tftpboot. And when you run tftp commands for file transfer you need to have your file in /var/lib/tftpboot and not in /tftpboot. The default directory of tftp can be found in /etc/inetd.conf just try..
$grep tftp /etc/inetd.conf
3) While configuring the Serial Interfaces of our Cisco router, the two interface numbers are 0/3/0 and 0/3/1 (in the book its 1/0 and 1/1...which obviously wont work). So the IOS command in config-mode will be..
user(config)#interface serial 0/3/0
you can also see the serial interface and fast ethernet interface numbers by..
user#show interfaces
4) To view TCP data transfer graphs in Wireshark, go to Statistic Tab and find TCP Stream Graph.
Command Sequence to make the machine operational for that lab:
Feedback form:
Lab 6 - 2008-12-04
Topic: LAN Switching
Time Requirement:
Problems / Comments:
Nikk: The book assumes gbrctl tool as a preconfigured bridging tool which is only available for redhat linux. For ubuntu brctl is available but it is not graphical tool. Book contains bridging instructions only for a graphical tool (gbrctl). How shld we proceed??
Command Sequence to make the machine operational for that lab:
Feedback form:
Lab 7 - 2008-12-05
Topic: NAT and DHCP
Time Requirement:
Problems / Comments:
1) How to telnet a cisco router?
go to config mode.. user(config)#line vty 0 4 user(config-line)#login user(config-line)#Password YOURPASSWORD come out of the config mode and try seeing the set configuration by.. user#show running-config now try to telnet from the router to the required PC.
make sure your PC has username and password, keep it "ubuntu" for convenience sake. $sudo passwd ubuntu (enter new passwd)$YOURPASSWORD (re-enter new passwd)$YOURPASSWORD
2) To configure DHCP server, you need to configure file /etc/dhcp3/dhcpd.conf. Now follow the configuration settings as given in the book.
To start DHCP server..
$/etc/init.d/dhcp3-server start
Make sure its running by..
$ps -ef | grep dhcp
Command Sequence to make the machine operational for that lab:
Feedback form:
Lab 8 - 2008-12-08
Topic: The DNS
Time Requirement:
Problems / Comments:
In this lab you will need a package (which contains DNS conf file for all PCs) from http://www.tcpip-lab.net/links/conf/lab8.
Command Sequence to make the machine operational for that lab:
Feedback form:
Lab 9 - 2008-12-10 - Two days due to expected difficulty
Topic:
Time Requirement:
Problems / Comments:
Command Sequence to make the machine operational for that lab:
Feedback form:
Lab 10 - 2008-12-12 - Two days due to expected difficulty
Topic:
Time Requirement:
Problems / Comments:
Command Sequence to make the machine operational for that lab:
Feedback form:
LiveCD
Let's build our own:
- LiveCD with Ubuntu (works good!)
- The running and the OS version you want to build must be equal, otherwise SQUASHFS won't work.
- How to change the menu: LiveCDCustomizationFromScratch, Change bootlogo
- Main file is isolinux.cfg.
Special features
- Preconfigured IP addresses
- Running telnet server (works)
- Running FTP
- Zebra routing daemon
- (if it compiles without problems or a replacemnet (XORP/QUAGGA))
- Compiles on Ubuntu 8.10 with ./configure --disable-ipv6 (should we change to XORP and update the book?)
- Quagga is based on Zebra, and the executable files are still zebra and ripd, bgpd ... , maybe also the configuration is still the same.
- Disable password for telnet login (default is zebra)
- Should Quagga run at start up? Maybe conflict with manual routing.
- Bind DNS-Server (works)
- Wireshark (works)
- SNMP (server/client ?)
- Change disc menu (after grub, before boot), file isolinux.cfg
- Add user related to book.
- Link ethereal to wireshark
- Link nuttcp to ttcp
- gbrctl doesn't compile anymore, last update 2003, struct changed => use command line tool "brctl"
- Language: preconfigure english with german keyboard
- General LiveCD: Can it be automatically configured during boot.
- How knoppix it does: knoppix lang=us keyboard=de, xkeyboard=de [1]
- Use the Ubuntu menu, you can chose the language and keymap separatly.
- Remove Install button from Desktop.
- Add terminal program, the book use kermit (Provided by ckermit in Ubuntu) (alternative minicom)
Open Issues
- Monitor resolution: restart X server?
- Keyboard issue: gconftool-2 --recursive-unset /desktop/gnome/peripherals/keyboard ?
ToDo
- Make sure that every interface (PCs and Routers) is capable of detecting direct connections (crossover connections). Problem experienced with Router4(0/1) to PC4 (both non build-in interfaces)
Misc
Prelab Administrative Task
- Configure mirror port on switches. Done.
- Netgear switche: initial IP: 192.168.0.239, password: password
Initial router configuration
- Disable SDM if enabled, doesn't fit to the book
- Run initial setup.
- Disable loading tftp config. Go into configuration mode and type
no service config
- Proxy-arp needs to be disabled on all interfaces:
Router> enable
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface fast 0/0
Router(config-if)# no ip proxy-arp
- Make sure that you save the configuration as active the active startup configuration
Router# copy running-config startup-config
Configuring the telnet daemon:
- 1. switch to root by typing su in the console
- 2. edit (e.g. with emacs) /etc/inetd.conf and remove the #<off># part infront of telnetd (or telnetd-ssl)
- 3. after savin execute /usr/sbin/inetd
- 4. set a password for the knoppix user by passwd knoppix
now you should be able to login via telnet localhost as the user knoppix (you can also add more users or whatever)
Setting an IP-address:
/sbin/ifconfig eth1 inet 192.168.1.11 netmask 255.255.255.0
The Zebra routing daemon:
- Even after aptitude update not available for install
- Choose Quagga or Xorp as routing daemon then
- Nikk and everyone needs to look into the book, what operations zebra should do and whether this can be transferred to quagga / xorp
- This will require some testing...
- Nikk is testing all labs and evaluates the difficulty level, the time he required, the problems he encountered etc. Based on his experience we can change details and know better where students will have difficulties... It is important to also write down the feedback page, the additional configuration coding he had to do (really like "apt-get install zebra" or whatever) and save all the stuff to the provided USB stick.