Note that all my projects tend to be technical projects which require programs to be written. I usually provide examples of similar code for students to base their work on, or help with the use of code libraries. However, complete non-programmers would usually struggle with my projects in general.
Linuxzoo is my virtual linux environment. It provides virtual computers to users, and these computers run on a virtual network. Right now, there is a basic statistic-based security system running in the network, plus a web proxy and some traffic shaping.
This project would examine LinuxZoo's security requirements, analyse the current security technologies, investigate better and newer approaches to security, propose updated systems, and see at least one of those implemented and evaluated within LinuxZoo. Ideally the resulting implementation would be proactive, detecting problems and throttling machines (or shutting them down) when problems arise.
Languages: iptables, tc, perl.
Dynamips is a processor emulator which mimics the hardware of a cisco router. You can load on an IOS, and you have a perfect(ish) emulator of a router or switch which runs in Linux. This could then be added to linuxzoo.net, allowing users to run a router in the same way they run a linux emulator. A tutorial could then be written to demonstrate the usefulness of such a device. Components should include
Languages: A little C, a little Perl, XML, and Cisco IOS.
The PIX firewall is a Cisco technology for providing firewall protection to a network. This is a hardware platform based on a standard PC architecture. The qemu emulator, which emulates PC hardware within linux, has been modified to run the PIX OS. This could then be added to linuxzoo.net, allowing users to run a PIX in the same way they run a linux emulator. A tutorial could then be written to demonstrate the usefulness of such a device. Components should include
Languages: linux admin, XML, a little Perl, and Cisco PIX.
My linuxzoo.net site gives the user their own virtual machine with a single ethernet port running IPv4. Looking to the future, I would like a way to allow users to learn about IPv6. This would include:
Languages: perl, xml
This project is to provide students which a visual tool which mimics the physical view of Cisco routers and switches. Cisco equipment sits in a rack, and has many network sockets for plugging and unplugging connections, along with different types of wires. A system which virtually supports wiring up different network configurations and topologies would be an excellent learning tool, especially if combined with a system which could check if the wires had been plugged into the right places!
Languages: flexible. But Javascript recommended.