無線LANの基地局をLinuxベースで構築する場合の手順について記載します。<BR>
<TABLE>
  <TR>
    <TD> | </TD>
    <TD> <A target="wlan" HREF="/staticpages/index.php?page=wdriver">LinuxでのDriver</A></TD>
    <TD> | </TD>
    <TD> <A target="wlan" HREF="/staticpages/index.php?page=wap">Linuxでアクセスポイント</A></TD>
    <TD> | </TD>
    <TD> <A target="wlan"  HREF="/staticpages/index.php?page=wsystem">構築例</A></TD>
    <TD> | </TD>
    <TD> <A target="wlan" HREF="/staticpages/index.php?page=wlink">無線LANに関するリンク</A></TD>
  </TR>
</TABLE>
</CENTER>
無線LANの基地局は、市販されているアクセスポイントで構築するのが一番簡単ですが、>
改造したりすることが
難しいです。<BR>
そこで、Linuxをベースにし、アクセスポイントを構築する方法を記載します。<BR>
ここには記載しませんんが、この方法を拡張すると、[IEEE 802.1x]での認証を行うよう>
にも構築できます。<BR>
<P></P>
<A HREF="#tool">必要なもの</A><BR>
<A HREF="#install">インストール</A><BR>
<A HREF="#config">設定</A><BR>
<A HREF="#command">コマンドの使いかた</A><BR>
<HR>
<A NAME="tool">
<UL>
 <LI>必要なもの（ハード）
  <UL>
   <LI>LANが標準装備され、PCMCIAが１つ以上あるノートパソコンか、PCMCIA対応されているデスクトップパソコン<BR>
 LANは10Mでも100Mでも可能です。
   <LI>IntersilのChip(Prism2以上)を使った無線LANカード<BR>
       ここでは、Corega製の[PCCL-11]とします。
   <LI>クライアント用無線LANカード
  </UL>
 <LI>必要なもの（ソフト）
  <UL>
   <LI>Linux OS<BR>
       ここでは[Fedora Core 1]とします。
   <LI>Wireless toolの最新（<A HREF="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html">Wireless tool</A>）
   <LI>hostap Driver（<A HREF="http://hostap.epitest.fi/">Prism2(Intersil PrismII driver with HostAP mode)</A>）
   <LI>モニタツール<A HREF="http://www.janmorgenstern.de/projects-software.html">wavemon</A>
  </UL>
 <LI>あると便利なもの（ソフト）
  <UL>
   <LI>ブリッジユーティリティ（<A HREF="http://bridge.sourceforge.net/index.html">brige util</A>）
   <LI>GUI設定ツール（<A HREF="http://www.random-works.co.uk/xwconfig/">xwconfig</A>）
  </UL>
 <LI>802.1x認証で必要なもの
  <UL>
   <LI><A HREF="http://www.freeradius.org/">freeradius</A>
   <LI><A HREF="http://open1x.sourceforge.net">xsupplicant</A>
   <LI><A HREF="http://www.packetfactory.net/libnet">libnet</A>
   <LI><A HREF="http://www.polbox.com/h/hs001/">mppe</A>
   <LI><A HREF="http://pptpclient.sourceforge.net">PPtP Client</A>
   <LI>ppp(MPPE対応)
  </UL>
</UL>
<HR>
<A NAME="install">
<UL>
 <LI>パソコンの準備<BR>
   <UL>
    <LI>上記で示したパソコン（PCMCIAとLAN付のノートパソコンかPCMCIAサポートのデスクトップパソコン）を用意します。<BR>
      FedoraをインストールできるだけのHDDが必要です。メモリは１２８もあれば十分です。LANは必ず使います。
    <LI>無線LANカードを用意します。これはクライアント用を含めて２枚必要です。
   </UL>
 <LI>ソフトの準備(DownloadはOSインストール後でも問題ありません)
   <UL>
    <LI>Fedora Core 1のCDを用意します。雑誌に添付されているもので十分使えます。
    <LI>Wireless tool,hostap driver,wavemonをDownLoadしておきます。<BR>
    <LI>IPアドレスを無線LANと有線LANで同一にするのであれば、ブリッジユーティリティをDownLoadします。
   </UL>
 <LI>ソフトのインストール<BR>
    インストールを行う場合は、[root]ユーザで実行してください。<BR>
     弊社にてhostap-driver,hostap-util,hostapd,wavemo,xwconfig,wpa_supplicantのパッケージを作成していますので、利用してください。<BR>
     <BR>
     <A HREF="ftp://ftp.libertysystem-factory.co.jp/pub/wireless/">Wireless</A><BR>
    <LI>まずは、OSをインストールします。これはどのようなタイプでも問題ありません。<BR>
     但し、必ず[kernel-source],[glibc-devel],[gcc],[dev],[make],[patch]等の開発環境をインストールします。
    <LI>OSのアップデートを行います。KernelにSecurity Alertがありますので、アップデートします。(yum)
    <LI>Downloadしておいたツール類をLinux環境にコピーします。<BR>
     ここで、ツール類をDownLoadしても問題ないです。（そのほうが楽です）<BR>
     Wireless toolは標準でインストール可能ですが、なるべく最新を使います。(fedoraの最新は同じバージョンです)
    <LI>kernel sourceのconfigを作ります。<BR>
     <FONT COLOR="Red" SIZE="1">
     Fedora（RedHat系）の場合、kernel-sourceではDriverを正常にインストールできない場合が多いです。<BR>
    その場合は、弊社で作成したパッケージを使ってください。<BR>
     </FONT>
     <UL>
       <LI>cd /usr/src/linux-2.4
       <LI>cp configs/kernel-2.4.xx-in86.config .config<BR>
             xx:Kernel Version(最新は22)、in86:i386/i586/i686
       <LI>Makefileの修正<BR>
           Makefileの[EXTRAVERSION]に書かれているバージョンを修正します。<BR>
           例えば、[-1.2188nptlcustom]を[-1.2188nptl]とします。<BR>
           * [1.2188]は、Kernelバージョンによって異ります。
       <LI>make oldconfig dep
     </UL>
    <LI>hostap Driverの構築
     <UL>
       <LI>tar xvfz hostap-driver-0.4.7.tar.gz
       <LI>cd hostap-driver-0.2.1
       <LI>vi Makefile<BR>
         <UL>
           <LI>3行目の[KERNEL_PATH=/usr/src/linux]を[KERNEL_PATH=/usr/src/linux-2.4]に変更
           <LI>54行目の[MODPATH := $(DESTDIR)/lib/modules/$(KERNELRELEASE)]を、
<BR>
               [MODPATH := $(DESTDIR)/lib/modules/$(KERNELRELEASE)/kernel/drivers]に変更
           <LI>58行目の[MODPATH_CS := $(MODPATH)/pcmcia]を[MODPATH_CS := $(MODPATH)/net/wireless]に変更
           <LI>59行目の[MODPATH_PLX := $(MODPATH)/net]を[MODPATH_PLX := $(MODPATH)/net/wireless]に変更
           <LI>60行目の[MODPATH_PCI := $(MODPATH)/net]を[MODPATH_PCI := $(MODPATH)/net/wireless]に変更
       <LI>Sourceの変更<BR>
        [driver/modules/hostap_compat.h]の70行目以降の部分を変更<BR>
        [#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23))]を[#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22))]
        に変更
       <LI>make
       <LI>make install
       <LI>cp driver/etc/hostap_cs.conf /etc/pcmcia
     </UL>
    <LI>Wireless toolの構築（Fedora core 1の最新では不要）
      <UL>
       <LI>tar xvfz wireless_tools.26.tar.gz
       <LI>cd wireless_tools.26
       <LI>make PREFIX=/usr/local
       <LI>make install
     </UL>
    <LI>wavemonの構築
     <UL>
       <LI>tar xvfz wavemon-current.tar.gz
       <LI>cd wavemon-0.4.0b（現在の最新バージョンは 0.4.0bです）
       <LI>./configure --prefix=/usr/local
       <LI>vi Makefile<BR>
         8行目の[CC = gcc]を[CC = gcc32]に変更
       <LI>make
       <LI>make install
     </UL>
    <LI>brctlの構築（ブリッジを使う場合のみ、Fedora core 1では用意されています）
     <UL>
       <LI>tar xvzf bridge-utils-0.9.6.tar.gz
       <LI>cd bridge-utils
       <LI>./configure
       <LI>libbridge/libbridge_misc.cの20行目の下に、[#include <unistd.h>]を追加
       <LI>brctl/brctl.cの56行目以降を以下のように修正<BR>
         <PRE>
         struct command *cmd;
         int err; (追加)
         [br_init();]を[err = br_init();]に変更
         以降を追加
         if (err == 12345) {
              fprintf(stderr , "kernel API version mismatchn");
              return 1;
         }
         if( err ) {
              perror("Error initialising bridge communication");
              return 1;
         }
         </PRE>
       <LI>make
       <LI>make install
     </UL>
     Fedora core 1の場合は、以下のようにします。<BR>
      [rpm -qa|grep bridge]でインストールされているか確認し、インストールされていなければ<BR>
      [yum install bridge-utils]でインストールします。<BR>
    <LI>xwconfigの構築（GUIを使う場合のみ）
     <UL>
       <LI>tar xvfz xwconfig-0.0.1.tar.gz
       <LI>cd xwconfig-0.0.1
       <LI>make
       <LI>make install<BR>
         標準では、[/usr/local/bin]にインストールされますが、インストール先を変更する場合は、<BR>
         Makefileの[INSTALL_DIR= /usr/local/bin]を任意のディレクトリに変更します。
     </UL>
   </UL>
<HR>
<A NAME="config">
<UL>
 <LI>アクセスポイントの構築<BR>
  上記で構築したDriverやツールを使ってアクセスポイントを構築します。
  <UL>
   <LI>まずは、無線LANカードを構築したマシンに接続します。<BR>
     弊社で作成したパッケージには、Coregaの無線LANカードの設定が標準で入っていますが、入っていない場合は<BR>
     /etc/pcmcia/hostap_cs.confに以下の内容を追加します。<BR>
     <PRE>
      # Corega Wireless LAN Card Setting
      card "Corega Wireless LAN PCC-11"
        version "corega K.K.","Wireless LAN PCC-11"
        bind "hostap_cs"
      card "corega K.K. Wireless LAN PCCA-11 Ver. 1.00"
        version "corega K.K.", "Wireless LAN PCCA-11", "Ver. 1.00"
        bind "hostap_cs"
      card "corega K.K. Wireless_LAN_PCCB-11"
        version "corega_K.K.", "Wireless_LAN_PCCB-11", "Version 01.02", ""
        bind "hostap_cs"
      card "corega WL PCCL-11 ISL37300P RevA"
        version "corega", "WL PCCL-11", "ISL37300P", "RevA"
        bind "hostap_cs"
      card  "corega Wireless LAN PCCS-11"
        version "corega", "Wireless LAN PCCS-11", "Version 02.00", ""
        bind "hostap_cs"
      card "Corega WL CF-11 Rev.A"
        version "corega", "WL CF-11", "ISL37300P", "RevA"
        bind "hostap_cs"
      </PRE>
      初期設定を行っておくには、以下の設定を行います。<BR>
      <PRE>
      # Optional configuration parameters for hostap_cs.o
      # mode = 1 is adhoc , 2 is infra , 3 is master , 4 is repeat , 5 is second
      # infra is client , master is AccessPoint
      module "hostap_cs" opts "channel=3 iw_mode=3 essid=corega ignore_cis_vcc=0"
      </PRE>
      ここで、[channel=3]は初期のチャネル、[iw_mode=3]は基地局モード、[essid=corega]は初期の
      SSIDになります。<BR>
      hostap_cs.confを修正したら、[/etc/rc.d/init.d/pcmcia restart]を実行します>
。<BR>
      これでアクセスポイントになります。
   <LI>iwconfigコマンドで状態を確認します。<BR>
     もし[hostap_cs.conf]に設定したものと異なる場合は、[iwconfig]コマンドで設定します。
   <LI>別のkterm/rxvtを起動し、wavemonを起動します。
  </UL>
  この状態で、クライアントを起動することでアクセスポイントになりますが、このままだと、ルーティングが必要になります。<BR>
  そこでブリッジユーティリティを使います。
 <LI>ブリッジユーティリティの設定 
   ブリッジユーティリティを使うことで、有線LANと無線LANを同一のデバイスにすることができます。<BR>
   このツールは有線LAN同士でも可能です。<BR> 
   <UL>
    <LI>仮想デバイスとして[br0]を作ります。<BR>
       brctl addbr br0<BR>
       [br0]は仮想ですので、他の名前でもかまいません。
    <LI>[br0]に加えるインタフェースを設定します。<BR>
       brctl addif br0 eth0 （有線LANインタフェース）<BR>
       brctl addif br0 wlan0 （無線LANインタフェース）<BR>
    <LI>通常のインタフェースのIPアドレスを変更します。<BR>
       ifconfig eth0 0.0.0.0 （有線LANインタフェース）<BR>
       ifcofnig wlan0 0.0.0.0 （無線LANインタフェース）<BR>
    <LI>仮想デバイスにIPアドレスを設定します。<BR>
       ifconfig br0 xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx up<BR>
    <LI>ルーティングを設定します。<BR>
       route del default gw xxx.xxx.xxx.xxx dev eth0<BR>
       route add default gw xxx.xxx.xxx.xxx dev br0<BR>
    <LI>ipchains/iptablesを修正します。<BR>
   </UL>
 <LI>無線LANの利用<BR>
   上記で設定した内容を使って利用します。SSIDを一致させることで即座に利用可能です。<BR>
   アクセスポイントで動かしている、[wavemon]を見ることで、接続しているクライアントのMACアドレスを 
   認識することが可能です。<BR>
</UL> 
<A NAME="command">
<UL>  
 <LI>Wireless toolsの使いかた<BR>                                                  Wireless toolsで提供されるコマンド[iwpriv],[iwconfig],[iwspy],[iwlist],[iwgetid],[iwevent]<BR>
   の使いかたを簡単に説明します。                                                  <UL> 
    <LI>iwconfig<BR>
       [iwconfig]コマンドは、無線LANの基本設定を行うコマンドです。<BR> 
       <UL>
        <LI>状態表示<BR>
          無線LANの現在状態を表示します。<BR>
          [iwconfig (interface)]<BR>
          Ex: iwconfig wlan0<BR>
          [wlan0]以外に、[wifi0]のデバイスも表示されます。
        <LI>SSID(ESSID)<BR>
          無線LANのSSID(ESSID)を設定します。<BR>
          [/etc/pcmcia/hostap_cs.conf]の[module]で設定されている[essid]がDefaultです。<BR>
          [iwconfig (interface) essid xxxxxx]<BR>
          Ex: iwconfig wlan0 essid liberty
        <LI>Channel<BR>
          無線LANのChannelを設定します。<BR>
          [/etc/pcmcia/hostap_cs.conf]の[module]で設定されている[channel]がDefaultです。<BR>
          [iwconfig (interface) channel n]  n: 1-14<BR>
          Ex: iwconfig wlan0 channel 1<BR>
        <LI>Mode<BR>
          無線LANのModeを設定します。<BR>
          [/etc/pcmcia/hostap_cs.conf]の[module]で設定[iw_mode]がDefaultです。<BR>
          [iwconfig (interface) mode xxxxx]<BR>
            xxxxxx:ad-hoc AD-HOCモード<BR>
                   managed Client モード<BR>
                   master Access Point モード<BR>
                   repeat Repeater モード<BR>
           Ex: iwconfig wlan0 mode Master
        <LI>nick<BR>
          無線LANのnick nameを設定します。<BR>
          [iwconfig (interface) nickname "xxxxxx"]<BR>
           Ex: iwconfig wlan0 nickname libertyap
        <LI>key/enc<BR>
          無線LANのWEP Keyを設定します。<BR>
          [iwconfig (interface) key off]<BR>
          [iwconfig (interface) key nnnn-nnnn-nn]<BR>
           Ex: iwconfig wlan0 key off / WEP Key OFF<BR>
               iwconfig wlan0 key 0123-4567-89 / WEP Keyを[0123-4567-89]に設定<BR>
               iwconfig wlan0 key [2] 9876-5432-10 / WEP Keyの２つ目を[9876-5432-10]に設定
       </UL>
    <LI>iwlist
      無線LANの状態を参照します。<BR>
      <UL>
       <LI>channel/frequency<BR>
         利用可能なチャンネル一覧を表示します。
       <LI>rate/bitrate<BR>
         利用可能な転送速度の一覧と、現在の転送速度を表示します。
       <LI>key/enc<BR>
         設定されているWEP KEYと現在のKEYを表示します。
      </UL>
    <LI>iwpriv<BR>
      iwconfigで設定できないものを設定します。<BR>
      ここに記載されていないものは、[/usr/share/doc/hostap-driver-0.2.1/README]>を参照してください
      <UL>
       <LI>モニタリング<BR>
         Monitor Off : iwpriv wlan0 monitor 0<BR>
         802.11 Header Monitor : iwpriv wlan0 monitor 2<BR>
         Prism2 + 802.11 Header :  iwpriv wlan0 monitor 3<BR>
       <LI>アクセスコントロール<BR>
         <UL>
           <LI>>Open Policy(Default)</BR>
             iwpriv wlan0 maccmd 0
           <LI>Allow Policy</BR>
             iwpriv wlan0 maccmd 1</BR>
             iwpriv wlan0 addmac 00:11:22:33:44:55<BR>
             iwpriv wlan0 maccmd 3 (Flash)<BR>
           <LI>Deny Policy
             iwpriv wlan0 maccmd 2</BR>
             iwpriv wlan0 addmac 00:11:22:33:44:55<BR>
           <LI>MAC Address削除</TD>
             iwpriv wlan0 delmac 00:11:22:33:44:55
       <LI>WDS<BR>
         基地局間通信を行う場合に使います。<BR>
           iwpriv wlan0 wds_add 00:11:22:33:44:55<BR>
           brctl addbr br0<BR>
           brctl addif br0 eth0<BR>
           brctl addif br0 wlan0<BR>
           brctl addif br0 wlan0wds0<BR>
           ifconfig eth0 0.0.0.0<BR>
           ifconfig wlan0 0.0.0.0<BR>
           ifconfig wlan0wds0 0.0.0.0<BR>
           ifconfig br0 192.168.1.1 netmask 255.255.255.0 up
      </UL>
    <LI>iwgetid<BR>
      設定されているSSID(ESSID)を表示します。
    <LI>iwspy<BR>
      現在接続されている無線LANクライアントを表示します。
    <LI>iwevent<BR>
   </UL>
</UL>