Cara Memperbaiki Ubuntu Server tidak Bisa Ping ke DNS

Kronologi:

  1. Permasalahan ini saya temukan pada Ubuntu Server yang baru dipasang di VirtualBox.
  2. Saya menggunakan konfigurasi IP secara dinamis, bukan statis.
  3. Saat instalasi pertama kali, saya menggunakan jaringan NAT. Setelah instalasi selesai, ping ke IP 8.8.8.8 maupun ke domain google.com bisa dilakukan.
  4. Setelah itu, saya mengubah jaringannya dari NAT ke Bridge, ping ke IP 8.8.8.8 bisa, akan tetapi ping ke domain google.com tidak bisa.
  5. Secara bawaan, alih-alih menggunakan paket resolvconf sebagai resolver DNS, Ubuntu 22.04 menggunakan resolver DNS dari Systemd, yaitu systemd-resolved.
Hasil analisa:
  1. Kemungkinan sistem resolver tidak berjalan dengan baik.
  2. Perlu konfigurasi manual DNS resolver-nya.
  3. DNS menggunakan DNG Google dengan IP 8.8.8.8 dan 8.8.4.4.
  4. Setelah resolver DNS dikonfigurasi manual dan memuat ulang layanan systemd-resolved, ping ke domain google.com masih tetap tidak bisa.
  5. Permasalahan kemungkinan ada pada backend sistem jaringannya Ubuntu yang juga menggunakan Systemd, yaitu networkd atau systemd-networkd.
Cara memperbaiki Ubuntu Server tidak Bisa ping ke DNS
  1. Sebelum memperbaiki, setelan jaringan saya ubah kembali ke NAT, kemudian saya muat ulang sistemnya.
  2. Setelah masuk kemabli ke sistem, saya memasang satu paket tambahan, nama paket tersebut adalah openvswitch-switch[1]. Tujuan utama saya memasang paket ini adalah agar tidak muncul peringatan bahwa  ovsdb-server.service tidak berjalan ketika mengoperasikan netplan. Perintah pemasangannya adalah $ sudo apt install openvswitch-switch.
  3. Saya kemudian mengubah kembali jaringan mesin vm dari NAT ke Bridge.
  4. Buka konfigurasi Networkd dengan perintah $ sudo nano /etc/systemd/networkd.conf.
  5. Pada bagian bawah [DHCPv4] tambahakan opsi UseDNS=false. Opsi ini akan mengabaikan konfigurasi yang disediakan oleh DHCP.

[1] Paket openvswitch-switch biasa disebut dengan Open vSwitch, yaitu sebuah paket atau aplikasi virtual switch yang digunakan untuk mengelola trafik jaringan pada lingkungan virtual. Open vSwitch menyediakan antarmuka Remote Procedure Call (RPC) ke satu atau beberapa basis data OVS (OVSDB). Hal ini memungkinkan komponen lain berinteraksi dan mengelola konfigurasi yang tersimpan dalam basis data tersebut.

Alih-alih menggunakan konfigurasi secara dinamis (DHCP), mungkin problem tidak akan serumit ini jika dikonfigurasi secara statis.

Tambahan

Baru saja, saya mengaktifkan kembali mesin virtual Ubuntu saya. Muncul permasalahan baru, dimana paket manajer APT tidak dapat mengambil berkas dari repositori.

Ada beberapa galat yang ditampilkan, diantaranya error reading from server 104 connection reset by peer, connection failed, waiting for headers dan could not resolve.

Satu masalah, berbagai galat.

Setelah berfikir beberapa saat, tiba-tiba saya teringat dengan UFW. Sebuah antarmuka ramah pengguna untuk mengelola firewall iptables pada sistem Linux.

Secara umum, UFW ini otomatis aktif saat setelah memasang Ubuntu. Jadi, saya perlu memastikan lagi apakah status UFW-nya aktif atau nonaktif.

$ sudo ufw status

Apabila hasil hari konsol Anda adalah status: active, maka Anda perlu menonaktifkan UFW untuk sementara waktu.

$ sudo ufw disable

Perintah tersebut akan menonaktifkan UFW bahkan pada saat but ulang.

Bagi Anda yang masih merasa bahwa UFW ini sangat perlu, Anda cukup memasang beberapa aturan yang mengizinkan lalu lintas beberapa layanan dapat berjalan sesuai keinginan.

Pada kasus ini, ada beberapa layanan yang harus dipastikan UFW memiliki aturan yang mengizinkannya. Diantaranya; layanan HTTP (porta 80) dan HTTPS (porta 443), dimana keduanya menggunakan protokol TCP, serta DNS (porta 53) yang berjalan baik di protokol TCP maupun UDP.

Eksekusi perintah berikut untuk membuat aturan yang mengizinkan beberapa layanan tersebut berjalan.

$ sudo ufw allow out 80/tcp

$ sudo ufw allow out 443/tcp

$ sudo ufw allow out 53/tcp

$ sudo ufw allow out 53/udp

Dengan beberapa aturan tersebut, kini APT dapat dijalankan dengan sebagaimana mestinya.

Kenapa APT tidak bisa dijalankan tanpa beberapa aturan tersebut di UFW?

Ya, karena APT menggunakan layanan HTTP maupun HTTPS untuk berkomunikasi dengan peladen repositori, mengunduh file daftar paket, dan menjadikan daftar paket tersebut sebagai daftar paket yang akan diunduh. Ditambah komunikasi ke peladen repositori juga menggunakan dns resolver, dimana konfigurasi repositori terdiri dari beberapa hal, khususnya domain peladen itu sendiri.


Komentar

Postingan populer dari blog ini

Fitur HTTP/2 di Apache HTTP Server tidak Bekerja? Berikut Solusinya!

Cara Memperbaiki Masalah "KVM virtualisation is configured, but not available" di Proxmox

Cara Memfungsikan Fingerprint ThinkPad T480 di Ubuntu 22.04 LTS