/ etc / network / interfacesファイルの `wpa-roam`と` wpa-conf`の違いは何ですか?


46

私は以前に質問を投稿 RPIに静的IPアドレスを設定する方法のと最終的に考え出したいくつかの他の人と一緒に、答えは変更にあったことwpa-roamwpa-conf指したとき/etc/wpa_supplicant/wpa_supplicant.conf、しかし、なぜこの仕事をしますか?

すなわち、私の/etc/network/interfacesファイルにこれがある場合:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
    address 192.168.0.3
    netmask 255.255.255.0
    gateway 192.168.0.1
    broadcast 192.168.0.255
    network 192.168.0.0
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

/etc/wpa_supplicant/wpa_supplicant.conf適切に設定されていると仮定すると、この方法は機能しません。

これはからの関連出力ですiwconfig

wlan0     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency=2.437 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

と同様にifconfig

wlan0     Link encap:Ethernet  HWaddr ec:1a:59:64:3a:36  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:847 errors:0 dropped:1029 overruns:0 frame:0
          TX packets:759 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:677394 (661.5 KiB)  TX bytes:133345 (130.2 KiB)

しかし、変更wpa-roamwpa-confて実行すると、すべてが魔法のように動作し始めますsudo /etc/init.d/networking restart。いつ使用しwpa-roam、いつ使用しwpa-confますか?

回答:


30

wpa-roaming は、ワイヤレスネットワークを参照して接続できる方法です。

次のセットアップの結果、イーサネットケーブルが接続されていない場合、wlan0が優先され、目的のワイヤレスネットワーク、または利用可能なオープンワイヤレスネットワークまたは所定のワイヤレスネットワークに接続されます。イーサネットケーブルを接続すると、ケーブルネットワーク接続はすぐにWiFiアクセスをシャットダウンし、eth0はケーブルネットワークに接続します。ネットワークケーブルを外すと、ワイヤレス接続がすぐに再び利用可能になります。

ソース:http : //manual.aptosid.com/en/inet-setup-en.htm

これwpa-confは、ネットワークインターフェイスを介したローミングに必要のない静的な構成だと思います。これに関連する詳細なドキュメントは見つかりませんでした。

ちなみに、WiFiの構成にも同じ問題があります。有線イーサネットのプラグを抜くと、WiFiが機能しません。だから私はあなたのようにwpa-roamをwpa-confに変更しました、それはうまくいきました。


1
wpa-roamを使用する場合は、wlan0をdhcpまたはstaticではなくmanualに設定する必要があると思われます。しかしそれは単なる理論です。
ローレンス

5
はい、それは正しいです。ローミングとは、ワイヤレスインターフェイスが他のアクセスポイント「ローミング」に接続できるようにすることを意味します。ただし、1セットしかない場合は、何か問題が発生した場合に「再接続」を試みます。wpa-confを使用すると、ドロップ時に再接続しません。
ピョートルクラ

@ローレンス、確かに。その他の理論よりもかかわら:それは報告されている場合、あなたの実行sudo /etc/init.d/networking restart
Jochem Schulenklopper

@jschulenklopperああ。気づかなかった まったく使いません/etc/init.d/networking restart
ローレンス

3
注意すべきもう1つの違いは、プラグイン時のwpa-roam ifplugd切断についてです。これは構成可能な動作であり、RaspberryPI固有のものである可能性があります。wlan0eth0
堂免

4

また、ローカルにインストールされたドキュメントファイルでwpa_supplicantの2つの操作モード(ManagedとRoaming)の完全な説明を見つけることができます-表示できます([古い?]オンラインバージョンはこちらです)。

zless /usr/share/doc/wpa_supplicant/README.modes.gz

管理モードでは単一の構成されたWiFiネットワークへの接続のみが許可されますが、ローミングモードでは潜在的に異なるネットワーク構成を持つ複数のWiFiネットワークへの接続が許可され、特別なオプションid_strを追加することで制御できます。ネットワーク構成ファイル-ファイルで指定されてい/etc/network/interfacesます。例えば:

allow-hotplug eth1
iface eth1 inet manual
    wpa-driver wext
    wpa-roam /etc/wpa_supplicant/wpa_roam.conf

# id_str="uni"
iface uni inet dhcp

# id_str="home_static"
iface home_static inet static
        address 192.168.0.20
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

対応するWiFiネットワークがwpa-roamファイルで指定されている場所。例/etc/wpa_supplicant/wpa_roam.conf

network={
        ssid="foo"
        key_mgmt=NONE
        # this id_str will notify /sbin/wpa_action to 'ifup uni'
        id_str="uni"
}

network={
        ssid="bar"
        psk=123456789...
        # this id_str will notify /sbin/wpa_action to 'ifup home_static'
        id_str="home_static"
}

そのため、「uni」ネットワークはDHCPを使用し、「home_static」ネットワークは静的IPアドレス192.168.0.20を使用します。id_strただし、オプションを使用する必要はなく、デバイスはデフォルトを使用するだけです(docファイルを参照)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.