Tuesday, August 11, 2009

Zeroshell



Zeroshell is a Linux Distro for servers and embedded devices such as soekris, mini ITX, etc. It aims for providing LAN services with friendly configuration. Zeroshell itself is available in form of live CD, compact flash image, and VMWARE virtual machine. We can configure Zeroshell using web browser. It's still being developed until now, and the latest stable version is 1.0 beta 12.

Main features of Zeroshell are listed below : (taken from official zeroshell site)
  • Load balancing and failover of multiple internet connections
  • UMTS/HSDPA using 3G modems
  • RADIUS Server
  • Captive Portal to support web login over wireless and wired networks
  • QoS (Quality of Service)
  • HTTP Proxy Server
  • Wireless Access Point with multiple SSID and VLAN support
  • Host-to-lan VPN with L2TP/IPsec
  • Lan-to-lan VPN encapsulation
  • Router with static and dynamic routes
  • 802.1d bridge with Spanning Tree Protocol
  • 802.1Q Virtual LAN
  • Firewall Packet Filter and Stateful Packet Inspection (SPI)
  • Possible to reject or shape P2P file sharing traffic
  • TCP/UDP Port Forwarding (PAT) to create Virtual Servers
  • Multizone DNS server with automatic management of the Reverse Resolution in-addr.arpa
  • Multi subnet DHCP server
  • PPPoE client
  • Dynamic DNS client
  • NTP (Network Time Protocol) client and server
  • Syslog server
  • Kerberos 5 authentication
  • LDAP, NIS and RADIUS authorization
  • X509 certification authority
  • Unix and Windows Active Directory interoperability using LDAP and Kerberos 5 cross realm authentication
Zeroshell has been tested and known to work with these hardware: (taken from official zeroshell site)
  • Wireless Router Application Platform (WRAP)
  • ALIX.2* with 256MB of RAM, AMD Geode LX CPU 500MHz processor and MiniPCI expansion slots
  • Mini-ITX EPIA-SP8000E
  • Mini-ITX EPIA-SP13000
  • Soekris Net4801
  • Soekris Net5501
Another hardware to build UMTS/HSDPA routers: (taken from official zeroshell site)
  • Alix 6b2 embedded PC with 1 MiniPCI Express and 2 SIM slots
  • UMTS/HSDPA modems with MiniPCI Express interface: Novatel 5520 Mobile, Sierra Wireless MC8775
  • UMTS/HSDPA modems with USB interface: Huawei E220, Huawei E172, Huawei E169, Onda MT503HS, Sierra 595u, Huewei E160G, Vodafone K3565 3G USB Modem (UK)
  • Cellular phone with USB data cable: N7010

I had used Zeroshell to build a wireless network with captive portal and tunneling in Soekris 4801 hardware. It was very easy because I used GUI instead of CUI. There are many tutorials in the Internet and you can find it from any search engines you like.

-EC-

Sunday, July 19, 2009

Install Dynagen/Dynamips in Linux

Dynagen has been known for the best emulator for Cisco Devices. It uses dynamips for the server. We can practice the configuration using dynamips for Cisco router, switch, etc, just like we configure the real Cisco devices.
I used Ubuntu 9.04 Jaunty for the operating system. You can use other Linux distro that you like.

Requirements:
  • dynagen version 0.9.2 (you can check for the newest version in dynagen.org)
  • dynamips version 0.27 (you can check for the newest version in dynagen.org)
  • Cisco IOS image C7200 (you can google for it)
Installation:

1. Open terminal and log in as a root. Make a new folder/directory and move those files which you had downloaded to this folder (dynagen, dynamips, and image).

$ mkdir /opt/dynamips
$ cp / /opt/dynamips

2. Extract dynagen file to folder dynamips

$ tar zxvf dynagen-0.9.2.tar.gz

3. Change the permission for dynamips

$ chmod 755 /opt/dynamips/dynamips-0.2.7-RC3-x86.bin

4. Make link in sbin folder so we can execute dynagen and dynamips for the console window

$ ln -s /opt/dynamips/dynamips-0.2.7-RC3-x86.bin /usr/sbin/dynamips
$ ln -s /opt/dynamips/dynagen-0.9.2/dynagen /usr/sbin/dynagen

5. Make a lab config and put the image location file into it. For example, I use example lab that come with dynagen

$ nano /opt/dynamips/dynagen-0.9.2/sample_labs/simple1/simple1.net

Match the image with the one you'd downloaded

[[7200]]
#image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
# On Linux / Unix use forward slashes:
image = /opt/dynamips/c7200-xxx.bin

6. Run dynamips first

$ dynamips -H 7200 &

There should be a display like this:

Cisco Router Simulation Platform (version 0.2.7-RC2-x86)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Apr 27 2007 14:59:57

7. Open new console window, and run dynagen with the example lab before

$ dynagen /opt/dynamips/dynagen-0.9.2/sample_labs/simple1/simple1.net

If it is successful, there should be prompt sign: =>

8. Now, telnet the router or you can use putty (with IP address 127.0.0.1, assigned port in dynagen, and telnet protocol)

=> telnet R1

Now you can do some configuration to your router.

Note:
  1. some configurations might not work with dynagen.
  2. Find your idle PC in each router to lower your PC performance
  3. Don't start all your router simultaneously. Start them one by one

-EC-