これは、コマンドラインからこれを実行する方法の概要を示す、かなり良い(少し時代遅れの場合(2006が時代遅れの場合))記事です。
http://www.linux.com/archive/feed/55617
ワイヤレスデバイスが正常に機能していると仮定すると、おそらくブリッジングセクションで半分ほど下に飛び込むことができます。
Wi-Fi Protected Accessバージョン2(WPA2)は、ワイヤレスネットワークを保護するための事実上の標準になりつつあり、Wi-Fi Allianceによって認定されたすべての新しいWi-Fi製品の必須機能になっています。私たちは皆、その前身であるWEPのセキュリティ上の弱点を知っています。今回、彼らはそれを正しくしました。LinuxホストにWPA2プロトコルを実装し、ネットワークに安全なワイヤレスアクセスポイント(WAP)を作成する方法を次に示します。
ほとんどの消費者向け商用WAPは、同じ単純な方法で動作します。有線(イーサネット)ネットワークインターフェイスとワイヤレスインターフェイスの間にブリッジを作成します。それはまさに私たちがやることです。WAP部分はhostapdによって処理されますデーモンなので、サポートするワイヤレスインターフェイスを選択する必要があります。サポートされているNICには、Prism 2 / 2.5 / 3、Atheros ar521x、およびPrism GT / Duette / Indigoチップセットが搭載されています。リストはhostapdのホームページにあり、各チップセットのLinuxドライバーへのリンクがあります。WAPにAtheros AR5212ベースのPCIカードがインストールされていますが、これはhostapdでサポートされています。Pentium(またはそれ以降)システムは動作しますが、一部のPCIワイヤレスカードはPCI 2.2を動作させる必要があるため、購入する前にシステムのマザーボード仕様を確認してください。また、WAPをLANに接続するには、Linuxでサポートされているイーサネットインターフェイスが必要です。ほとんどのオンボードインターフェイスは問題なく動作します。
私のセットアップはDebianテスト(Etch)に基づいていますが、最近の2.6カーネルを備えたGNU / Linuxディストリビューションはすべて動作します。カーネルは、802.1dイーサネットブリッジング(CONFIG_BRIDGE)およびワイヤレスLAN(CONFIG_NET_RADIO)をサポートする必要があります。ほとんどのデフォルトのストックカーネルではこれらの機能が有効になっていますが、独自のカーネルを構築する場合は、これらのオプションを必ず含めてください。hostapd以外にインストールする必要がある他のパッケージはbridge-utilsとwireless-toolsのみです。主要なGNU / Linuxディストリビューションは、これらすべてのプログラムのバイナリパッケージを提供しますが、ソースからビルドすることを希望する場合は、ホームページで詳細情報を見つけることができます。
2つのインターフェイスをブリッジする前に、無線インターフェイス(私の場合はath0、セットアップに合わせて調整)をhostapまたはマスターモードにする必要があります。通常、これはiwconfig ath0モードマスターを実行するのと同じくらい簡単ですが、Linuxでのwlanサポートはまだ標準化されていないため、ドライバーによっては追加の構成が必要になる場合があります。Atherosベースのインターフェイスがある場合wlanconfig ath0 destroy; wlanconfig ath0 create wlandev wifi0 wlanmode ap
は、iwconfig
コマンドの前に次も実行する必要があります。その後、実行iwconfig ath0
するとが返さmode:Master
れます。
それでは、ブリッジを作成しましょう。イーサネットインターフェイスはeth0であると仮定します。
ifconfig eth0 0.0.0.0 up
ifconfig ath0 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 ath0
ブリッジを停止するには、次を実行する必要があります。
ifconfig br0 down
ifconfig eth0 0.0.0.0 down
ifconfig ath0 0.0.0.0 down
brctl delif br0 eth0
brctl delif br0 ath0
brctl delbr br0
たとえばSSHを使用して、ネットワークからWAPホストにアクセスする場合は、オプションでbr0インターフェイスにIPアドレスを与えることができます。各ディストリビューションは、ネットワークを構成する独自の方法を提供します。Debian(またはUbuntuなどのDebianベースのディストリビューション)を使用している場合、次の/etc/network/interfaces
ファイルを追加するだけで、以前のすべてのコマンドをまとめることができます。
auto ath0 br0
iface ath0 inet manual
pre-up wlanconfig ath0 destroy
pre-up wlanconfig ath0 create wlandev wifi0 wlanmode ap
post-down wlanconfig ath0 destroy
wireless-mode master
iface br0 inet manual
bridge_ports eth0 ath0
注意ifupdown
あなたがそれのために別々のスタンザを必要としないので、ハンドルは、自動的にeth0を/etc/network/interfaces
。ブリッジが正しく構成されていることを確認するには、を実行しbrctl show
ます。見返りにこのようなものを取得する必要があります。
bridge name bridge id STP enabled interfaces
br0 8000.00032f2481f0 no ath0
eth0
hostapdをいじり始める前に、WPA2のパスフレーズが必要です。すべてのパスワードと同様に、それはランダムであるため、推測が困難です。ランダムなパスフレーズを取得する良い方法は、Gibson Research Corp.のUltra High Security Password Generatorにアクセスして、作成する3番目のパスワード(ランダムな英数字63文字(az、AZ、0-9))を使用することです。英数字以外のASCII文字(!、@など)を含むパスフレーズは魅力的かもしれませんが、一部のクライアント(Windows XPなど)はそれらを好まないようです。
次の名前の新しいテキストファイルを作成し、/etc/hostapd/wpa_psk
パスフレーズを貼り付けます。
00:00:00:00:00:00 PASSPHRASE
ゼロの最初の部分は「すべてのMACアドレスに一致する」ことを意味し、正確にそれを行います。各クライアントのMACアドレスとそのパスフレーズを含む新しい行をファイルに追加することにより、各クライアントに異なるパスフレーズを使用することもできます。を実行して、rootのみがそのファイルにアクセスできることを確認してくださいchmod 600 /etc/hostapd/wpa_psk
。
次に、hostapdのメイン構成ファイルのバックアップを作成し、/etc/hostapd/hostapd.conf
を実行して参照として保持しますmv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig
。新しいhostapd.confファイルを作成し、次の行をそのファイルに貼り付けます。
interface=ath0
bridge=br0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=My_Secure_WLAN
#macaddr_acl=1
#accept_mac_file=/etc/hostapd/accept
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
wpa=3
wpa_psk_file=/etc/hostapd/wpa_psk
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
stakey=0
イタリック体の部分を、セットアップに一致する情報に置き換えます。特定のクライアントのみに接続を許可する場合は、上記の2行から#文字を削除し、それらのクライアントのMACアドレスをにコピーし、/etc/hostapd/accept
このファイルにルート(chmod 600)のみがアクセスできるようにします。使用されるオプションの詳細については、以前に作成したバックアップファイル(hostapd.conf.orig)のコメントをお読みください。
hostapdデーモン(/etc/init.d/hostapd start
)を起動し、動作/var/log/daemon.log
することを確認します。デーモンが起動しない場合は、デバッグレベル(option debug=
hostapd.conf内)を4に上げて再試行してください。
クライアントから利用可能なワイヤレスネットワークをスキャンすると、ESSIDが表示されるはずです。LinuxクライアントからのWAPに接続するには、インストールする必要がありwpa_supplicantのと(にインストールされ、Debianの中で、wpa_supplicant.confを設定ファイルを作成し/etc/wpa_supplicant/
、次のように):
update_config=1
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="My_Secure_WLAN"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk="PASSPHRASE"
priority=5
}
再びイタリック体の部分をセットアップと実行に合わせてwpa_supplicant -i eth1 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf
交換eth1
します(wlanインターフェイス名とwextをカードの適切なドライバーに置き換えます。詳細についてはオプションなしでwpa_supplicantを実行してください)。このコマンドは、フォアグラウンドでwpa_supplicantを開始し、WAPへの接続を試みます。出力が次のようになったら、設定は完了です。
Trying to associate with 00:11:22:33:44:55 (SSID='My_Secure_WLAN' freq=0 MHz)
Associated with 00:11:22:33:44:55
WPA: Key negotiation completed with 00:11:22:33:44:55 [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 00:11:22:33:44:55 completed (auth) [id=0 id_str=]
ワイヤレスインターフェイスに静的IPアドレスを与え(またはDHCPクライアントを実行)、LAN内のホストにpingを実行して、接続が機能することを確認します。
おめでとうございます、あなたは自分で高度にカスタマイズ可能なワイヤレスアクセスポイントを構築しました。このセットアップは家庭や小規模オフィスでの使用に理想的ですが、RADIUSサーバー、またはさらに優れたVPNを使用した認証により、企業でより堅牢なものが必要です。