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.