1 Software installation of the PCs

1.1 Installing Fedora Core 5

  1. Mark the PC you're installing as either PC1, PC2, PC3 or PC4 (use a post-it, sheet of paper, etc.). To ensure that we don't end up with odd numbers of PCs, please make the PCs in sets of four.
  2. Boot the PC from the installation CDs; insert CD1, then either use F12 to activate the boot manager (if present), or change the boot order in the BIOS;
  3. Select text installation type
    linux text;
    Note: the FC5 installer may or may not recognize your USB keyboard (especially if through the KVM). If you have problems, insert a PS2 keyboard.
  4. Skip the media check;
  5. Type OK;
    Choose English as the language;
    Choose a US keyboard;
  6. Choose Remove all partitions and create the default layout and confirm that you're sure;
  7. Review and modify the partition layout: No
  8. For the NICs deselect "Use DHCP" for both of them, then for eth0 use "Activate on boot", for eth1 do not activate on boot. For address use for eth0 and for eth1 where n is the number of the PC (e.g., PC2 has for eth0). Netmask is for all interfaces, all PCs.
  9. Delete the default gateway (don't put anything for DNS either).
  10. Manually enter PCn as the Hostname.
  11. Choose America/New York as timezone
  12. Use rootme for root password.
  13. For package selection, choose all four options (including "Customize software selection" and press OK.
  14. Select all packages except for:
  15. Press OK;
  16. Change the CDs as prompted, at the end press Enter and reboot.

1.2 Installation of additional packages

  1. Login as root and start X Windows:
  2. Add a terminal to the panel: go to Gnome Toolbar> Applications > Accessories > right click terminal and select "Add to panel".
  3. Plug into the Linksys box on eth0 (normally the 3com card that comes with the computer) and request an IP address:
    dhclient eth0
  4. Test Internet connectivity:
    ping www.yahoo.com. Debug if it doesn't work.
  5. Install additional packages:
    yum install xinetd emacs ncftp ckermit ttcp tftp telnet-server tftp-server ethereal-gnome net-snmp net-snmp-utils
  6. Get the extra packages:
    cd /root
    wget "http://www4.ncsu.edu/~mlsichit/470/internetLabFiles.tgz"

    For your convenience, also linked here if you read this on the lab PCs.
  7. Extract the packages:
    tar xzvf internetLabFiles.tgz
  8. Install the new packages:
    cd /root/InternetLabFiles/labtools

    Confirm that you want to proceed and do not reboot at the end.
  9. Install the configuration files:
    cd /root/InternetLabFiles/hosts

    Choose the correct PC number n and this time do reboot at the end.

1.3 Additional Configuration

  1. Fix the eth0/eth1 problem: by default, when Linux boots, one of the two Ethernet interfaces will become eth0 and one will become eth1. Unfortunately, the choice is mostly random. The goal of this step is to fix this problem. Begin by typing:
    ifconfig -a
    The MAC address of one of the two interfaces will be starting with "00:0E:0C". This corresponds to the "Intel Pro" interface that is installed as an external card on a PCI interface (says "Intel Pro" on it). The goal is to configure this interface such that this ends up being eth1.

    To force the configuration you need to edit the following two files:
    For eth0: /etc/sysconfig/network-scripts/ifcfg-eth0
    For eth1: /etc/sysconfig/network-scripts/ifcfg-eth1

    You will have to assign the hardware address and name in this file like this: HWADRR = . With this assigned the MAC address will always be tied to that interface. Occasionally eth1 may be called dev####, this can easily be fixed by editing the file "/etc/mactab" and assigning eth0 and eth1 that appropriate mac addresses. This way if nameif is called the interfaces will be named as desired.

  2. Fix the vsftpd configuration:
  3. Start: system-config-securitylevel (or go to Gnome Toolbar> System> Administration> Security Level and Firewall) and disable both the firewall (on the first tab) and SELinux (secure Linux on the second tab).
  4. Disable the Firewall: system-config-services or go to Gnome Toolbar> System > Administration > Server Settings > Services
    select vsftp, press the start button
    check the checkbox next to vsftp
  5. Enable the FTP server:
    /etc/init.d/vsftpd start
  6. Check that eth1 comes up: ifconfig eth1 up. If it doesn't, debug.

2 Tests

After the pods are assembled all equipment must pass some basic tests:

2.1 PC Tests

  1. Reboot, login as root, start X Windows.
  2. Plug both interfaces of all PCs in the same hub. In a terminal of PC1 type: ping -b
    There should be 4 replies (3 DUP!). Then ping -b See if any are missing and debug.
  3. In a terminal type iptables. It should return no more than two lines for each of the three chains, on the first line the policy is "ACCEPT" for each chain.
  4. Telnet server: telnet from another PC (once connected to the hub): telnet
    and login as root.
  5. FTP server: ftp from another PC (once connected to the hub): ftp
    and login as root.

2.2 Hub Tests

Connect the four eth0 of the PCs in the first four slots of the hub. On PC1 type:
ping -b
You should get four replies for each request. If not, mark the ports that do not work and make sure that at least four ports work on the hub.

2.3 Router Tests

Make sure that the router boots. Connect to it via kermit:

PC1% kermit
[/root]C-kermit> set line /dev/ttyS0 (or /dev/ttyS1)
[/root]C-kermit> set carrier-watch off
[/root]C-kermit> connect

Type "Enter" once; once it boots it will ask you if you want to go through the initial setup. Say no. Then check that the two Ethernet interfaces work:

Router> enable
Router# configure terminal
Router(config)# no ip routing
Router(config)# ip routing
Router(config)# interface Ethernet0
Router(config-if)# no shutdown
Router(config-if)# ip address
Router(config-if)# interface Ethernet1
Router(config-if)# no shutdown
Router(config-if)# ip address

where n is the router number. Connect the two ethernet interfaces to a hub and try to ping them from the PC with a proper ip address (i.e., 10.0.1.x). If it does not work, report.

Check that the IOS version is greater than 12.1. If I recall exactly, like this:
Router(config)# show version