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.targetSimpan dan tutup file. Aktifkan mulai otomatis saat boot.
sudo systemctl aktifkan unblock-wifiSaya menemukan bahwa
unblock-wifi.service
harus dijalankan setelahwpa_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.serviceBacaan 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.