Birden fazla WiFi ağı nasıl kurulur?


113

Pi ile evden okula ileri geri gidiyorum. Sadece kullanarak evde WiFi çalışan dün gece aldım wpa.confyerine wpa_supplicant.confkitap olarak yerine bunun için aracılığıyla yürüyüş vardı kullanıyordu. Çok fazla kullanım gibi göründüğünü fark ettim wpa_supplicantama nedenini bilmiyorum ...

Her neyse, WiFi IP'yi ev ağım için statik hale nasıl getireceğimi biliyorum ama okulumun WiFi'sine otomatik olarak bağlanmak için işleri nasıl ayarlarım ve bu ağ için farklı bir statik IP kullanırım?

Ağ için ben sadece başka eklerim network={}benim de wpa.confdosyaya? İkinci statik IP için bunu okul ağına nasıl bağlarım?

Yanıtlar:


106

Düzenleme /etc/wpa_supplicant/wpa_supplicant.conf ve ekleme = "okul" ID_STR okullar wpa bilgi ve altında ID_STR = "ev" bilgi wpa Evlerinizde altında. Dosyanız şimdi şuna benzemelidir:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="SCHOOLS NETWORK NAME"
    psk="SCHOOLS PASSWORD"
    id_str="school"
}

network={
    ssid="HOME NETWORK NAME"
    psk="HOME PASSWORD"
    id_str="home"
}

Sonra kurmak / etc / network / interfaces ile iface okul inet statik ve inet statik ev Iface o yüzden aşağıdaki gibi görünür de:

Bu, daha sonra (ve Jessie) için 2015-05-05 öncesi Raspbian Wheezy için geçerlidir (bkz. Jessie) Bkz . Ağ / WiFi / Statik IP'yi nasıl kurarım?

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface school inet static
address <school address>
gateway <school gateway>
netmask <school netmask>

iface home inet static
address <home address>
gateway <home gateway>
netmask <home netmask>

Kayda değer olabilir: Dokümantasyonu doğru anladıysam, bu yaklaşımı kullanmak için, wpa_supplicant.conf dosyanızdaki HERHANGİ ağ için id_str özelliğine sahip olmalısınız. Aksi takdirde bu işe yaramaz. Onaylayabilir misin?
PICyourBrain

Bunun böyle olduğuna inanmıyorum.
les

3
Bu yaklaşım işe yarıyor, ancak Pi'yi yeniden başlatmak zorunda kalmadan WiFi'yi değiştirmek mümkün mü?
MetalGodwin

2
Eğer id_strverilmezse, değer olacaktır default.
Raptor

1
Sen kullanabilirsiniz @MetalGodwin wpa_cliburada önerildiği gibi: raspberrypi.org/forums/viewtopic.php?t=179387
iwillnot

34

Kısa bir süre önce tüm kablosuz yapılandırmayı cehenneme çeviren bir konsol uygulamasında rastladım. LAN arabirimini yapılandırmak için bu aracı da kullanabilirsiniz.

sudo apt-get install wicd-curses

Birkaç paket daha kuracak, ancak arka planda kendi arka planını işletecek. Bu, ağları yönetir ve istediğinizlere bağlanmanızı sağlar. Şununla çalıştır:

sudo wicd-curses

Wicd-curses ekran görüntüsü

Herhangi bir şebeke tespit edilemediğini belirten bir mesaj alırsanız, tuşuna basın P(büyük harf olmalı, bu yüzden [SHIFT] p kullanın) ve kablosuz arayüz alanına wlan0 yazın ve kaydetmek için F10 tuşuna basın.

  1. R Listeyi yenilemek için
  2. Listede aşağı yukarı gezinmek için klavyedeki imleçleri kullanın.
  3. Kablosuz bağlantıyı yapılandırmak için sağa basın
  4. Birkaç kez basın ve "Bu ağa otomatik olarak bağlan" seçeneğini işaretleyin
  5. Birkaç kez tekrar basın ve şifrenizi anahtar alanına yazın
  6. Kaydetmek için F10 tuşuna basın.
  7. Diğer ağlarda bunu tekrar yapmak için 1'den başla

görüntü tanımını buraya girin

CErişim noktasına bağlanmak için tuşuna basmanız gerekebilir . Kablo ile bağlandıysanız, bu büyük olasılıkla LAN arayüzünü öldürür ve kablosuz açılır.

Aynı zamanda bağlantıyı da yönetir, böylece herhangi bir nedenden ötürü çıkarsa yapılandırılmış kablosuz erişim noktalarına yeniden bağlanacak, ancak Windows, Macintosh veya Linux Masaüstlerinde olduğu gibi mevcut ağlara da bağlanmaya çalışacaktır.

Umarım yardımcı olur!


2
bu tür bir araç tam olarak aradığım şeydi. GUI tarafından sunulan esnekliğin tümü, ancak bunun yerine terminal. Teşekkür ederim!
FoamyGuy

Artı: Bunu çalıştırdıktan sonra, iki alt ağın Gelişmiş IP Taraması yaptım ve Rpi3'üm her ikisinde de belirdi. İlginç bir şekilde, bunu ilk kurmaya gittiğimde, en son sürüme sahip olduğumu söyledi.
SDsolar

Küçük bir detay: Fazladan menzile ulaşmak için harici bir antenle wlan1 kullanıyorum, bu nedenle küfürlerde bu adaptörü belirlemek için tercihlerime girmem gerekiyordu. Wlan0'ı kapatmaya gerek yoktu ama yine de sudo ifcongig wlan0 ile sudo ile yaptım.
SDsolar

32

Raspbian Jessiesürümüyle interfacedosyayı düzenlemek zorunda değilsiniz . wpa_supplicantDosyayı sadece birden fazla ağ ile güncellemek yeterli olacaktır. İşte göründüğü gibi -

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="SCHOOLS NETWORK NAME"
    psk="SCHOOLS PASSWORD"
    id_str="school"
}

network={
    ssid="HOME NETWORK NAME"
    psk="HOME PASSWORD"
    id_str="home"
}

Bu benim için çalıştı ve benim wifi her zaman yukarıdaki dosyada belirtilen mevcut ağların listesine bağlı. Umarım yardımcı olur.


23

Aslında öncelik seçeneğini ekleyebilirsiniz. Bunun gibi:

network={
      ssid="open"
      key_mgmt=NONE
      id_str="open"
      priority=3
}

network={
        ssid="secure"
        key_mgmt=WPA-EAP
        proto=WPA2
        group=CCMP
        pairwise=CCMP
        eap=TLS
        ca_cert="/etc/certs/cacert.pem"
        client_cert="/etc/certs/client.pem"
        private_key="/etc/certs/client.key"
        private_key_passwd="somepwd"
        identity="me"
        priority=5
}

network={
        ssid="AndroidAP"
        key_mgmt=WPA-PSK
        proto=WPA2
        pairwise=CCMP
        group=CCMP
        psk="SomeP4ssw0rd"
        priority=4
}


network={
        ssid="Spooky"
        key_mgmt=NONE
        group=WEP104
        psk="A4ABC2FC27412D4D23CAEBCA23"
        priority=2
}

network={
        ssid="another"
        key_mgmt=WPA-PSK
        proto=WPA2
        pairwise=CCMP
        group=CCMP
        psk="A very long and secret passphrase here"
        priority=1
}

öncelik: aynı anda birden fazla ağ mevcut olduğunda, en yüksek öncelik değerine sahip olan seçilir.

id_str: Her ağ için bu parametreye belirli bir değer (bir dize) verebilirsiniz. Hiçbiri sağlanmazsa, "default" metin dizesi olarak kullanılır. Bu dize / etc / network / interfaces'te sanal bir arabirim tanımlayıcısı olarak kullanılır. Bu, her ağ için belirli yapılandırma blokları oluşturmaya izin verir. Tek şart "inet manual" yöntemini kullanarak fiziksel arayüze sahip olmaktır (bu bir zorunluluktur).


Burada sadece iki kez kontrol etmek, yıldızlara öncelik vermek mi? Okuduklarımdan sonra, çift yıldızlarla çevrilmemeleri gerekiyordu, ama burada yanlış olabilirim.
ericmjl

@ ericmjl Kodu koymaya çalıştı, onu düzenleyeceğim.
Patrick Cook,

Otomatik olarak yeniden tarama yapıp daha yüksek öncelikli bir ağ olup olmadığını görmek için geçiş yapmanın bir yolu var mı?
Michal

@Michal Evet, çalışan bir arkaplan işlemi var.
les

@les Bu nasıl çalışır? Hangi komut?
luckydonald
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.