GNU/Linux >> Belajar Linux >  >> Ubuntu

Hubungkan ke Wi-Fi Dari Terminal di Ubuntu 18.04/20.04 dengan Pemasok WPA

Dalam tutorial ini, kita akan mempelajari cara menghubungkan ke jaringan Wi-Fi dari baris perintah di server dan desktop Ubuntu 18.04/20.04 menggunakan wpa_supplicant . Dalam jaringan nirkabel rumah modern, komunikasi dilindungi dengan WPA-PSK (kunci yang dibagikan sebelumnya) sebagai lawan dari WPA-Enterprise, yang dirancang untuk jaringan perusahaan. WPA-PSK juga dikenal sebagai WPA-Personal. wpa_supplicant merupakan implementasi dari komponen pemohon WPA. Pemohon di LAN nirkabel adalah perangkat lunak klien yang diinstal pada komputer pengguna akhir yang perlu diautentikasi untuk bergabung dengan jaringan.

Harap dicatat bahwa Anda perlu menginstal wpa_supplicant software sebelum terhubung ke Wi-Fi, jadi Anda harus terhubung ke Wired Ethernet terlebih dahulu, yang dilakukan hanya satu kali. Jika Anda tidak menyukai metode ini, jangan marah kepada saya. Mungkin suatu hari nanti Ubuntu akan mengirimkan wpa_supplicant pada instalasi yang bersih.

Langkah 1:Temukan Nama Antarmuka Nirkabel dan Jaringan Nirkabel Anda

Jalankan iwconfig perintah untuk menemukan nama antarmuka nirkabel Anda.

iwconfig

wlan0 dulunya adalah nama umum untuk antarmuka jaringan nirkabel pada sistem Linux tanpa Systemd. Karena Ubuntu menggunakan Systemd, Anda akan menemukan bahwa antarmuka jaringan nirkabel Anda bernama seperti wlp4s0 . Anda juga dapat melihat bahwa itu tidak terkait dengan titik akses apa pun saat ini.

Jika antarmuka nirkabel Anda tidak ditampilkan, mungkin Anda perlu membukanya dengan perintah berikut.

sudo ifconfig wlp4s0 up

Kemudian temukan nama jaringan nirkabel Anda dengan memindai jaringan terdekat dengan perintah di bawah ini. Ganti wlp4s0 dengan nama antarmuka nirkabel Anda sendiri. ESSID adalah pengidentifikasi nama jaringan.

sudo iwlist wlp4s0 scan | grep ESSID

Langkah 2:Hubungkan ke Jaringan Wi-Fi Dengan WPA_Supplicant

Sekarang instal wpa_supplicant di Ubuntu 18.04/20.04 dari repositori perangkat lunak default.

sudo apt install wpasupplicant

Kita perlu membuat file bernama wpa_supplicant.conf menggunakan wpa_passphrase kegunaan. wpa_supplicant.conf adalah file konfigurasi yang menjelaskan semua jaringan yang ingin disambungkan oleh pengguna ke komputer. Jalankan perintah berikut untuk membuat file ini. Ganti frasa sandi ESSID dan Wi-Fi dengan Anda sendiri.

wpa_passphrase-ESSID-anda-wifi-passphrase Anda | sudo tee /etc/wpa_supplicant.conf

Perhatikan bahwa pada tangkapan layar di atas, saya membungkus ESSID saya dengan tanda kutip ganda, karena ESSID saya berisi spasi.

Keluaran dari wpa_passphrase perintah akan disalurkan ke tee , dan kemudian ditulis ke /etc/wpa_supplicant.conf mengajukan. Sekarang gunakan perintah berikut untuk menghubungkan kartu nirkabel Anda ke titik akses nirkabel.

sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlp4s0

Output berikut menunjukkan kartu nirkabel Anda berhasil terhubung ke titik akses.

Berhasil diinisialisasi wpa_supplicanttwlp4s0:SME:Mencoba mengautentikasi dengan c5:4a:21:53:ac:eb (SSID='LinuxBabe.Com Network' freq=2437 MHz)wlp4s0:Mencoba mengaitkan dengan c5:4a:21:53:ac:eb (SSID='LinuxBabe.Com Network' freq=2437 MHz)wlp4s0:Terkait dengan c5:4a:21:53:ac:eb wlp4s0:CTRL-EVENT-SUBNET-STATUS-UPDATE status=0wlp4s0:WPA:Negosiasi kunci selesai dengan c5:4a:21:53:ac:eb [PTK=CCMP GTK=CCMP]wlp4s0:CTRL-EVENT-CONNECTED - Koneksi ke c5:4a:21:53:ac:eb selesai [id=0 id_str=]

Perhatikan bahwa jika Anda menggunakan edisi desktop Ubuntu, maka Anda harus menghentikan Pengelola Jaringan dengan perintah berikut, jika tidak maka akan menyebabkan masalah koneksi saat menggunakan wpa_supplicant .

sudo systemctl stop NetworkManager

Dan nonaktifkan NetworkManager auto-start saat boot dengan menjalankan perintah berikut.

sudo systemctl nonaktifkan NetworkManager-wait-online NetworkManager-dispatcher NetworkManager

Secara default, wpa_supplicant berjalan di latar depan. Jika koneksi selesai, buka jendela terminal lain dan jalankan

iwconfig

Anda dapat melihat bahwa antarmuka nirkabel sekarang dikaitkan dengan titik akses.

Anda dapat menekan CTRL+C untuk menghentikan wpa_supplicant current saat ini proses dan jalankan di latar belakang dengan menambahkan -B bendera.

sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp4s0

Meskipun kami diautentikasi dan terhubung ke jaringan nirkabel, kami belum memiliki alamat IP. Untuk mendapatkan alamat IP pribadi dari server DHCP, gunakan perintah berikut:

sudo dhclient wlp4s0

Sekarang antarmuka nirkabel Anda memiliki alamat IP pribadi, yang dapat ditunjukkan dengan:

ip addr tampilkan wlp4s0

Sekarang Anda dapat mengakses Internet. Untuk melepaskan alamat IP pribadi, jalankan

sudo dhclient wlp4s0 -r

Menghubungkan ke Jaringan Nirkabel Tersembunyi

Jika router nirkabel Anda tidak menyiarkan ESSID, maka Anda perlu menambahkan baris berikut di /etc/wpa_supplicant.conf berkas.

scan_ssid=1

Seperti di bawah ini:

network={ ssid="Jaringan LinuxBabe.Com" #psk="12345qwert" psk=68add4c5fee7dc3d0dac810f89b805d6d147c01e281f07f475a3e0195 scan_ssid=1}

Langkah 3:Hubungkan Otomatis Saat Booting

Untuk terhubung secara otomatis ke jaringan nirkabel saat boot, kita perlu mengedit wpa_supplicant.service mengajukan. Sebaiknya salin file dari /lib/systemd/system/ direktori ke /etc/systemd/system/ direktori, lalu edit konten file, karena kami tidak ingin versi wpa_supplicant yang lebih baru untuk mengganti modifikasi kami.

sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service

Edit file dengan editor teks baris perintah, seperti Nano.

sudo nano /etc/systemd/system/wpa_supplicant.service

Temukan baris berikut.

ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant

Ubah menjadi berikut ini. Di sini kami menambahkan file konfigurasi dan nama antarmuka nirkabel ke ExecStart perintah.

ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant.conf -i wlp4s0

Disarankan untuk selalu mencoba me-restart wpa_supplicant ketika kegagalan terdeteksi. Tambahkan kode berikut tepat di bawah ExecStart baris.

Mulai ulang=selalu

Jika Anda dapat menemukan baris berikut dalam file ini, beri komentar (Tambahkan karakter # di awal baris).

Alias=dbus-fi.w1.wpa_supplicant1.service

Simpan dan tutup file. (Untuk menyimpan file di editor teks Nano, tekan Ctrl+O , lalu tekan Enter untuk mengkonfirmasi. Untuk keluar, tekan Ctrl+X .) Kemudian muat ulang systemd.

sudo systemctl daemon-reload

Aktifkan wpa_supplicant layanan untuk memulai saat boot.

sudo systemctl aktifkan wpa_supplicant.service

Kita juga perlu memulai dhclient pada saat boot untuk mendapatkan alamat IP pribadi dari server DHCP. Ini dapat dicapai dengan membuat unit layanan systemd untuk dhclient .

sudo nano /etc/systemd/system/dhclient.service

Masukkan teks berikut ke dalam file.

[Unit]Description=DHCP ClientBefore=network.targetAfter=wpa_supplicant.service[Service]Type=forkingExecStart=/sbin/dhclient wlp4s0 -vExecStop=/sbin/dhclient wlp4s0 -rRestart=selalu [Install]WantedBy=multi-pengguna .target

Simpan dan tutup file. Kemudian aktifkan layanan ini.

sudo systemctl aktifkan dhclient.service

Cara Mendapatkan Alamat IP Statis

Jika Anda ingin mendapatkan alamat IP statis, maka Anda perlu menonaktifkan dhclient.service .

sudo systemctl nonaktifkan dhclient.service

Kita perlu menggunakan netplan untuk mengkonfigurasi alamat IP statis di Ubuntu 18.04/20.04. Buat file konfigurasi di bawah /etc/netplan/ .

sudo nano /etc/netplan/10-wifi.yaml

Tambahkan baris berikut ke file ini. Ganti 192.168.0.102 dengan alamat IP pilihan Anda. Harap berhati-hati tentang lekukan. Ruang ekstra akan membuat konfigurasi tidak valid.

jaringan:ethernet:wlp4s0:dhcp4:tidak ada alamat:[192.168.0.102/24] gateway4:versi 192.168.0.1:2

Simpan dan tutup file. Kemudian terapkan konfigurasinya.

sudo netplan berlaku

Anda juga dapat mengaktifkan --debug pilihan jika tidak bekerja seperti yang diharapkan.

sudo netplan --debug berlaku

Jika ada .yaml lainnya file di bawah /etc/netplan/ direktori, lalu netplan akan secara otomatis menggabungkan konfigurasi dari file yang berbeda. netplan menggunakan systemd-networkd sebagai penyaji jaringan backend. Disarankan untuk mengonfigurasi wpa_supplicant.service berjalan sebelum systemd-networkd.service , sehingga sistem akan mengasosiasikan terlebih dahulu dengan titik akses Wi-Fi, kemudian mendapatkan alamat IP pribadi.

sudo nano /etc/systemd/system/wpa_supplicant.service

Temukan baris berikut.

Sebelum=jaringan.target

Ubah ke:

Sebelum=network.target systemd-networkd.service

Simpan dan tutup file.

Cara lain untuk mendapatkan alamat IP statis adalah dengan masuk ke antarmuka manajemen router Anda dan menetapkan IP statis ke alamat MAC kartu nirkabel Anda, jika router Anda mendukung fitur ini.

Menggunakan Hostname untuk Mengakses Layanan di Ubuntu

Sebenarnya, Anda tidak perlu mendapatkan alamat IP statis untuk kotak Ubuntu Anda. Ubuntu dapat menggunakan mDNS (Multicast DNS) untuk mengumumkan nama hostnya ke jaringan lokal dan klien dapat mengakses layanan di kotak Ubuntu Anda dengan nama host tersebut. Nama host ini selalu dapat diselesaikan ke alamat IP kotak Ubuntu Anda, bahkan jika alamat IP berubah.

Untuk menggunakan mDNS, Anda perlu menginstal avahi-daemon, yang merupakan implementasi sumber terbuka dari mDNS/DNS-SD.

sudo apt install avahi-daemon

Mulai layanan.

sudo systemctl start avahi-daemon

Aktifkan mulai otomatis saat boot.

sudo systemctl aktifkan avahi-daemon

Avahi-daemon mendengarkan di UDP 5353, jadi Anda perlu membuka port ini di firewall. Jika Anda menggunakan UFW, jalankan perintah berikut.

sudo ufw izinkan 5353/udp

Maka Anda harus menetapkan nama host unik untuk kotak Ubuntu Anda dengan hostnamectl memerintah. Ganti ubuntubox dengan nama host pilihan Anda, yang seharusnya belum diambil oleh perangkat lain di jaringan lokal.

sudo hostnamectl set-hostname ubuntubox

Sekarang restart avahi-daemon.

sudo systemctl restart avahi-daemon

Jika Anda memeriksa statusnya dengan

systemctl status avahi-daemon

Anda dapat melihat nama host mDNS, yang diakhiri dengan .local domain.

Di komputer klien, Anda juga perlu menginstal perangkat lunak mDNS/DNS-SD.

  • Pengguna Linux harus menginstal avahi-daemon .
  • Pengguna Windows harus mengaktifkan layanan Bonjour dengan menginstal layanan cetak Bonjour atau menginstal iTunes.
  • Di macOS, Bonjour sudah diinstal sebelumnya.

Sekarang Anda dapat mengakses layanan dengan menggunakan ubuntubox.local hostname, menghilangkan kebutuhan untuk memeriksa dan mengetik alamat IP.

Buka Blokir Wifi di Raspberry Pi

Ubuntu ARM OS untuk Raspberry Pi memblokir antarmuka nirkabel secara default. Anda perlu membuka blokirnya dengan:

sudo rfkill buka blokir wifi

Untuk membuka blokirnya saat boot, buat unit layanan systemd.

sudo nano /etc/systemd/system/unblock-wifi.service

Tambahkan baris berikut ke dalamnya.

[Unit]Description=RFKill Unblock WiFi DevicesRequires=wpa_supplicant.serviceAfter=wpa_supplicant.service[Service]Type=oneshotExecStart=/usr/sbin/rfkill unblock wifiExecStop=RemainAfterExit=yes[Install]WantedBy=multi-pengguna.target 

Simpan dan tutup file. Aktifkan mulai otomatis saat boot.

sudo systemctl aktifkan unblock-wifi

Saya menemukan bahwa unblock-wifi.service harus dijalankan setelah wpa_supplicant.service dimulai, jika tidak maka tidak dapat membuka blokir wifi. Perhatikan bahwa jika Anda telah menginstal lingkungan desktop, mungkin ada pengelola jaringan yang berjalan yang dapat mengganggu koneksi. Anda perlu menonaktifkannya. Misalnya, saya menggunakan lingkungan desktop LXQT yang ringan di Raspberry Pi (sudo apt install lubuntu-desktop ) dan perlu menonaktifkan connman.service dan NetworkManager.service.

sudo systemctl nonaktifkan connman.service NetworkManager.service

Bacaan yang Disarankan

  • Cara Menggunakan Systemd di Linux – Kelola Layanan, Jalankan Level, dan Log

Beberapa Jaringan Wi-Fi

/etc/wpa_supplicant.conf file konfigurasi dapat mencakup beberapa jaringan Wi-Fi. wpa_supplicant akan secara otomatis memilih jaringan terbaik berdasarkan urutan blok jaringan dalam file konfigurasi, tingkat keamanan jaringan, dan kekuatan sinyal.

Untuk menambahkan jaringan Wi-Fi kedua, jalankan

wpa_passphrase-ESSID-anda-wifi-passphrase Anda | sudo tee -a /etc/wpa_supplicant.conf

Perhatikan bahwa Anda perlu menggunakan -a opsi dengan tee perintah, yang akan menambahkan, alih-alih menghapus konten asli, jaringan Wifi baru ke file.

Keamanan Wi-Fi

Jangan gunakan WPA2 TKIP atau WPA2 TKIP+AES sebagai metode enkripsi di router Wi-Fi Anda. TKIP dianggap tidak aman lagi. Anda dapat menggunakan WPA2-AES sebagai metode enkripsi.


Ubuntu
  1. Atur antarmuka Nirkabel di Ubuntu

  2. Ubuntu – Salin Teks Satu Baris Panjang Dari Terminal Dengan Baris Perubahan yang Tidak Diinginkan?

  3. Bagaimana Menghubungkan Ke Wifi Dengan Pin Wps Di Ubuntu 14.04?

  1. Cara Menghubungkan WiFi dari Terminal di Ubuntu 16.04

  2. Cara Mengatur Rotasi Log dengan Logrotate di Ubuntu 18.04/20.04

  3. Cara Memasang Dropbox di Ubuntu 18.04/20.04 (Terminal/GUI)

  1. Cara Menghubungkan ke WiFi dari Terminal di Ubuntu 20.04

  2. Cara Menginstal GIMP di Ubuntu 18.04/20.04

  3. Kontrol Kecerahan Layar dari Terminal Ubuntu