NetworkManager'ın dnsmasq dosyasını / etc / hosts kodunu kullanacak şekilde yapılandırın


22

DNSMASQ programını yükledim ancak 53 bağlantı noktası meşgul olduğu gibi başlamadı.

Ubuntu'nun zaten dnsmasq paketi olduğunu ve çalıştığını öğrendim.

Şimdi sorun şu ki: Ben sadece / etc / hosts dosyasındaki ana bilgisayarlarımı çözmek istiyorum.

yani: nslookup somehostonlan localhost / etc / hosts dosyasından alınan belirli bir IP'ye çözümlenecek.

ama bu olmuyor.

Niye ya? BTW, önbellekleme DNS sunucusu olarak iyi çalışıyor. Ben sadece tüm / etc / hosts dosyasından hosts çözmek için istiyorum

Yanıtlar:


22

İnterneti hızlandırmak için ubuntu 12.04, dns girişlerini önbelleğe alan yerel bir dns sunucusu olan dnsmasq'ı başlatmak için NetworkManager'a bir eklenti ekledi. Sorun, eklentinin --no-hosts dizesini kodlamasıdır.

Dolayısıyla çözümlerden biri, eklentiyi NetworkManager yapılandırma dosyasında yükleyen satırı yorumlamak ve NetworkManager'ı yeniden başlatmaktır:

sudo mv /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf.bak
sudo bash -c 'cat /etc/NetworkManager/NetworkManager.conf.bak | sed -e "s/^\(dns=dnsmasq\)$/#\1/" > /etc/NetworkManager/NetworkManager.conf'
sudo restart network-manager

Başka bir çözüm, istenmeyen argümanları filtrelemek için dnsmasq'ı sarmaktır:

sudo mv /usr/sbin/dnsmasq /usr/sbin/dnsmasq.bin
sudo bash -c 'cat > /usr/sbin/dnsmasq' << EOF
#!/bin/sh
dnsmasq=/usr/sbin/dnsmasq.bin

exec $dnsmasq `echo $@ | sed -e s/--no-hosts//`
EOF

sudo chmod 755 /usr/sbin/dnsmasq

Lütfen hatayı sizi etkileyen olarak işaretleyin .

Sistem dosyalarını yamalamadan başka bir çözüm

cat /etc/NetworkManager/dnsmasq.d/hosts.conf 

addn-hosts=/etc/hosts

7

Bu hata beni şimdi bile etkiledi (Ubuntu 14.04).

Sonunda, Newworkmanager paketinin dnsmasq yapılandırma dosyasına 'addn-hosts = / etc / hosts' dizinini ekleyin.

echo 'addn-hosts=/etc/hosts' > /etc/NetworkManager/dnsmasq.d/etc-hosts
service network-manager restart

Buradaki fikir, / etc / hosts dosyasını ek bir host dosyası olarak ekliyoruz.

Bir çözüm bulabilsem bile, / usr / sbin / NetworkManager ikili dosyasında '-no-hosts' yazan kodlanmış bir seçenek beni hayal kırıklığına uğratıyor.


7

Ağustos 2015 itibariyle, diğer cevaplar eski.

Basit cevap

  1. Oluşturun /etc/NetworkManager/dnsmasq.d/hosts.conf.
  2. address=/whatever/1.2.3.4Bunun gibi çizgiler koyun . Dokümanlara bakın (arayın --address). Joker karakterler mümkündür: address/.whatever./1.2.3.4.
  3. Öldür dnsmasq( böcek ).
  4. Tekrar başlat $ service network-manager restart.

1

dnsmasq /etc/hostsdosyayı otomatik olarak kullanmalıdır . Bu, -hkomut satırı seçeneği veya no-hostsyapılandırma seçeneği tarafından devre dışı bırakılabilir . Varsayılan yapılandırmada ayarlanması beklemem.

Dnsmasq'ı, hosts dosyasını yeniden yüklemeye zorlamayı deneyin. (Yapılandırma dosyasındaki değişiklikler yeniden başlatmayı gerektirir). Bu komutlardan herhangi biri çalışmalıdır.

service dnsmasq reload

kill -HUP $(pidof dnsmasq)

no-hostsBelirtilen bir sistemle çalışıyorsanız, addn-hostsgeçersiz kılmak için bu seçeneği kullanmanız gerekir. Normalde bu, ek bir dosyayı /etc/hostsformatta okumak için kullanılır . Bu, DNS'in sağlamasını istediğiniz ancak /etc/hostsdosyanızda istemediğiniz ek ana bilgisayar verilerini belirtmek için kullanılabilir . Bu, paket yöneticisinin ve ilgili araçların yönetilmesine izin vermek için kullanılırken, /etc/hostsalternatif bir dosyada ek ana bilgisayar verileri sağlanır.


/etc/dnsmasq.conf, yorum yapan tüm seçeneklere sahiptir. Yeniden
yükleme

Ne yaptım bilmiyorum. şimdi çalışıyor gibi görünüyor
bakytn

3
Cevabı gerçekten bilmediğinde neden buna cevap verdin? "Varsayılan yapılandırmada ayarlanmasını beklememeniz" gerçeği, NetworkManger'da ayarlandığı ve dnsmasq'a sabit kodlandığı için durumu doğrulamaz.
Justin Buser,

yapılandırma dosyalarındaki değişiklikleri yüklemek için dnsmasq'ın yeniden başlatılması gerekiyor
txwikinger 23:14

@txwikinger dnsmasqBir HUPsinyal aldığınızda birçok seçenek dosyası yeniden okunur . Bu içerir /etc/hostsve /etc/ethersdosyaları. Yeniden başlatma zamanları yeterince hızlıdır, istemcilerin yanıt alamaması nadirdir.
BillThor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.