NZ-Wireless Linux Access Point HOWTO

Pre-Release! Some sections incomplete.

Simon Anderson

oob@sdf.lonestar.org

v0.1 2003-06-06

An Wireless Access Point is a Linux system capable of integrating with other Access Points in a wireless network to provide wireless connectivity between fixed nodes and roaming wireless clients. This HOWTO describes how to configure a suitable system.

This document is by no means definitive; it makes assumptions, it leaves out some details and some of what is presented here is specific to NZ-Wireless. That said, aspects of this document may prove useful as a general guide to building a Linux wireless Access Point for participants in other wireless community groups or individuals wishing to build a stand-alone Access Point.

In addition to my own research and experience I have drawn upon a number of different sources in creating this HOWTO, all of which should be attributed in the sections that they arise, as should links to more in-depth guides.

Table of Contents

1. Introduction
         1.1. Example diagrams
         1.2. Chapter descriptions
2. Hardware requirements
         2.1. Minimum hardware requirements
         2.2. Optional hardware extras
         2.3. Obtaining DNS & IP allocations
                    2.3.1 Create an account with NodeDB.com
                    2.3.2 Contact your wireless network administrator
         2.4. Necessary information about your network
3. Installing Redhat
         3.1. Overview of the Redhat installation process
         3.2. Step by Step guide to installing Redhat
         3.3. Turning off unnecessary services
         3.4. Reboot and test
4. Configuring HOSTAP
         4.1. Overview of HOSTAP
         4.2 Installing the kernel
                    4.2.1 Building a kernel with HOSTAP
                    4.2.2 Installing a pre-packaged kernel
         4.3. Configuring the kernel and the wireless interface
                    4.3.1 Loading the HOSTAP modules         
                    4.3.2 Configuring TCP/IP for the wireless interface
                    4.3.3 Configuring the 802.11b settings for the wireless interface
         4.4. Testing the wireless interface
                    4.4.1 Checking that an interrupt has been assigned
                    4.4.2 Checking that the wireless modules have loaded
                    4.4.3 Checking the 802.11b settings with iwconfig
                    4.4.4 Checking the TCP/IP settings with ifconfig
5. Configuring DHCPD
         5.1. Overview of DHCPD
         5.2. Example DHCPD configuration file
         5.3. Testing DHCPD
         5.4. Enabling DHCPD from startup
6. Configuring DNS
         6.1. Overview of NAMED
         6.2. Generating an RNDC key
         6.3. Example NAMED configuration file
         6.4. Example Zone files
         6.5. Configuring the Access Point to use local DNS
         6.6. Testing DNS
         6.7. Enabling DNS from startup
7. Configuring routing
         7.1. Overview of routing
         7.2. Configuring ZEBRA
         7.3. Configuring OSPFD
         7.4. Accessing the ZEBRA and OSPFD configuration interfaces
         7.5. Testing ZEBRA and OSPFD
         7.6. Enabling ZEBRA and OSPFD from startup
8. Configuring Firewalling
         8.1. Overview of firewalling
         8.2. Example IPTABLES configuration file
         8.3. Testing IPTABLES
                    8.3.1 Starting IPTABLES manually
                    8.3.2 Checking that the IPTABLES modules have loaded
                    8.3.3 Using the IPTABLES userspace command
                    8.3.4 Other methods of testing
         8.4. Enabling IPTABLES from startup
9. Tidying up
A. Configuring the Access Point for serial console access
B. Setting up NOCAT Gateway for HOTSPOTing with Apache
C. Setting up NOCAT Auth service with Apache
D. Traffic shaping to throttle bandwidth