Cisco : ACL Dasar (Standar dan Extended)
ACL (Access Control List) adalah daftar aturan yang dibaca router dari atas ke bawah untuk memutuskan satu hal: paket ini boleh lewat atau tidak. Kalau kamu pernah ditanya "bagaimana caranya blokir lab siswa supaya tidak bisa buka server nilai", jawabannya hampir selalu ACL. Halaman ini membahas dua jenis yang paling sering dipakai, ACL standar dan ACL extended, lengkap dengan cara memasang di interface yang benar dan cara membuktikan aturannya benar-benar jalan lewat counter.
π― Tujuan
Setelah membaca dan praktik di halaman ini, kamu bisa:
- menjelaskan beda ACL standar dan ACL extended, serta kapan memakai masing-masing;
- menulis wildcard mask dengan benar tanpa tertukar dengan subnet mask;
- memasang ACL di interface dan arah yang tepat, lalu membuktikannya lewat counter;
- membaca gejala "aturan sudah ditulis tapi tidak berefek" dan menemukan penyebabnya;
- melindungi akses management router lewat ACL di jalur vty.
π Konteks nyata
Bayangkan pos satpam di pintu masuk sekolah yang memegang satu lembar daftar tamu. Daftar itu dibaca dari baris paling atas. Begitu ada baris yang cocok dengan orang di depan pintu, satpam langsung memutuskan: izinkan atau tolak. Baris di bawahnya tidak dibaca lagi.
Kalau nama seseorang tidak ada di daftar sama sekali, dia tidak masuk. Bukan karena ada baris "larang semua orang", tapi karena daftarnya sudah habis. Itulah yang di Cisco disebut implicit deny.
Router bekerja persis begitu. Kamu menulis daftar, memasangnya di satu pintu (interface), lalu memilih arah baca: dari luar masuk (in) atau dari dalam keluar (out).
- π₯ Kasus nyata: di sebuah SMK, guru jaringan menambahkan baris blokir di posisi paling bawah daftar, setelah baris "izinkan semua". Selama dua minggu siswa tetap bisa membuka situs yang seharusnya diblokir, dan semua orang menyalahkan browser serta DNS. Setelah counter di
show access-listsdibuka, baris blokir itu tertulis 0 match, artinya tidak pernah dibaca sekali pun.
π§ Konsep singkat
πΉ Tiga aturan dasar yang menentukan semuanya
Sebelum menghafal perintah, pegang dulu tiga aturan ini. Sembilan dari sepuluh masalah ACL lahir dari salah satu dari ketiganya.
- Urutan menentukan hasil. Aturan pertama yang cocok langsung dipakai, sisanya dilewati.
- Tidak tertulis berarti ditolak. Di akhir setiap ACL IP ada
deny ip any anytersembunyi. - ACL harus dipasang. Menulis daftar saja tidak mengubah apa pun sampai kamu menempelkannya ke interface.
πΉ Dua keluarga ACL
Perbedaan intinya sederhana: ACL standar hanya bisa melihat alamat asal. ACL extended bisa melihat asal, tujuan, protokol, dan nomor port sekaligus.
| Aspek | Standar | Extended | Catatan |
|---|---|---|---|
| Yang diperiksa | alamat asal | asal, tujuan, protokol, port | extended jauh lebih presisi |
| Rentang nomor | 1β99, 1300β1999 | 100β199, 2000β2699 | 1300/2000 disebut rentang diperluas |
| Tempat pemasangan | dekat tujuan | dekat sumber | agar paket yang pasti ditolak tidak jalan jauh |
| Contoh pemakaian | batasi siapa yang boleh masuk ke satu LAN | izinkan HTTP ke server, tolak sisanya | keduanya sering dipakai bersama |
Kalau kamu hanya ingin menjawab "siapa yang boleh lewat", ACL standar cukup. Kalau pertanyaannya "siapa, ke mana, lewat aplikasi apa", kamu butuh extended.
πΉ Wildcard mask bukan subnet mask
Ini jebakan nomor satu bagi siswa. Subnet mask menunjukkan bagian jaringan. Wildcard mask menunjukkan bagian yang boleh berubah.
Cara membacanya: angka 0 berarti bit itu wajib sama, angka 1 berarti bit itu bebas. Karena itu wildcard disebut juga inverse mask, dan nilainya bisa dihitung dengan 255.255.255.255 dikurangi subnet mask.
| Ditulis | Artinya | Cakupan |
|---|---|---|
192.168.10.0 0.0.0.255 |
tiga oktet pertama wajib sama | 256 alamat, 192.168.10.1 sampai .255 |
192.168.10.0 0.0.0.3 |
hanya 2 bit terakhir bebas | 4 alamat, .0 sampai .3 |
host 192.168.10.10 |
satu alamat pasti | 1 alamat, sama dengan wildcard 0.0.0.0 |
any |
semua alamat | sama dengan 0.0.0.0 255.255.255.255 |
- β οΈ Hati-hati: menulis
192.168.10.0 255.255.255.0tidak error, tapi artinya "oktet terakhir wajib 0". Praktis hanya alamat .0 yang cocok, jadi seluruh LAN kamu ditolak dan counter aturan tampak aneh.
πΉ Arah in dan out dilihat dari sudut router
Arah selalu dihitung dari dalam router, bukan dari sudut PC. Ini yang sering membuat ACL dipasang terbalik.
| Arah | Kapan diperiksa | Dipakai untuk |
|---|---|---|
in |
paket baru masuk interface, sebelum tabel routing dibaca | menolak lebih awal, hemat jalur |
out |
paket sudah dirutekan, tepat sebelum keluar interface | menyaring berdasarkan tujuan akhir |
Contoh kalimat yang membingungkan tapi benar: ACL in di interface LAN menyaring paket yang dari PC menuju router. ACL out di interface yang sama menyaring paket yang menuju PC.
πΉ Aturan penempatan yang disarankan Cisco
ACL extended sebaiknya dipasang sedekat mungkin dengan sumber. Alasannya murah: paket yang pasti ditolak tidak perlu menyeberangi jaringan dulu.
ACL standar sebaiknya dipasang sedekat mungkin dengan tujuan. Alasannya teknis: karena hanya melihat alamat asal, kalau dipasang di dekat sumber ia akan memblokir alamat itu ke semua tujuan, bukan hanya tujuan yang kamu maksud.
- π‘ Tips: hafalkan pola "extended ke sumber, standar ke tujuan". Dua aturan ini menyelesaikan sebagian besar kebingungan penempatan.
πΉ Kenapa nomor bisa jadi masalah
ACL bernomor dianggap satu kesatuan. Perintah no access-list 101 deny icmp any any tidak menghapus satu baris, tapi menghapus seluruh ACL 101 dari router. Dokumentasi Cisco menyebut perilaku ini eksplisit.
Solusinya: pakai ACL bernama (ip access-list extended NAMA) yang punya nomor urut (sequence number). Dengan nomor urut, kamu bisa menghapus atau menyisipkan satu baris saja tanpa menyentuh yang lain.
- π Angka penting: nomor urut otomatis bertambah 10 (10, 20, 30, dan seterusnya). Jarak 10 itu sengaja disisakan agar kamu bisa menyisipkan aturan di antaranya, misalnya nomor 15.
π§© Istilah penting
| Istilah | Arti singkat |
|---|---|
| ACE | satu baris aturan di dalam ACL |
| Implicit deny | penolakan otomatis di akhir daftar untuk paket yang tidak cocok |
| Wildcard mask | pola bit yang boleh berubah; kebalikan subnet mask |
access-group |
perintah menempelkan ACL ke interface |
access-class |
perintah menempelkan ACL ke jalur login (vty), bukan ke interface |
| Match counter | penghitung berapa paket yang kena satu baris aturan |
| Sequence number | nomor urut baris pada ACL bernama |
| Shadowed rule | aturan yang tidak pernah terbaca karena tertutup aturan di atasnya |
established |
kata kunci yang cocok dengan balasan TCP yang membawa flag ACK atau RST |
| VTY | jalur login remote ke router (SSH/Telnet) |
π§ Praktik: ACL Standar dan Extended di Packet Tracer
Lab ini memakai satu router dan dua jaringan: ruang siswa dan ruang server. Tujuannya bukan sekadar "berhasil memblokir", tapi bisa menunjukkan bukti bahwa blokirnya bekerja di tempat yang benar.
| Perangkat | Interface | Alamat |
|---|---|---|
| R1 | G0/0 | 192.168.10.1/24 |
| R1 | G0/1 | 192.168.20.1/24 |
| PC-SISWA | Fa0 | 192.168.10.10/24, gateway 192.168.10.1 |
| PC-GURU | Fa0 | 192.168.10.20/24, gateway 192.168.10.1 |
| Server-PT | Fa0 | 192.168.20.10/24, gateway 192.168.20.1 |
πΉ Langkah 1: bangun baseline sebelum menyaring
- Susun topologi di atas, nyalakan semua perangkat, dan tunggu lampu link hijau.
- Beri alamat pada kedua interface router, lalu pastikan port aktif.
enable
configure terminal
interface g0/0
ip address 192.168.10.1 255.255.255.0
no shutdown
interface g0/1
ip address 192.168.20.1 255.255.255.0
no shutdown
end
- Nyalakan layanan HTTP di Server-PT, lalu dari PC-SISWA uji dua hal:
ping 192.168.20.10dan bukahttp://192.168.20.10di tab Web Browser. - Catat hasil baseline. Semua harus berhasil sebelum kamu menambah aturan apa pun.
- π‘ Tips: baseline yang tercatat rapi membuat perubahan berikutnya mudah dibuktikan. Tanpa baseline, kamu tidak tahu apakah kegagalan berasal dari ACL atau dari langkah sebelumnya.
πΉ Langkah 2: ACL standar untuk satu host
Skenario: PC-SISWA tidak boleh menyentuh ruang server, PC-GURU tetap boleh. Karena ACL standar hanya melihat asal, pasang di interface dekat tujuan, yaitu G0/1 arah keluar.
configure terminal
access-list 10 deny host 192.168.10.10
access-list 10 permit any
interface g0/1
ip access-group 10 out
end
Uji dari PC-SISWA: ping gagal, browser gagal. Uji dari PC-GURU: keduanya berhasil. Kalau begitu, ACL bekerja.
Sekarang pindahkan ACL yang sama ke tempat yang salah untuk melihat efeknya. Hapus dari G0/1, pasang di G0/0 arah masuk.
configure terminal
interface g0/1
no ip access-group 10 out
interface g0/0
ip access-group 10 in
end
PC-SISWA sekarang kehilangan akses ke semua tujuan, termasuk ke gateway sendiri. Inilah alasan aturan penempatan tadi ada. Kembalikan ke G0/1 setelah kamu melihat gejalanya.
πΉ Langkah 3: ACL extended untuk satu layanan
Sekarang skenarionya naik: siswa boleh membuka web server, tapi tidak boleh ping atau memakai layanan lain ke ruang server. Sisa trafik lainnya tetap bebas.
configure terminal
access-list 100 permit tcp 192.168.10.0 0.0.0.255 host 192.168.20.10 eq 80
access-list 100 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
access-list 100 permit ip any any
interface g0/0
ip access-group 100 in
end
Uji dari PC-SISWA: halaman web terbuka, tapi ping 192.168.20.10 gagal. Uji dari PC-GURU: ping tetap berhasil, karena aturan hanya menyebut subnet siswa.
- π Angka penting: port 80 ditulis dengan kata kunci
eq 80ataueq www. Operator lain yang tersedia:gt,lt,neq, danrangeuntuk rentang port.
πΉ Langkah 4: buktikan lewat counter, bukan perasaan
Ini langkah yang paling sering dilewatkan siswa, padahal paling berguna saat ujian praktik maupun saat kerja.
show access-lists
show ip interface g0/0
clear ip access-list counters
Setiap baris punya angka match. Aturan yang angkanya nol saat kamu yakin seharusnya kena berarti tidak pernah dieksekusi. Perintah clear ip access-list counters mereset hitungan agar uji berikutnya bersih.
- π§ͺ Uji cepat: buka web dari PC-SISWA, lalu jalankan
show access-lists. Barispermit tcp ... eq 80harus naik. Kalau yang naik justru barisdeny ip, urutan aturanmu terbalik.
πΉ Langkah 5: ACL bernama dan penyuntingan aman
Ulangi aturan langkah 3 memakai nama. Perhatikan nomor urut yang muncul sendiri.
configure terminal
ip access-list extended LAB-SISWA
10 permit tcp 192.168.10.0 0.0.0.255 host 192.168.20.10 eq 80
20 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
30 permit ip any any
exit
interface g0/0
no ip access-group 100 in
ip access-group LAB-SISWA in
end
Sekarang coba dua cara menghapus. Pertama hapus satu baris dari ACL bernama, lalu lihat isinya masih lengkap.
configure terminal
ip access-list extended LAB-SISWA
no 20
exit
end
show access-lists LAB-SISWA
Bandingkan dengan no access-list 100. Perintah itu menghapus seluruh daftar sekaligus. Inilah alasan tim jaringan di industri hampir selalu memakai ACL bernama.
- β οΈ Hati-hati: menghapus baris
denydi tengah berarti semua trafik ke ruang server kembali diizinkan oleh barispermit ip any anydi bawahnya. Selalu baca ulang daftar setelah menyunting.
πΉ Langkah 6: lindungi jalur login dengan access-class
ACL juga bisa membatasi siapa yang boleh SSH ke router. Perintahnya beda: access-class, bukan access-group.
configure terminal
access-list 20 permit 192.168.10.0 0.0.0.255
access-list 20 deny any
line vty 0 4
access-class 20 in
end
- π₯ Kasus nyata: sebuah kantor cabang memasang ACL vty yang hanya mengizinkan subnet management lama. Setelah subnet dipindah, tidak ada satu pun admin yang bisa SSH, dan perangkat harus diambil alih lewat console di ruang server. Sediakan jalur cadangan sebelum mengunci pintu.
πΉ Langkah 7: rapikan dan simpan
- Hapus ACL uji bila lab selesai:
no ip access-group 100 indi interface, laluno access-list 100. - Untuk ACL bernama:
no ip access-list extended LAB-SISWA. - Simpan konfigurasi dengan
copy running-config startup-config.
β Verifikasi
Jalankan empat perintah ini setelah setiap perubahan. Masing-masing menjawab pertanyaan berbeda.
| Perintah | Yang dibuktikan |
|---|---|
show access-lists |
isi aturan, urutan, dan jumlah match per baris |
show ip interface g0/0 |
ACL mana yang menempel, di arah mana |
show running-config | include access |
semua ACL dan access-group yang aktif |
show ip interface brief |
kondisi interface, untuk memisahkan masalah ACL dari masalah link |
Tiga pertanyaan yang harus kamu jawab berurutan saat uji:
- Apakah aturan yang benar-benar dieksekusi angkanya naik? Kalau tidak, masalahnya di urutan atau di penempatan.
- Apakah ACL menempel di interface dan arah yang kamu maksud? Cek baris
Inbound access listdanOutbound access list. - Apakah paket memang sampai ke router? Kalau interface
down, ACL bukan tersangka utama.
- π§ͺ Uji cepat: reset counter, lakukan satu aksi saja (satu ping atau satu buka halaman), lalu baca counter. Satu aksi satu bukti jauh lebih mudah dibaca daripada sepuluh aksi sekaligus.
β οΈ Kesalahan umum & troubleshooting
| Gejala | Penyebab | Perbaikan |
|---|---|---|
| Semua trafik mati setelah ACL dipasang | tidak ada baris permit, implicit deny menutup sisanya | tambahkan permit yang diperlukan di akhir |
| Aturan blokir tidak berefek, counter 0 | aturan tertutup permit di atasnya | pindahkan blokir ke atas, atau pakai nomor urut kecil |
| Seluruh LAN ditolak | wildcard ditulis sebagai subnet mask | hitung ulang dengan 255.255.255.255 minus mask |
| Host yang diblokir tetap bisa ke tujuan lain | ACL standar dipasang dekat sumber | pindahkan ke interface dekat tujuan |
| Web jalan, tapi DNS dan ping mati | extended terlalu sempit, tidak ada permit lain | tambahkan permit untuk layanan yang masih dibutuhkan |
| Situs tidak terbuka padahal aturan izin port 443 ada | ACL di WAN arah in menolak paket balasan | izinkan established atau pindahkan ACL ke sisi LAN
|
| Semua ACL hilang setelah hapus satu baris | memakai no access-list pada ACL bernomor |
pakai ACL bernama dengan nomor urut |
| Klien tidak dapat alamat IP | DHCP ditolak implicit deny | izinkan UDP 68 ke 67, karena asal paket 0.0.0.0 |
| SSH ke router mati total | ACL vty hanya mengizinkan subnet yang salah | perbaiki lewat console, siapkan jalur cadangan |
| Counter naik tapi user tetap tidak bisa akses | ACL bukan satu-satunya lapis, bisa jadi routing atau NAT | periksa tabel routing dan terjemahan alamat |
Beberapa catatan tambahan yang jarang tertulis di buku:
- Paket buatan router sendiri tidak disaring ACL interface keluar. Kalau
pingdari router tetap berhasil padahal PC diblokir, itu normal. - Satu interface hanya punya satu ACL per protokol per arah. Memasang ACL kedua menimpa yang pertama, bukan menambah.
- Pecahan paket hanya membawa info port di bagian pertama. Aturan berbasis port tidak bisa menilai pecahan lanjutan, jadi hasilnya bisa berbeda dari dugaan.
- Kata kunci
establishedhanya untuk TCP. Ia mencocokkan paket dengan flag ACK atau RST, dan bukan pengganti firewall stateful.
- β οΈ Hati-hati: mengaktifkan
logdi setiap baris terlihat rapi, tapi membanjiri buffer log dan membebani CPU. Nyalakan sementara saat mendiagnosis, lalu matikan.
π Catatan keamanan & etika
ACL adalah alat penyaring, bukan tembok. Beberapa hal yang perlu kamu pegang:
- ACL hanya menyaring berdasarkan header. Ia tidak memeriksa isi paket, tidak mendeteksi serangan, dan tidak mengenal aplikasi.
- ACL tanpa state mudah ditembus dengan memalsukan alamat asal. Untuk perlindungan serius, ACL dipasang bersama firewall stateful dan otentikasi.
- Pasang penolakan alamat privat di sisi WAN agar paket dengan asal 10.x, 172.16.x, atau 192.168.x dari internet tidak masuk. Ini praktik anti-spoofing yang murah.
- Memblokir situs untuk siswa adalah kebijakan sekolah, bukan hak istimewa admin. Catat alasannya, dan jangan menyaring perangkat pribadi tanpa izin.
- Log ACL berisi alamat IP pengguna. Perlakukan sebagai data pribadi: jangan dibagikan di grup kelas atau media sosial.
- π‘ Tips: tulis komentar di setiap ACL (
remark) berisi tanggal, nama pembuat, dan tujuannya. Enam bulan kemudian, komentar itu yang menyelamatkanmu.
π Dipakai di dunia kerja
- Sekolah: lab siswa dipisah dari server nilai. ACL extended mengizinkan hanya HTTP ke server ujian, sehingga siswa tidak bisa mengutak-atik file lewat layanan lain.
- Kantor: printer dan file server hanya boleh diakses divisi tertentu. ACL standar di interface dekat server jadi pilihan paling sederhana dan cepat dirawat.
- Rumah sakit: jaringan alat medis dipisah dari jaringan tamu. ACL memastikan perangkat pasien tidak bisa membuka port management alat.
- ISP dan penyedia layanan: ACL dipakai menolak lalu lintas dengan alamat sumber palsu, termasuk alamat privat yang datang dari arah pelanggan.
- Data center: rak pelanggan dibatasi agar hanya bisa berkomunikasi dengan subnet miliknya sendiri, mencegah satu penyewa mengganggu penyewa lain.
- Industri dan pabrik: jaringan mesin produksi dikunci agar hanya bisa diakses dari ruang kontrol, karena perubahan tak terduga di jaringan itu bisa menghentikan lini produksi.
π Kesimpulan
ACL itu daftar yang dibaca berurutan, dengan penolakan otomatis di ujungnya, dan baru bekerja setelah dipasang di interface. ACL standar menyaring berdasarkan asal dan dipasang dekat tujuan; ACL extended menyaring asal, tujuan, protokol, dan port, lalu dipasang dekat sumber.
Kalau kamu hanya mengingat satu kebiasaan dari halaman ini, ingat ini: setelah menulis aturan, buka counter. Angka match adalah satu-satunya bukti bahwa aturanmu benar-benar dibaca router, bukan sekadar tersimpan rapi di konfigurasi.
Langkah berikutnya: buka halaman NAT dan PAT di Cisco. Di sana kamu akan melihat ACL dan penerjemahan alamat bekerja berdampingan, dan urutan pemeriksaannya sering menjadi sumber kebingungan baru yang menarik untuk dibongkar.
π Materi terkait
- Cisco : Dasar CLI Cisco IOS (Mode dan Konfigurasi Awal) β prasyarat: paham mode dan cara menyimpan konfigurasi.
- Cisco : Konfigurasi VLAN di Switch Cisco β dasar memisahkan jaringan sebelum disaring.
- Cisco : Trunk dan Inter-VLAN Routing (Router-on-a-Stick) β supaya kamu tahu paket antar-VLAN lewat jalur mana.
- Cisco : Routing Statis di Cisco β ACL menyaring, routing mengarahkan; keduanya sering tertukar saat diagnosa.
- Cisco : DHCP Server di Cisco IOS β contoh nyata ACL yang lupa mengizinkan DHCP.
- Mikrotik : Firewall Filter Dasar β padanan konsep di RouterOS, enak dibandingkan setelah paham ACL.
π Referensi
- Cisco, Configure IP Access Lists (Document ID 23602), https://www.cisco.com/c/en/us/support/docs/security/ios-firewall/23602-confaccesslists.html
- Cisco, IP Access Lists pada Cisco IOS Security Configuration Guide.
- RFC 792, Internet Control Message Protocol.
- RFC 1918, Address Allocation for Private Internets.