web-dev-qa-db-ja.com

ターミナルで手動でネットワークに接続および切断する方法は?

ネットワーク管理者が私を非常に困らせているので、私はそれを置き換えたいと思います(おそらくppa:volaninからのwicd orNM)。

ネットワークマネージャーを使用せずに、ターミナルを介してネットワークに接続および切断する方法がわかりません。

ネットワークを管理するコマンドラインの方法が欲しい。

113
user7048

これは、12.04 +に適用されます。これらはテストできるものですが、古いバージョンでも使用できるためです。このガイドをいくつかの部分に分けました。

  • パート1パスワードまたはWEPキーのないワイヤレスルーター
  • パート2WPAまたはWPA2セキュリティキーを備えたワイヤレスルーター
    • パート2.1wpa_supplicantを使用したWPAルーターへの接続
    • パート2.2Network Managerを使用したWPAルーターへの接続
  • パート3nmcliを介した簡単な接続
  • パート4ワイヤレスルーターからの切断
  • パート5接続の削除(設定ファイルを含む)
  • パート6ログイン時の自動接続
  • ボーナスGUI経由でネットワークインターフェース名を見つける方法

次のコマンドラインを使用して、ワイヤレスカード、ワイヤレスセキュリティ、ワイヤレスルーターの設定に応じて接続および切断できます。先に進む前に、ネットワークサービスが有効になっていることを確認してください(リカバリモードを使用して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

パート1:パスワードまたはWEPキーのないワイヤレスルーター

ワイヤレスルーターにパスワードまたはWEPセキュリティがない場合は、次の手順を実行します。

  1. ターミナルを開き、ワイヤレス接続を検索します。

    iwlist wlan0 s  
    

    sはスキャン用です。wlan0は私のワイヤレスカードですが、このオプションを実行するにはSudoが必要です。ワイヤレスカードの名前を調べるには、単にiwlistと入力してを押します。 TAB。これにより、ネットワークカードの名前で行が自動補完されます。 iwconfigと入力して、表示されるリストで名前を見つけることもできます。

    ワイヤレスデバイスの名前がわからない場合は、iwconfigと入力して、ワイヤード/ワイヤレスデバイスとその名前を表示します。 wlan0、wlan1、eth1、eth2などのようになります。

  2. ルックアップにより、すべての可能なアクセスポイント(AP)が表示されます。リストにルーターが表示されたら、それに接続してみてください。

    パスワードがない場合は、次を実行します。

    iwconfig wlan0 essid NAME_OF_ACCESS_POINT  
    

    例えば

    iwconfig wlan0 essid CYREX  
    

    その後、dhclientを使用して、ルーターによって割り当てられていない場合に動的IPを取得できるようにしてください。これにより、CYREXルーターに接続したままになります。

    パスワードがある場合は、次を実行します。

    iwconfig wlan0 essid CYREX key PASSWORD
    

    それはあなたがそこに与えたパスワードを使用して接続する必要があります。

    繰り返しますが、接続後にdhclientを実行して、IPが割り当てられていることを確認してください。

  3. 正しく接続されていることを確認することは常に適切なので、iwconfigを実行して、ワイヤレスカードが上記のSSIDに接続されていることを確認します。接続されているデバイスと割り当てられているIPが表示されます。サポートされておらず、のようなエラーが表示される場合、インターフェースはスキャンをサポートしていません、次の2つのオプションを試してください:

    • インターフェイスがアップしているかどうかをテストします:Sudo ifconfig wlan0 up
    • スキャンの実行時にSudoを追加してみてください:Sudo iwlist wlan0 s
    • デバイスを停止してからバックアップしてください:

      Sudo ifconfig wlan0 down  
      Sudo ifconfig wlan0 up
      

パート2:WPAまたはWPA2セキュリティキーを備えたワイヤレスルーター

ワイヤレスルーターにWPA/WPA2パスワードがある場合、これを行う方法がいくつかあります。私は2つの最も人気のあるものに言及します::

  1. ターミナルを開き、ワイヤレス接続を検索します。

    iwlist wlan0 s  
    

    sはスキャン用です。wlan0は私のワイヤレスカードですが、このオプションを実行するにはSudoが必要です。ワイヤレスカードの名前を確認するには、iwlistと入力して[Enter]を押します。 TAB。これにより、ネットワークカードの名前で行が自動補完されます。 iwconfigと入力して、表示されるリストで名前を見つけることもできます。

    ワイヤレスデバイスの名前がわからない場合は、iwconfigと入力して、ワイヤード/ワイヤレスデバイスとその名前を表示します。 wlan0、wlan1、eth1、eth2などのようになります。

  2. ルックアップにより、すべての可能なアクセスポイント(AP)が表示されます。リストにルーターが表示されたら、それに接続してみてください。

パート2.1 WPA-SUPPLICANT GUIDE:wpa_supplicantを使用したWPAルーターへの接続

  1. ターミナルに次を入力します(ここで使用する必要なコマンドをすべてインストールする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  
    }  
    
  2. ここまでで、ワイヤレスカードインターフェイスの名前を知っている必要があります(例: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ドライバーを選択します。

  3. ワイヤレスインターフェイスカード名とドライバー名がわかったので、次の形式を使用して、既に作成された構成ファイルを使用して接続します。

    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を取得します。

  4. 一部のユーザーは、ハッシュを削除し、設定にパスワードのみを残していると報告しています。たとえば:

         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.2ネットワークマネージャーガイド:Network Managerを使用したWPAルーターへの接続

ネットワークマネージャーの良いところは、いくつかの素敵なスクリプトとツールが付属していることです。これらの2つはnmcliおよびcreate_connection(Neat Python 3スクリプト)で、この場合に使用します。

  1. 前述の手順を実行してルーターの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.
    
  2. この後、ルーターから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では最初に試したときに機能しました。そのため、両方の方法を投稿して、それぞれの場合に役立ち、ユーザーがどちらを望むかを簡単に決定できるようにします。

パート3:nmcliを介した簡単な接続

ネットワークマネージャーなしで接続する方法について説明しましたが、nmcli(ネットワークマネージャーのCLIバージョン)を使用する場合もあります。これを行うには、次のことを行います。

  1. 表示できるESSIDを確認してください:

    nmcli dev wifi
    
  2. ESSIDの名前を確認し、必要なパスワードを含む次の行で使用を続行します(これには、WEPおよびWPAタイプのパスワードが含まれます)。

    nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD
    

    以下は、ESSID Linux5Gに接続する例です。

    screenshot

    コンピューターに複数のワイヤレスデバイスがある場合、次のようにifnameパラメーターを使用して、使用するワイヤレスデバイスを指定できます。

    nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD ifname WIRELESS_DEVICE_NAME

    たとえば、私の場合、デバイスの名前はwlp9s0なので、この行を使用して、接続に使用するデバイスを指定します。

    screenshot

Nmcliに関する詳細情報は、helpパラメーターを使用して取得できます。たとえば、nmcli devについて知りたい場合は、nmcli dev helpと入力します。 nmcli dev wifiの詳細を知りたい場合は、nmcli dev wifi helpなどと入力します。

パート4:ワイヤレスルーターからの切断

これを実現するには、いくつかの方法があります。

  • 「強制」による切断: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

パート5:接続の削除

既存の接続を削除するのはかなり簡単です。ターミナルの最初のタイプ:

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

これは、接続を手動で編集/削除/追加する場合のみです。

パート6:ログイン時の自動接続

ワイヤレスルーターに自動的にログインする場合の手順は次のとおりです。

  1. interfaceファイルを開きます。

    Sudo nano /etc/network/interfaces
    
  2. 以下の情報を追加します(インターフェースが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
    
  3. ファイルを保存し、コンピューターを再起動します。これは、同じコンピューターからアクセスできるプレーンテキストファイルに保存されることに注意してください。

ボーナス:ワイヤレス接続の名前GUIスタイルを見つける

  1. ネットワークマネージャーをクリックして、接続情報に移動します

    screenshot

  2. ワイヤレスカードを保持しているタブに移動します

    screenshot

この画像では、このネットワークカードの名前はeth1(括弧内)ですが、これはユーザーごとに異なる場合があります。通常はwlan(wlan0、wlan1、wlan2 ...など)になりますが、eth1、eth2などにもなります。そのため、名前を確認する必要があります。

名前をすばやく見つけるもう1つの方法は、iwconfigと入力することです。これにより、使用可能なすべてのワイヤレスネットワークカードが表示されます。

138
Luis Alvarado

方法を知っていれば、とても簡単です。

使用可能なwlanアクセスポイントを表示します。

nmcli dev wifi

アクセスポイントに接続します。

nmcli dev wifi connect $ACCESS_POINT password $PASSWORD
36
Ikem Krueger

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 思考複数のネットワークセクションがあると、優先順位に従って複数のネットワークを接続できます。

13
Philippe

wicd-cursesを使用します。これは、これまでで最も簡単なユーザーインターフェイスです。

wicd-curses

を使用する必要があります  (右矢印キー->)構成を設定します。その他のすべては、画面上の指示から明らかです。

もちろん、wicdなしでインターネットにアクセスする方法を見つける必要があります。私はあなたがすでにそれを解決したか、そうでなければあなたが投稿しないと仮定しています。

(これはOPにとってタイムリーではありません。この質問はまだGoogleに掲載されているので、後世に投稿するだけです。どこかでワイヤーを使用してwicd-cursesSudo apt-get install wicd-cursesとともにインストールし、その後、動作することがわかっているネットワーク上でテストしてから離れてください!)

5
isomorphismes