したがって、基本的には、Xの内部にいないときにiwconfig
を使用してWi-Fiネットワークに接続したいと思います。しかし、manページにはそれを行う方法がありません。何か案が?
iw
(list/config)はWEPのみを処理できます。
wpa_supplicant
コマンドを提供するwpasupplicant
パッケージが必要です。必要に応じてSudo apt-get install wpasupplicant
からインストールします。
SSIDとパスワードを/etc/wpa_supplicant.conf
に入れます(Sudoが必要です)。
例:
network={
ssid="ssid_name"
psk="password"
}
インターフェースがwlan0であると仮定すると、次のもので接続できます:
Sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
Sudo dhclient wlan0
「wext」はドライバーであり、各カードに固有です。 wpa_supplicant -h
を参照してください。例:
hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
このリンクはそれをすべて示し、私のためにうまく働きました: http://linux.icydog.net/wpa.php
ここでコンテンツをコピーしているので、サイトがオフラインになった場合に備えて用意しています。
コマンドラインWPA
GUIネットワークツールにアクセスできないコマンドラインを使用することもありますが、アクセスポイントはWPAで保護されています。職業はなんですか?
ワイヤレスカードが実際に機能していると仮定すると(つまり、iwconfigがワイヤレスカードを認識して操作できる)、wpa_supplicantの使用は実際には非常に簡単です。 wpa_supplicantのインストール
現在、ほとんどのディストリビューションにはデフォルトでwpa_supplicantがインストールされています。コマンドwpa_passphraseおよびwpa_supplicantを使用できる場合は、準備ができています。それ以外の場合は、次のようなことを実行してパッケージをインストールする必要があります(Ubuntuの場合):
$ Sudo apt-get install wpasupplicant
または(Fedoraの場合):
# yum install wpa_supplicant
または、ディストリビューション用のコマンドは何でも。
設定ファイルの生成
Wpa_supplicantがインストールされたので、構成ファイルを作成します。 SSIDとWPAパスフレーズがわかったら、実行する必要があるのは次のとおりです。
$ wpa_passphrase myrouter mypassphrase > wpa.conf
もちろん、「myrouter」をルーターのSSIDに、「mypassphrase」をWPAパスフレーズに、「wpa.conf」を構成を保存するファイルに置き換えます。このファイル名には、特定の形式に従うか、特定の拡張子を持つ。
または、コマンドラインでパスフレーズを入力しないように(シェルの履歴に保存されないように)、コマンドラインでSSIDのみを指定できます。 wpa_passphraseは、パスフレーズを入力してからEnterを入力するまで待機します。
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
最終的には次のようなファイルになります。
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
接続する
次に、実際にwpa_supplicantを実行して、ワイヤレスネットワークに接続します。まず、ルーターがそのSSIDをブロードキャストする場合(すべてデフォルトで行う)、おそらくワイヤレスカードが実際にそれを見ることができることを確認する必要があります。
$ iwlist scan
強制的に更新するには、rootとして実行する必要があります。
次に、3つの情報を知る必要があります。
wpa_supplicant --help
を実行すると、さまざまなドライバーが一覧表示されます(「ドライバー:」の下)。 0.5.8現在、有用な選択肢はwext
、hostap
、madwifi
、atmel
、ndiswrapper
、およびipw
(ipwは古いカーネルのみ;> = 2.6.13はwextを使用する必要があります)。カードに特定の一致が表示されない場合は、wextを試してください。これは一種のキャッチオールです。iwconfig
を実行するだけです。非ワイヤレスデバイスの場合は「ワイヤレス拡張機能なし」と報告され、ワイヤレスデバイスの一部のデータが表示されます。このデータが得られたので、実行します(rootとして):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
オプションとパラメーターの間にスペースはありません。わかりやすくするために括弧を追加しただけなので、括弧は含めないでください。たとえば、私のラップトップの場合、次のようになります。
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
コンソールを占有しないように、-B
オプションを使用してバックグラウンドで実行することもできます。
これで、ネットワークに関連付けられました。
オンラインになる
実際にオンラインにするには、何らかの形でIPを取得する必要があります。ほとんどの人は、おそらくルーターに組み込まれているDHCPサーバーから動的IPを取得したいと思うでしょう。 (静的IPとルーティングテーブルの設定については説明しません。それはそれ自体が獣だからです。)
DHCPリースを取得するには、最初に(ルートとして)保持しているリースを解放します。
# dhclient -r
次に、新しいリースを要求します(もちろん、eth1を前のセクションで使用したものと同じネットワークデバイスの名前に置き換えます)。
# dhclient eth1
少なくとも理論的には、これでIPができました。ハッピーサーフィン!
Debianや他のディストリビューションでは、wifiネットワークを管理するために、デフォルトでwpa_suplicantがサービスとして実行されています。 wpa_suplicantは、ネットワークマネージャーGUIなどのさまざまなクライアント/フロントエンドで処理できます。これは debian wiki で詳しく説明されています。
wpa_cliは、wifiネットワークを管理するコマンドラインwpa_suplicantクライアントです。
Edit: nmcliの使用方法 を説明しているこの投稿を見つけたので、wpa_cliよりもはるかに優れています。 GUIネットワークマネージャーとその設定および保存されたwifiネットワーク。
wpa_cliの使用例:
Wi-Fi対応のネットワークインターフェイスが既にあることを確認します。
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Wpa_suplicantプロセスが実行されているかどうかを確認します。
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Wpaクライアントインタラクティブモードで入力します。
# wpa_cli
利用可能なアクセスポイントをリストします。
> scan
> scan_results
...そして、あなたはこのようなものを手に入れます:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
APを追加します。
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
現在として選択:
> enable_network 0
それに接続します:
> reconnect
ステータスを確認します。
> status
Wpa_cliを終了します。
> quit
シェルから、IPおよびネット設定のDHCPを要求します。
# dhclient -r
# dhclient wlan0
カードが実行されていない場合、最初にカードを埋めます:
ifconfig wlan0 up
ネットワークに合わせてパラメーターを設定します
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
VSWM-Very Simple Wireless Managerを使用できます。既知のAPを単純なcfgファイル(/etc/vswm.cfg)に配置し、vswm
を実行すると、使用可能なネットワークをスキャンし、/ etc/vswm.cfgにある最初のカードでカードを接続します。
VSWMは https://github.com/dmelo/vswm で入手できます。 vswm.cfg構成ファイルがどのように見えるかの選択はここにあります:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
内部では、標準のコマンドラインツールであるiwlist、wpa_supplicant、iwconfig、dhclient ...を使用します。ジョブのみを自動化します。
Wpa_supplicantを示唆するすべての答えは間違っています。はい、それはWPAネットワークに接続するかもしれませんが、それは維持するのが非常に難しく、有線接続でうまく動作しないので、長期的には悪い解決策です。 この回答 を読んで、コマンドラインからNetwork Managerを使用して生活を楽にしてください。私はwpa_supplicantを構成しようとして何時間も無駄にした後、nmcliを試してみたところ、「機能しました」。
checkbox
パッケージがインストールされている場合、実際にはNetworkManagerを使用してそれを行う方法があります。
Sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(クレジット: bug 923836 、このトピックに関する私の検索で出てきました。)
wpa_supplicant
を直接使用してワイヤレスネットワークに接続するのに問題がありました。 wpa_supplicant.conf
コマンドラインでwpa_supplicant
ファイルを使用すると、ネットワークIDとパスワードでエラーが生成されました。
Sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
私はwpa_cli
でそれを回避することができました。 Linux ndiswrapperでWindowsドライバーを使用しているため、使用しなければならなかったコマンドシーケンスは次のとおりです。
Sudo modprobe ndiswrapper
Sudo iwconfig wlan0 essid "<My Network ID>" mode managed
Sudo wpa_cli identity "<My Network ID>" password "<My password>"
GUIのネットワークのワイヤレスセクションに追加してネットワークをセットアップしたため、有線またはワイヤレスネットワークアイコンをクリックして、ワイヤレスプロバイダーを選択できました(ログインを完了するために必要な場合がありました)。
nmcli
は、Ubuntuのデフォルトのネットワークマネージャーアプリのコマンドラインバージョンです。
いくつかの利点は、グラフィカルインターフェイスから既に持っている構成を使用し、ルートアクセスを必要としないことです。
nmcli
を実行して、使用可能なオプションを表示できます。
MYESSIDという名前のwifiに接続する例:
nmcli c up MYESSID