Ketika melakukan development, kadang akan terasa lebih nyaman menggunakan local domain dibandingkan menggunakan localhost.
Sebelumnya kita hanya perlu mendifinisikan IP local pada /etc/hosts
setiap project baru seperti potongan dibawah.
127.0.0.1 example.com
127.0.0.1 blog.example.com
127.0.0.1 mail.example.com
Bukan hanya memakan waktu, namun juga lama kelamaan menjadi sulit untuk dibaca file tersebut. Namun kita dapat membuat wildcard dns seperti *.example.com
menggunakan DNSMASQ.
Sebelum mengikuti petunjuk selanjutnya, pastikan sistem operasi anda Ubuntu ataupun turunannya, petunjuk ini telah dicoba dan berhasil pada Ubuntu 18.04.
1. Aktifkan DNSMasq
Tambahkan dns=dnsmasq
di bagian [main]
pada file /etc/NetworkManager/NetworkManager.conf
seperti dibawah :
[main]
plugins=ifupdown,keyfile
dns=dnsmasq
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
2. Mengganti resolv.conf
Sebelumnya Network Manager membaca resolver dari systemd maka kemudian kita ganti menggunakan resolver dari dnsmasq dengan cara :
$ mv /etc/resolv.conf /etc/resolv.conf.backup
$ ln -s /var/run/NetworkManager/resolv.conf /etc/resolv.conf
3. Konfigurasi Local Domain
$ echo 'address=/.example.com/127.0.0.1' | tee /etc/NetworkManager/dnsmasq.d/example.com-wildcard.conf
4. Reload NetworkManager
$ systemctl reload NetworkManager
Kemudian pastikan kita tetap bisa mengakses situs lain seperti biasanya dengan cara:
$ dig octopy.id google.com +short
45.76.157.210
216.239.38.120
Terakhir pastikan example.com dan sub-domainnya merujuk pada ip lokal.
$ dig example.com octopy.example.com a.b.c.d.example.com +short
127.0.0.1
127.0.0.1
127.0.0.1
Apabila berhasil, seharusnya ouput yang ditampilkan seperti pada gambar dibawah ini:
