Once you have got the needed material and you have compiled all the needed you should do the fundamental step in a Wireless configuration:
N.B.: step 1, 2 and 3 correspond to level 1, 2 and 3 of standard ISO/OSI, while step 4 is an addendum to solve situation generated by netmask 255.255.255.255. In fact 32 bit netmask violates standard ISO/OSI cause the network force to use the same address for broadcast and ip machine and the network address doesn't exist.
Someone could criticize this point of view, but if you use the standard ISO/OSI to configure Wireless network with you'll loss many ones configuring subnets; for each subnet usually you discard 2 IP number (Network and broadcast) and you cannot achieve the flexibility on IP assigning (geographically kind). You can find more on Appendix A about this.
You could notice that step 2 is not present in Wired cards cause there's no particular settings to do there.
Always it's a problem for Pc administration: to let kernel (or in general) see your hardware.
Wireless cards are more complex because many of them usually have a Pcmcia plug, so first of all you have to let your kernel see Pcmcia adapter card, then you can try to install specific hardware driver for your Wireless card.
So, in Pcmcia config you have to:
In non pcmcia case:
Once you know module name you have to load it: in pcmcia config you only need to start pcmcia daemon (/etc/rc.d/init.d/pcmcia start for RedHat), for other "modprobe module_name options". With options you'll give ioport, irq and data-link settings (see Par 5.3) to Wireless driver. Anyway your useful tools to know if hardware has correctly been seen by driver are:
What is that?
Wired networks need only to connect each other and then you'll be able to set TCP/IP parameters.
In opposite Wireless networks need data-link settings, such as:
As you see there are many settings you have to adjust, the reason come from the architecture of Wireless network: there could be someone, in near distance, that could see your packets, use your services only pointing his antenna on the right direction and setting up right TCP/IP parameters.
In addition there could be many Wireless subnets that could generate interference each other.
So here are:
This is the third problem you have to face. Here situation become problematic only when your network begin to evolve in a bigger one.
Remember Wireless IP Networking doesn't stress you if you don't stress it!
All the hosts view each other A - - - - - C \ / | \ / | /\ | / \ | / \ B - - - - - D
A configuration like this is very simple and don't require nothing special (at Ip level): you only need to assign an IP address for each host and to assign a coherent global netmask.
A doesn't see B directly A <- - - - NO\ | TALK\ C \ | B <- - - -
Here A and B can communicate only passing through C.
If the network is in Infrastructure mode and C is the Access Point all is ok. In Adhoc mode you also can design a host to "master" capability (I know the term is not so formal!), a host that creates a BSS and to which any other host can join that BSS.
Full connectivity now is reached at IP level: A and B talk to C using the same C interface, so if you try to ping from A to B you'll receive many ICMP REDIRECT packets from C, cause C is telling A that the destination is already in the network from which come the request.
Solution: type a "echo 0 > /proc/sys/net/ipv4/conf/ethx/send_redirects" (where ethx is the interface on C towards A and C) to null all that.
Another problem: what netmask I assign to A and C? If you assign a netmask to A that include A and C nothing works because A don't use the gateway (C) but make the ARP request with unknown destination MAC address.
You could think to use proxy arp, but without effect cause proxy arp reply to source only when the destination is in a different interface from the source: this is not the case!!
So you have to set a very little netmask (Win9x let it be 255.255.255.254, WinNT at least 255.255.255.248), and you have to assure that hosts A and C don't have the same net address.
In general with a netmask 255.255.255.254 system works with 2 IP changing only for the final bit.
All that is a TCP/IP forcing but is the only method to obtain an high level of flexibility.
Note: If you use an Access Point (network in Infrastructure mode) you haven't redirect problem, cause all is solved at data-link level (almost every Access Point acts as a bridge...). But Access Point are expansive (about 1000 USD or more) and it is more economic to use a P133 32MB Ram to forward, even with 2 or more cards.
A - - - - - C - - Internet \ / | \ / | /\ | / \ | / \ B - - - - - D
There is a number of situation:
Internet \ \ E \ / \ / Wireless A - - - - - C - - F \ / \ | \ / | \ Wired /\ G | / \ | / \ B - - - - - D
Now C joins 2 networks: on the right Wireless and Wired on the left.
More you have Internet Access, so in total you have 3 network cards in C.
What IP Address I assign to hosts? You have 2 possible solutions:
Now we examine solution 2
For example: Consider you have Internet public subnet x.y.z.0/24.
Static routes on eth2:
This route stands for addressing all Internet requests to your Default GW: as you notice, first you have to tell Linux where is the router, then let default requesting through it.
Static routes on eth0:
Hosts A,B and D on the Wired Network
Static routes on eth1:
Hosts E,F and G on the Wireless Network
Note that flexibility is very high, but you have to manual set each host.