Saya sedang menyiapkan server seperti pada tautan di bawah ini https://help.ubuntu.com/community/Dnsmasq
root@user-desktop:/etc/init.d# sudo apt-get install dnsmasq
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
dnsmasq
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/15.4 kB of archives.
After this operation, 120 kB of additional disk space will be used.
Selecting previously unselected package dnsmasq.
(Reading database ... 146283 files and directories currently installed.)
Unpacking dnsmasq (from .../dnsmasq_2.59-4_all.deb) ...
Processing triggers for ureadahead ...
Setting up dnsmasq (2.59-4) ...
* Starting DNS forwarder and DHCP server dnsmasq
dnsmasq: failed to create listening socket for port 53: Address already in use [fail]
invoke-rc.d: initscript dnsmasq, action "start" failed.
dns=dnsmasq
, bukankah itu mengalahkan tujuan menginstal DNSmasq. Saya membuatlisten-address=127.0.0.1
perubahan dan sepertinya berfungsi dengan baik sekarang.Saya memiliki masalah yang sama.
dnsmasq-base
diinstal dan didengarkan pada port 53 yang mencegahdnsmasq
untuk memulai.Dimungkinkan untuk menggunakan
dnsmasq-base
insead ofdnsmasq
untuk tujuan yang sama: cukup gunakan direktori config lain: yang ditempatkan diNetwork Manager
folder:sumber
Periksa apa yang mendengarkan pada port 53 (domain) dengan:
Nonaktifkan semua layanan yang berjalan pada port ini. Itu biasanya
systemd-resolved
.Saya akan juga
mask
jadi itu tidak otomatis mulai di reboot.Untuk membatalkan apa yang Anda lakukan:
Juga
sudo update-rc.d systemd-resolved disable
mungkin menghentikannya mulai otomatis saat boot tetapi saya belum mengujinya. Gunakandefaults
alih-alihdisable
untuk membatalkan perintah.Atau Anda dapat mengubah port apa yang didengarkan dnsmasq, dengan mengedit file konfigurasi:
Tekan Ctrl+ Wdan ketik
listen-address=
dan tekan enter.Batalkan komentar pada baris dan tambahkan 127.0.0.1 dengan port yang berbeda dari 53 seperti:
sumber
EDIT: beberapa googling, dan saya menemukan solusinya . Tampaknya manajer jaringan bergantung pada paket yang disebut "dnsmasq-base" yang menyediakan beberapa fungsi dnsmasq. Entri Dnsmasq di Wiki Ubuntu menyatakan itu
Dengan kata lain: Anda ingin menggunakan dnsmasq? Maka Anda lebih baik tahu apa yang Anda lakukan. Solusi yang disebutkan sebelumnya menyarankan untuk mengganti dnsmasq-base dengan dnsmasq dengan cara berikut (perintah pertama juga akan menghapus network-manager):
Dan di sini ada beberapa komentar umum tentang menemukan apa yang menghalangi port Anda: Anda dapat menemukan apa yang sedang mendengarkan port mana dengan menggunakan
lsof
:akan mencantumkan port IPv4 karena -i4, sementara
akan mencantumkan port IPv6. Atau ketik saja
Ini seharusnya (semoga) memberi tahu Anda apa yang menggunakan port 53.
-Pn
Sakelar baris perintah mencegah konversi nomor port / IP host menjadi nama.Atau, jalankan
sumber
sudo apt-get remove dnsmasq-base
saya dibiarkan tanpa koneksi jaringan sehingga saya tidak bisa melakukan langkah selanjutnya! Solusinya ternyata berjalan dhclient untuk mendapatkan alamat IP baru.