[ << ]
[ < ]
[ ホーム ]
[ > ]
[ >> ]
4. 無線ネットワーク
目次:
4.a. はじめに
現在、wireless-toolsやwpa_supplicantによって無線のセットアップがサポートされています。
覚えておくべき重要なことは、無線ネットワークの設定をインターフェース毎ではなく、全体的に行うと言うことです。
wpa_suppliantは最良の選択ですが、全てのドライバをサポートしている訳ではありません。
サポート済みのドライバリストはread the wpa_supplicant siteで確認することが出来ます。
また、現在wpa_supplicantは設定されたSSIDにのみ接続することが出来ます。
wireless-toolsはほぼ全てのカードとドライバをサポートしていますが、WPAのみのアクセスポイントには接続することは出来ません。
警告:
現時点ではlinux-wlan-ngはbaselayoutではサポートされていません。
これは、linux-wlan-ngは人それぞれによって全く異なる独自のセットアップと設定を行うからです。
linux-wlan-ng開発者達はセットアップをwireless-toolsへと変更するのではと噂されています。
これが実現した場合、baselayoutでlinux-wlan-ngが使えるかもしれません。
|
4.b. WPA Supplicant
WPA Supplicantとは、
WPAが有効なアクセスポイントへの接続を可能にするパッケージです。
これはまだベータ版なのでセットアップはかなり変わりやすいですが、ほとんどの部分でうまく動作します。
コード表示 2.1: wpa_supplicantのインストール |
# emerge net-wireless/wpa_supplicant
|
重要:
wpa_supplicantを動作させるにはカーネルでCONFIG_PACKETを有効にしなければなりません。
|
では、wpa_supplicantをwireless-toolsより優先させるために/etc/conf.d/netを設定しましょう。(両方がインストールされているのなら、wireless-toolsがデフォルトとなります)
コード表示 2.2: wpa_supplicant向けに/etc/conf.d/netを設定 |
modules=( "wpa_supplicant" )
wpa_supplicant_eth0="-Dmadwifi"
|
注意:
host-apドライバを使用しているのなら、wpa_suppliacnatで正しく使用するために、
カードをManagedモードにする必要があります。
/etc/conf.d/netにiwconfig_eth0="mode managed"
を記述することによりこれを行うことが出来ます。
|
簡単でしょう?
ですが、まだwpa_supplicant自身の設定をしなければいけません。
これは、接続しようとするアクセスポイントがどれくらいセキュアかによって、
設定の複雑さも変わってきます。
以下はwpa_supplicantと共にインストールされる
/usr/share/doc/wpa_supplicant-<version>/wpa_supplicant.conf.gz
からの抜粋です。
コード表示 2.3: /etc/wpa_supplicant/wpa_supplicant.confの例 |
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
ssid="simple"
psk="very secret passphrase"
priority=5
}
network={
ssid="second ssid"
scan_ssid=1
psk="very secret passphrase"
priority=2
}
network={
ssid="example"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
priority=2
}
network={
ssid="plaintext-test"
key_mgmt=NONE
}
network={
ssid="static-wep-test"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
}
network={
ssid="static-wep-test2"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
auth_alg=SHARED
}
network={
ssid="test adhoc"
mode=1
proto=WPA
key_mgmt=WPA-NONE
pairwise=NONE
group=TKIP
psk="secret passphrase"
}
|
4.c. Wireless Tools
最初の設定とmanagedモード
Wireless Toolsは、
基本的な無線インターフェースを起動することからWEPセキュリティレベルまでを設定する一般的な方法です。
WEPはセキュリティの手段としては弱いですが、最も普及しています。
Wireless Toolsの設定は少数の要となる変数によって制御されます。
以下の設定ファイルの例は必要となる全てを記述しています。
何も設定しないと「最も信号が強く暗号化されていないアクセスポイントへ接続する」事になり、
いつも何かに接続しようとしていることを心に留めておいてください。
コード表示 3.1: wireless-toolsのインストール |
# emerge net-wireless/wireless-tools
|
注意:
無線の設定を/etc/conf.d/wirelessに保存することも出来ますが、このガイドでは/etc/conf.d/netに保存することを推奨します。
|
重要:
変数名ドキュメントを参照する必要があるでしょう。
|
コード表示 3.2: /etc/conf.d/netでのiwconfig設定例 |
modules=( "iwconfig" )
key_ESSID1="[1] s:yourkeyhere key [1] enc open"
key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted"
preferred_aps=( "ESSID1" "ESSID2" )
|
アクセスポイントの選択を微調整する
アクセスポイントの選択を微調整するために、いくつかの特別なオプションを追加することが出来ます。
ですが、これらは通常では必要ではありません。
優先されたアクセスポイントのみに接続するかどうかを選択することが出来ます。
デフォルトでは、設定された全てが失敗したのなら、暗号化されていないアクセスポイントへ接続します。
これはassociate_order変数で制御することが出来ます。
以下に値と詳細を示します。
| 値 |
詳細 |
| any |
デフォルトの振る舞い |
| preferredonly |
優先リストにある接続可能なアクセスポイントのみ接続する |
| forcepreferred |
スキャンで見つからなければ優先リストにあるアクセスポイントへ強制接続を試みる
|
| forcepreferredonly |
アクセスポイントのスキャンを行わず、リストにある物に接続を試みる
|
| forceany |
forcepreferredと同じで、それに加えて利用可能なアクセスポイントへ接続する |
最後にblacklist_apsとunique_apの選択を行います。
blacklist_apsはpreferred_apsと同じような動作を行います。
unique_apにはyesかnoが設定され、
2番目の無線インターフェースが1番目と同じアクセスポイントへ接続できるかを決定します。
コード表示 3.3: blacklist_apsとunique_apの例 |
blacklist_aps=( "ESSID3" "ESSID4" )
unique_ap="yes"
|
Ad-HocとMasterモード
managedモードになっているアクセスポイント全てで接続失敗した場合に、
Ad-Hocノードに設定を切り替えたいのなら、
以下のように設定することでこれを行うことが出来ます。
コード表示 3.4: Ad-Hocモードへのフォールバック |
adhoc_essid_eth0="This Adhoc Node"
|
Ad-Hocネットワークへ接続したり、アクセスポイントとなるためにMasterモードで起動してはどうですか?
そのためには以下のように設定します。上で述べたようにしてWEPキーを指定する必要があるかもしれません。
コード表示 3.5: Ad-Hoc/Master設定の例 |
mode_eth0="ad-hoc"
essid_eth0="This Adhoc Node"
channel_eth0="9"
|
重要:
以下はthe NetBSD documentationにあるBSD wavelanドキュメントを丸写ししたものです。
14のチャンネルが利用可能であり、北アメリカではチャンネル1-11が合法で、
ヨーロッパの多くではチャンネル1-13、フランスではチャンネル10-13、そして日本ではチャンネル14のみです。
疑うのであれば、カードやアクセスポイントに付属するドキュメントを参照してください。
選択したチャンネルがアクセスポイントのチャンネル(もしくはAd-Hocネットワークの他のカード)
と一致するようにしてください。
北アメリカやヨーロッパの多くで売られているカードのデフォルトは3で、
フランスで売られているカードのデフォルトは11、そして日本で売られているカードのデフォルトは14です。
|
無線ツールのトラブルシューティング
ドライバや環境の問題で、無線を接続し稼働の手助けになる変数がいくつかあります。
以下に一覧を示します。
| 変数 |
初期値 |
詳細 |
| iwconfig_eth0 |
|
iwconfigに何を送るかについての詳細はiwconfigのマニュアルを参照してください |
| iwpriv_eth0 |
|
iwprivに何を送るかについての詳細はiwprivのマニュアルを参照してください |
| sleep_scan_eth0 |
0 |
スキャンを試みる前にスリープを行う秒数です。ドライバやファームウェアが利用可能になるまでにより長い時間がかかるのであればこれが必要です。
|
| sleep_associate_eth0 |
5 |
接続先のアクセスポイントを次へと変更するためにインターフェースを待機させる秒数です
|
| associate_test_eth0 |
MAC |
いくつかのドライバでは接続の解放やテスト時に無効なMACアドレスをリセットしません。いくらかのドライバでは接続の解放やテスト時に品質レベルをリセットしません。MAC、qualityとallが設定可能です。
|
| scan_mode_eth0 |
|
いくつかのドライバではad-hocモードでスキャンを行うため、スキャンが失敗したらここでad-hocの設定を試みます
|
| iwpriv_scan_pre_eth0 |
|
スキャン前にいくつかのiwprivコマンドをインターフェースへ送信します。詳細はiwprivのマニュアルを参照してください。
|
| iwpriv_scan_post_eth0 |
|
スキャン後にいくつかのiwprivコマンドをインターフェースへ送信します。詳細はiwprivのマニュアルを参照してください。
|
4.d. ESSIDごとにネットワーク設定を定義する
ESSID1に接続するときには固定IPが必要で、ESSID2に接続するときにはDHCPが必要なことがあります。
実際、ほとんどのモジュール変数はESSIDごとに変更可能です。
以下に例を示します。
注意:
WPA Supplicantや無線ツールを使用しているのならこれらは動作します。
|
重要:
変数名ドキュメントを参照する必要があるでしょう。
|
コード表示 4.1: ESSIDごとにネットワーク設定を上書きする |
config_ESSID1=( "192.168.0.3/24 brd 192.168.0.255" )
routes_ESSID1=( "default via 192.168.0.1" )
config_ESSID2=( "dhcp" )
fallback_ESSID2=( "192.168.3.4/24" )
fallback_route_ESSID2=( "default via 192.168.3.1" )
dns_servers_ESSID1=( "192.168.0.1" "192.168.0.2" )
dns_domain_ESSID1="some.domain"
dns_search_domains_ESSID1="search.this.domain search.that.domain"
config_001122334455=( "dhcp" )
dhcpcd_001122334455="-t 10"
dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" )
|
[ << ]
[ < ]
[ ホーム ]
[ > ]
[ >> ]
このドキュメントの内容は
Creative Commons -
Attribution / Share Alikeライセンスです。
|