Bagaimana cara mengatur beberapa jaringan WiFi?

113

Saya bolak-balik dari rumah ke sekolah dengan Pi saya. Saya baru saja menggunakan WiFi semalam di rumah menggunakan wpa.confbukan wpa_supplicant.confkarena buku yang saya gunakan memiliki berjalan melalui itu sebagai gantinya. Saya perhatikan banyak yang tampaknya digunakan wpa_supplicanttetapi saya tidak yakin mengapa ...

Ngomong-ngomong, saya tahu cara membuat IP WiFi statis untuk jaringan rumah saya, tetapi bagaimana cara mengatur semuanya agar terhubung otomatis ke WiFi sekolah saya dan menggunakan IP statis berbeda untuk jaringan itu?

Untuk jaringan, apakah saya hanya menambahkan yang lain network={}di wpa.conffile saya ? Untuk IP statis kedua, bagaimana saya mengikat itu ke jaringan sekolah?

Chef Flambe
sumber

Jawaban:

106

Edit /etc/wpa_supplicant/wpa_supplicant.conf dan tambahkan id_str = "school" di bawah sekolah wpa info dan id_str = "home" di bawah wpa info rumah Anda. File Anda sekarang akan terlihat mirip dengan ini:

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"
}

Kemudian atur / etc / network / interfaces dengan iface school inet static dan iface home inet static di dalamnya sehingga terlihat seperti berikut:

Ini berlaku untuk Raspbian Wheezy sebelum 2015-05-05 untuk nanti (dan Jessie) Lihat Bagaimana cara mengatur jaringan / WiFi / IP Statis

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>
11chubby11
sumber
Mungkin perlu diperhatikan: Jika saya memahami dokumentasi dengan benar, untuk menggunakan pendekatan ini, Anda harus memiliki dan properti id_str untuk SETIAP jaringan di file wpa_supplicant.conf Anda. Kalau tidak, ini tidak akan berhasil. Bisakah kamu mengkonfirmasi?
PICYourBrain
Saya tidak percaya ini yang terjadi.
les
3
Namun pendekatan ini berhasil, apakah mungkin untuk beralih WiFi tanpa harus memulai ulang Pi?
MetalGodwin
2
Jika tidak id_strdiberikan, nilainya akan menjadi default.
Raptor
1
@MetalGodwin Anda dapat menggunakan wpa_cliseperti yang disarankan di sini: raspberrypi.org/forums/viewtopic.php?t=179387
iwillnot
34

Baru-baru ini saya menemukan aplikasi konsol yang menyortir semua konfigurasi nirkabel. Anda juga dapat menggunakan alat ini untuk mengkonfigurasi antarmuka LAN.

sudo apt-get install wicd-curses

Ini akan menginstal beberapa paket lain tetapi menjalankan daemon sendiri di latar belakang. Ini mengelola jaringan dan memastikan Anda terhubung dengan yang Anda inginkan. Jalankan dengan:

sudo wicd-curses

Cuplikan layar kutukan

Jika Anda menerima pesan yang mengatakan tidak ada jaringan yang terdeteksi, tekan P(harus huruf besar, jadi gunakan [SHIFT] p) dan ketikkan wlan0 di bidang antarmuka nirkabel dan tekan F10 untuk menyimpan.

  1. R untuk menyegarkan daftar.
  2. Gunakan kursor pada keyboard untuk menavigasi daftar ke atas dan ke bawah
  3. Tekan kanan untuk mengonfigurasi koneksi nirkabel
  4. Tekan beberapa kali dan centang "Sambungkan secara otomatis ke jaringan ini"
  5. Tekan beberapa kali lagi dan ketik kata sandi Anda di bidang kunci
  6. Tekan F10 untuk menyimpan
  7. Mulai dari 1 untuk melakukan ini lagi untuk jaringan lain

masukkan deskripsi gambar di sini

Anda mungkin harus menekan Cuntuk menghubungkan ke titik akses. Jika Anda terhubung melalui kabel, kemungkinan besar akan mematikan antarmuka LAN dan memunculkan nirkabel.

Itu juga mengelola koneksi sehingga akan menyambung kembali ke titik akses nirkabel yang dikonfigurasi jika putus karena alasan apa pun tetapi juga akan mencoba untuk terhubung ke jaringan yang tersedia, seperti di Windows, Macintosh atau Linux Desktops.

Semoga ini bisa membantu!

Piotr Kula
sumber
2
jenis alat ini persis apa yang saya cari. semua fleksibilitas yang ditawarkan oleh GUI, tetapi sebagai gantinya terminal. Terima kasih!
FoamyGuy
Suara positif: Setelah menjalankan ini saya melakukan Pemindaian IP Tingkat Lanjut dari dua subnet dan Rpi3 saya muncul pada keduanya. Menariknya, ketika saya pergi untuk menginstal ini pada awalnya, ia memberi tahu saya bahwa saya sudah memiliki versi terbaru.
SDsolar
Satu detail kecil: Untuk mendapatkan jangkauan ekstra saya menggunakan wlan1 dengan antena eksternal, jadi dalam kutukan saya harus masuk ke prefs untuk menentukan adaptor itu. Tidak perlu mematikan wlan0 tapi saya tetap melakukannya dengan sudo ifcongig wlan0 down.
SDsolar
32

Dengan Jessierilis Raspbian , Anda tidak perlu mengedit interfacefile. Cukup memperbarui wpa_supplicantfile dengan banyak jaringan sudah cukup. Begini tampilannya -

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"
}

Ini berfungsi untuk saya dan wifi saya selalu terhubung ke daftar jaringan yang tersedia yang disebutkan dalam file di atas. Semoga ini bisa membantu.

Sortir Girish
sumber
23

Sebenarnya Anda dapat menambahkan opsi prioritas. Seperti itu:

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
}

priority: ketika beberapa jaringan tersedia secara bersamaan, yang memiliki nilai prioritas tertinggi dipilih.

id_str: untuk setiap jaringan, Anda dapat memberikan parameter ini nilai tertentu (string). Jika tidak ada yang disediakan, "default" digunakan sebagai string teks. String ini digunakan di / etc / network / interfaces sebagai pengenal antarmuka virtual. Ini memungkinkan pembuatan blok konfigurasi spesifik untuk setiap jaringan. Satu-satunya persyaratan adalah memiliki antarmuka fisik menggunakan metode "inet manual" (ini HARUS).

les
sumber
Cukup periksa ulang di sini, prioritas diapit tanda bintang? Dari apa yang saya baca, mereka tidak seharusnya tertutup tanda bintang ganda, tapi saya mungkin salah di sini.
ericmjl
@ ericmjl Dia mencoba menebalkan kode, saya akan mengeditnya.
Patrick Cook
Apakah ada cara untuk membuatnya secara otomatis memindai ulang dan melihat apakah jaringan prioritas yang lebih tinggi tersedia dan beralih?
Michal
@Michal Ya, jalankan proses latar belakang yang melakukan hal itu.
les
@les Bagaimana cara kerjanya, perintah mana?
luckydonald