Skip to content

About

One command script to access Wi-Fi IPB-ACCESS on GNU/Linux

Resources

Stars

5 stars

Watchers

2 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

[ Access Connect ]

stars last commit license sh linux

• Overview •

Skrip satu perintah untuk menyambung ke Wi-Fi IPB-ACCESS di GNU/Linux. Skrip ini dibuat karena ICT IPB tidak melihat Linux sebagai OS umum yang biasa dipakai mahasiswa, sehingga tidak menyediakan layanan terbaik untuk connect ke wifi ipb-access melalui GNU/Linux.

Kenapa Skrip Ini Ada?

Di GNU/Linux, IPB-ACCESS terhubung dan lolos autentikasi 802.1X, tetapi tidak mendapat internet. Windows, macOS, dan Android aman.

Akar masalahnya di DHCP IPB, bukan konfigurasi pengguna. Klien Linux mengirim DHCP client-id 01:<MAC> (byte tipe 0x01 di depan MAC, RFC 4361). DHCP/NAC IPB salah menanganinya, jadi klien Linux dilempar ke scope rusak 10.2.160.0/20 yang gateway-nya mati. Windows/macOS/Android mengirim client-id tanpa prefix itu, jadi dapat scope benar 10.1.192.0/20 dan langsung jalan.

[!WARNING] Tanpa ipv4.dhcp-client-id, profil Linux apa pun — termasuk yang dibuat manual — akan tersambung tapi tanpa internet. Skrip ini menanganinya otomatis.

Solusinya: paksa Linux mengirim DHCP client-id seperti OS lain — MAC mentah tanpa byte 01::

ipv4.dhcp-client-id = <MAC interface, tanpa prefix 01>

Setelah itu gateway, DNS, dan internet normal.

Harapan (dengan sedikit doa)

Semoga ICT IPB tidak segera memperbaiki celah ini — selama bug-nya masih ada, skrip ini punya alasan untuk hidup.

Kalau skrip ini membantumu, beri ⭐ star. Setiap bintang menambah peluang mahasiswa GNU/Linux lain menemukannya.

Riwayat bintang:

Star History Chart

• Prasyarat •

  • GNU/Linux dengan NetworkManager (nmcli) — cara memasangnya di Dependensi.
  • Interface Wi-Fi aktif.
  • Akun ID-IPB yang valid.
  • Utilitas standar: awk, od, tr, grep, ip, ping.

• Instalasi •

A — clone repositori

git clone https://github.com/IPBOS/access-connect.git
cd access-connect
chmod +x access-connect.sh

B — unduh satu file

curl -fsSLO https://raw.githubusercontent.com/IPBOS/access-connect/main/access-connect.sh
chmod +x access-connect.sh

Dependensi

Skrip butuh NetworkManager (nmcli) dan utilitas standar (awk, od, tr, grep, ip, ping, stty) — umumnya sudah ada di distro desktop.

Pasang NetworkManager sesuai distro (klik untuk membuka)

Debian / Ubuntu / Linux Mint / Kali

sudo apt update && sudo apt install network-manager

Fedora / RHEL / CentOS / Rocky / AlmaLinux

sudo dnf install NetworkManager

Arch Linux / Manjaro / EndeavourOS

sudo pacman -S networkmanager
sudo systemctl enable --now NetworkManager

openSUSE Leap / Tumbleweed

sudo zypper install NetworkManager

Alpine Linux

sudo apk add networkmanager

Void Linux

sudo xbps-install -S NetworkManager

Pada distro systemd, aktifkan layanannya:

sudo systemctl enable --now NetworkManager

Cek dengan nmcli device status — interface Wi-Fi harus bertipe wifi.

• Cara Pakai •

Jalankan skrip, lalu masukkan ID-IPB dan password:

./access-connect.sh

Skrip mendeteksi interface Wi-Fi, membuat profil IPB-ACCESS, lalu menyambung. Kalau gagal karena izin, pakai sudo:

sudo ./access-connect.sh
Opsi
Opsi Keterangan
-n, --name NAMA Nama profil NetworkManager (default: IPB-ACCESS).
--ssid SSID SSID target (default: IPB-ACCESS).
--no-connect Hanya membuat/memperbarui profil, tanpa menyambung.
--forget Menghapus profil lalu keluar.
-h, --help Menampilkan bantuan.

Contoh:

# hanya membuat profil, tidak langsung menyambung
./access-connect.sh --no-connect

# menghapus profil
./access-connect.sh --forget
Fitur
  • Membuat/memperbarui profil NetworkManager IPB-ACCESS (persisten, autoconnect).
  • WPA-Enterprise otomatis: EAP PEAP, Phase 2 GTC.
  • Menerima ID-IPB singkat (username) atau lengkap (username@apps.ipb.ac.id).
  • dhcp-client-id = MAC mentah tanpa prefix 01: — inti perbaikannya (lihat Kenapa Skrip Ini Ada? di atas).
  • Verifikasi koneksi: alamat IPv4 + ping gateway.
  • Mode --forget (hapus profil) dan --no-connect.

• Alur Kerja •

  1. Cek nmcli.
  2. Deteksi interface Wi-Fi + ambil MAC.
  3. Baca ID-IPB dan password (disembunyikan).
  4. Buat/perbarui profil dengan konfigurasi 802.1X.
  5. Sambung ke IPB-ACCESS, verifikasi IPv4 dan gateway.

• Troubleshooting •

  • nmcli tidak ditemukan — pasang NetworkManager, pastikan nmcli ada di PATH.

  • tidak ada interface Wi-Fi — nyalakan/muat driver Wi-Fi (nmcli dev status).

  • Gagal menyimpan profil — jalankan dengan sudo.

  • Gagal menyambung — cek ulang ID-IPB dan password, jalankan lagi.

  • Tersambung tapi tanpa internet — akar masalah DHCP client-id; skrip sudah menanganinya. Cek dengan nmcli -f ipv4.dhcp-client-id connection show IPB-ACCESS.

  • Mulai dari nol — hapus lalu buat ulang:

    ./access-connect.sh --forget
    ./access-connect.sh

• Lisensi •

Didistribusikan di bawah lisensi MIT.

About

One command script to access Wi-Fi IPB-ACCESS on GNU/Linux

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages