ネットワーク管理者が私を非常に困らせているので、私はそれを置き換えたいと思います(おそらくppa:volaninからのwicd
orNM
)。
ネットワークマネージャーを使用せずに、ターミナルを介してネットワークに接続および切断する方法がわかりません。
ネットワークを管理するコマンドラインの方法が欲しい。
これは、12.04 +に適用されます。これらはテストできるものですが、古いバージョンでも使用できるためです。このガイドをいくつかの部分に分けました。
次のコマンドラインを使用して、ワイヤレスカード、ワイヤレスセキュリティ、ワイヤレスルーターの設定に応じて接続および切断できます。先に進む前に、ネットワークサービスが有効になっていることを確認してください(リカバリモードを使用してUbuntuを起動する場合):
Ubuntuのバージョンに応じて、次のいずれかの方法を使用して起動する必要があります。
SystemDを使用している場合(14.10以降):
Sudo systemctl start networking
Legacy init.dの方法を使用している場合:Sudo /etc/init.d/networking restart
Legacy Upstartの方法を使用している場合:Sudo service network-manager restart
ワイヤレスルーターにパスワードまたはWEPセキュリティがない場合は、次の手順を実行します。
ターミナルを開き、ワイヤレス接続を検索します。
iwlist wlan0 s
(sはスキャン用です。wlan0は私のワイヤレスカードですが、このオプションを実行するにはSudo
が必要です。ワイヤレスカードの名前を調べるには、単にiwlistと入力してを押します。 TAB。これにより、ネットワークカードの名前で行が自動補完されます。 iwconfig
と入力して、表示されるリストで名前を見つけることもできます。
ワイヤレスデバイスの名前がわからない場合は、iwconfig
と入力して、ワイヤード/ワイヤレスデバイスとその名前を表示します。 wlan0、wlan1、eth1、eth2などのようになります。
ルックアップにより、すべての可能なアクセスポイント(AP)が表示されます。リストにルーターが表示されたら、それに接続してみてください。
パスワードがない場合は、次を実行します。
iwconfig wlan0 essid NAME_OF_ACCESS_POINT
例えば
iwconfig wlan0 essid CYREX
その後、dhclient
を使用して、ルーターによって割り当てられていない場合に動的IPを取得できるようにしてください。これにより、CYREXルーターに接続したままになります。
パスワードがある場合は、次を実行します。
iwconfig wlan0 essid CYREX key PASSWORD
それはあなたがそこに与えたパスワードを使用して接続する必要があります。
繰り返しますが、接続後にdhclient
を実行して、IPが割り当てられていることを確認してください。
正しく接続されていることを確認することは常に適切なので、iwconfig
を実行して、ワイヤレスカードが上記のSSIDに接続されていることを確認します。接続されているデバイスと割り当てられているIPが表示されます。サポートされておらず、のようなエラーが表示される場合、インターフェースはスキャンをサポートしていません、次の2つのオプションを試してください:
Sudo ifconfig wlan0 up
Sudo
を追加してみてください:Sudo iwlist wlan0 s
デバイスを停止してからバックアップしてください:
Sudo ifconfig wlan0 down
Sudo ifconfig wlan0 up
ワイヤレスルーターにWPA/WPA2パスワードがある場合、これを行う方法がいくつかあります。私は2つの最も人気のあるものに言及します::
ターミナルを開き、ワイヤレス接続を検索します。
iwlist wlan0 s
(sはスキャン用です。wlan0は私のワイヤレスカードですが、このオプションを実行するにはSudo
が必要です。ワイヤレスカードの名前を確認するには、iwlistと入力して[Enter]を押します。 TAB。これにより、ネットワークカードの名前で行が自動補完されます。 iwconfig
と入力して、表示されるリストで名前を見つけることもできます。
ワイヤレスデバイスの名前がわからない場合は、iwconfig
と入力して、ワイヤード/ワイヤレスデバイスとその名前を表示します。 wlan0、wlan1、eth1、eth2などのようになります。
ルックアップにより、すべての可能なアクセスポイント(AP)が表示されます。リストにルーターが表示されたら、それに接続してみてください。
ターミナルに次を入力します(ここで使用する必要なコマンドをすべてインストールするwpasupplicant
パッケージがインストールされていると仮定します):
wpa_passphrase SSID PASSWORD > CONFIG_FILE
例:wpa_passphrase Virus LinuxFTW > wpa.conf
ここで、Virusはルーターの名前、LinuxFTWはパスワード、 wpa.conf
は、このすべての情報を保存するファイルです。ファイルを別の場所に保存できることに注意してください。多くのユーザーは、/etc/wpa_supplicant.conf
ではなくwpa.conf
にファイルを保存します。 wpa.confファイルのデータは次のようになります。
network={
ssid="Virus"
#psk="LinuxFTW"
psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae
}
ここまでで、ワイヤレスカードインターフェイスの名前を知っている必要があります(例:Wlan0、eth2、Wlan2 ...)。次に、どのドライバーが使用されているかを知る必要があります。このために入力します:
wpa_supplicant
多くの情報が表示されるはずですが、利用可能なすべてのドライバーを表示する** Drivers *というセクションがあります(これらはwpa_supplicant
をコンパイルするときに利用できます)。私の場合、これは次のようなものです。
drivers:
wext = Linux wireless extensions (generic)
nl80211 = Linux nl80211/cfg80211
wired = Wired Ethernet driver
none = no driver (RADIUS server/WPS ER)
リスト全体は、hostap、hermes、madwifi、wext、broadcom、wired、roboswitch、bsd、ndisです。これはwpa_supplicant
がどのようにコンパイルされたかによって変わる可能性がありますが、表示されるものはシステム上のものと似ているはずです。ほとんどのユーザーは、wext
ドライバーを選択します。
ワイヤレスインターフェイスカード名とドライバー名がわかったので、次の形式を使用して、既に作成された構成ファイルを使用して接続します。
wpa_supplicant -iINTERFACE_NAME -cCONFIGURATION_FILE -DDRIVER_NAME
例えば:
wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
-i
はインターフェイスカードの名前、-c
は構成ファイルの場所、-D
は接続に使用するドライバーの名前です。正しく接続されたら、押します CTRL+C キャンセルしてから行を再度実行しますが、今回は-B
を使用してバックグラウンドに送信し、端末を引き続き使用できるようにします。
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
その後、Sudo dhclient wlan0
を実行して、ルーターからIPを取得します。
一部のユーザーは、ハッシュを削除し、設定にパスワードのみを残していると報告しています。たとえば:
network={
ssid="Virus"
psk="LinuxFTW"
}
他の人はssid_scanを設定ファイルに追加しました:
network={
ssid="Virus"
scan_ssid=1
#psk="LinuxFTW"
psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae
}
または、キータイプを追加することもできます。
network={
ssid="Virus"
scan_ssid=1
key_mgmt=WPA-PSK
#psk="LinuxFTW"
psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae
}
これについての詳細はman wpa_supplicant.conf
にあります
ネットワークマネージャーの良いところは、いくつかの素敵なスクリプトとツールが付属していることです。これらの2つはnmcli
およびcreate_connection
(Neat Python 3スクリプト)で、この場合に使用します。
前述の手順を実行してルーターのSSID名を見つけたら(上記のiwlist
に関する部分を思い出してください)、次のことを行います。
Sudo /usr/share/checkbox/scripts/create_connection -S SECURITY_TYPE -K PASSWORD SSID_NAME
ここで、SECURITYはルーターが使用するセキュリティのタイプ(WPA、WEP)、PASSWORDis .. well .. the password and SSID_NAME is the SSID Name of the Router。例えば:
Sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
Network Managerの接続を作成します。接続は次のようになります。
$ Sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
[Sudo] password for cyrex:
Connection Virus registered
Connection Virus activated.
この後、ルーターからIPが割り当てられます。そうでない場合は、単にSudo dhclient wlan0
を実行します(wlan0がインターフェースの名前であると仮定します)。次のようなnmcliを使用して、ネットワークマネージャーの接続を確認することもできます:nmcli c
$ nmcli c
NAME UUID TYPE TIMESTAMP-REAL
Xcentral f51a5a64-8a91-47d6-897c-28efcd84d2b0 802-11-wireless Fri 22 Mar 2013 02:25:54 PM VET
Realtek 9ded7740-ad29-4c8f-861f-84ec4da87f8d 802-3-ethernet Tue 05 Mar 2013 01:18:31 AM VET
Intel e25b1fd8-c4ff-41ac-a6bc-22620296f01c 802-3-ethernet Fri 05 Apr 2013 10:04:05 PM VET
Virus 3f8ced55-507b-4558-a70b-0d260441f570 802-11-wireless Tue 09 Apr 2013 06:31:10 AM VET
wpa_supplicant
を使用してもうまくいかない場合がいくつかあるので、ネットワークマネージャーの方法に言及します(ルーターとワイヤレスカード間の問題、セキュリティの問題など)。私の場合、1台のPCでwpa_supplicant
を使用する試みはすべて機能しませんでしたが、別のPCでは最初に試したときに機能しました。そのため、両方の方法を投稿して、それぞれの場合に役立ち、ユーザーがどちらを望むかを簡単に決定できるようにします。
ネットワークマネージャーなしで接続する方法について説明しましたが、nmcli(ネットワークマネージャーのCLIバージョン)を使用する場合もあります。これを行うには、次のことを行います。
表示できるESSIDを確認してください:
nmcli dev wifi
ESSIDの名前を確認し、必要なパスワードを含む次の行で使用を続行します(これには、WEPおよびWPAタイプのパスワードが含まれます)。
nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD
以下は、ESSID Linux5Gに接続する例です。
コンピューターに複数のワイヤレスデバイスがある場合、次のようにifname
パラメーターを使用して、使用するワイヤレスデバイスを指定できます。
nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD ifname WIRELESS_DEVICE_NAME
たとえば、私の場合、デバイスの名前はwlp9s0
なので、この行を使用して、接続に使用するデバイスを指定します。
Nmcliに関する詳細情報は、helpパラメーターを使用して取得できます。たとえば、nmcli dev
について知りたい場合は、nmcli dev help
と入力します。 nmcli dev wifi
の詳細を知りたい場合は、nmcli dev wifi help
などと入力します。
これを実現するには、いくつかの方法があります。
「強制」による切断:Sudo ifconfig wlan0 down
これにより、ワイヤレスカードインターフェイスがオフになります(ドライバーがオフになります)。オンにするには、ifconfig wlan0 up
に続けてSudo dhclient wlan0
を入力します。 Network Managerで表示すると、接続済みとして表示されますが、実際にはルーターへの接続はありません。 ping
を試みると、connect: Network is unreachable
エラーがスローされます。
DHCP IPを解放します:Sudo dhclient -r wlan0
IPを再度割り当てるには、Sudo dhclient wlan0
を忘れないでください。
Network Managerを使用して切断します:nmcli nm enable false
Nmは、Network Managerの状態を管理および設定するnmcliのパラメーターです。オプションenable
には、trueまたはfalseを指定できます。 falseに設定すると、Network Managerによって管理されているすべてのネットワーク接続が切断されます。 nmcliはルート権限を必要としないことに注意してください。
Network Managerタイプnmcli nm
のステータスを確認するには、次のようなものが表示されます。
$ nmcli nm
RUNNING STATE WIFI-HARDWARE WIFI WWAN-HARDWARE WWAN
running connected enabled enabled enabled enabled
接続をオンまたはオフにする別の方法(接続/切断)は、以下を実行することです。
nmcli c down id NAME` - Will disconnect the connection NAME
nmcli c up id NAME` - Will connect the connection NAME
既存の接続を削除するのはかなり簡単です。ターミナルの最初のタイプ:
nmcli c
次のようなものが出力されます。
$ nmcli c
NAME UUID TYPE TIMESTAMP-REAL
Realtek 9ded7740-ad29-4c8f-861f-84ec4da87f8d 802-3-ethernet Tue 05 Mar 2013 01:18:31 AM VET
PrivateSys 86b2b37d-4835-44f1-ba95-46c4b747140f 802-11-wireless Sun 21 Apr 2013 07:52:57 PM VET
pepe 9887664b-183a-45c0-a81f-27d5d0e6d9d8 802-11-wireless Thu 18 Apr 2013 02:43:05 AM VET
Virus 3f8ced55-507b-4558-a70b-0d260441f570 802-11-wireless Tue 16 Apr 2013 11:33:24 AM VET
Intel e25b1fd8-c4ff-41ac-a6bc-22620296f01c 802-3-ethernet Sun 21 Apr 2013 08:12:29 PM VET
Xcentral f51a5a64-8a91-47d6-897c-28efcd84d2b0 802-11-wireless Fri 22 Mar 2013 02:25:54 PM VET
Xcentralを削除したい場合、次のコマンドを実行します。
nmcli c delete id Xcentral
実行すると、次のようになります。
$ nmcli c delete id Xcentral
$ nmcli c
NAME UUID TYPE TIMESTAMP-REAL
Realtek 9ded7740-ad29-4c8f-861f-84ec4da87f8d 802-3-ethernet Tue 05 Mar 2013 01:18:31 AM VET
PrivateSys 86b2b37d-4835-44f1-ba95-46c4b747140f 802-11-wireless Sun 21 Apr 2013 07:52:57 PM VET
pepe 9887664b-183a-45c0-a81f-27d5d0e6d9d8 802-11-wireless Thu 18 Apr 2013 02:43:05 AM VET
Virus 3f8ced55-507b-4558-a70b-0d260441f570 802-11-wireless Tue 16 Apr 2013 11:33:24 AM VET
Intel e25b1fd8-c4ff-41ac-a6bc-22620296f01c 802-3-ethernet Sun 21 Apr 2013 08:12:29 PM VET
すべての接続は/etc/NetworkManager/system-connections/
に保存されます
今そのフォルダを見ると、次のファイルが表示されます。
$ ls /etc/NetworkManager/system-connections
Intel pepe PrivateSys Realtek Virus
これは、接続を手動で編集/削除/追加する場合のみです。
ワイヤレスルーターに自動的にログインする場合の手順は次のとおりです。
interface
ファイルを開きます。
Sudo nano /etc/network/interfaces
以下の情報を追加します(インターフェースがwlan0と呼ばれると仮定します):
auto wlan0
iface wlan0 inet static
address ASSIGNED_IP
netmask 255.255.255.0
gateway THE_GATEWAY
wireless-essid YOURSSID
wireless-key WIRELESSKEY_HERE
ファイルを保存し、コンピューターを再起動します。これは、同じコンピューターからアクセスできるプレーンテキストファイルに保存されることに注意してください。
ネットワークマネージャーをクリックして、接続情報に移動します
ワイヤレスカードを保持しているタブに移動します
この画像では、このネットワークカードの名前はeth1(括弧内)ですが、これはユーザーごとに異なる場合があります。通常はwlan(wlan0、wlan1、wlan2 ...など)になりますが、eth1、eth2などにもなります。そのため、名前を確認する必要があります。
名前をすばやく見つけるもう1つの方法は、iwconfig
と入力することです。これにより、使用可能なすべてのワイヤレスネットワークカードが表示されます。
方法を知っていれば、とても簡単です。
使用可能なwlanアクセスポイントを表示します。
nmcli dev wifi
アクセスポイントに接続します。
nmcli dev wifi connect $ACCESS_POINT password $PASSWORD
wicdには2つのコマンドラインユーティリティが付属しています:wicd-cursesとwicd-cli(個別のインストールが必要な場合があります)wicd-curseを使用すると、ネットワーク(有線または無線)への切断をインタラクティブに構成/接続できますが、wicd-cliは同じ機能を提供しますが、コマンドラインオプションのみ(スクリプトに便利)cronジョブで使用して、自動再接続のバグを回避します。
wicd-cli -y -c -m MY_NETWORK_SSID
また、次のようなwpa_supplicant構成を「そのまま」持つこともできます。
/ etc/network/interface:
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa.conf
および(WPAの例として)/etc/wpa.conf:
network={
ssid="MY_NETWORK_SSID"
proto=RSN
key_mgmt=WPA_PSK
pairwise=CCMP_TKIP
group=CCMP_TKIP
psk="my network key in the clear"
}
これには多くの考慮事項がありますが、事前共有キーをクリアテキスト(wpa_supplicantで暗号化されたキーまたは単に難読化されたキーを提示し、manページを確認できます)を持つことのセキュリティ上の懸念は、そのファイルを所有して読み取り専用にすることですルートによる軽減です。
I 思考複数のネットワークセクションがあると、優先順位に従って複数のネットワークを接続できます。
wicd-curses
を使用します。これは、これまでで最も簡単なユーザーインターフェイスです。
を使用する必要があります → (右矢印キー->
)構成を設定します。その他のすべては、画面上の指示から明らかです。
もちろん、wicd
なしでインターネットにアクセスする方法を見つける必要があります。私はあなたがすでにそれを解決したか、そうでなければあなたが投稿しないと仮定しています。
(これはOPにとってタイムリーではありません。この質問はまだGoogleに掲載されているので、後世に投稿するだけです。どこかでワイヤーを使用してwicd-curses
をSudo apt-get install wicd-curses
とともにインストールし、その後、動作することがわかっているネットワーク上でテストしてから離れてください!)