çevre
LAN kurulumum oldukça basit:
- ISS'nin modemine ve internete bağlı bir yönlendirici
- Geliştirme bilgisayarım doğrudan yönlendiriciye bağlı
Yönlendirici DHCP sağlar, ancak kendi DNS sunucusunu çalıştırmaz. Aslında, LAN'ımın herhangi bir yerinde barındırılan DNS sunucusu yok (tipik ev ağı kurulumu). Yönlendirici, DHCP kiralama bilgilerinin bir parçası olarak ISS'nin DNS sunucularını gönderecek şekilde yapılandırılmıştır.
Geliştirme bilgisayarımda bir VirtualBox makinesi kurdum ve üzerine Debian Squeeze (6.0.4) yükledim. VirtualBox ağ modu, LAN'ımda Bridged Adapter
bağımsız bir sunucuyu simüle etmektir. Fiziksel bir sunucu yerine bir VirtualBox sunucusu olmak gerçekten önemli değil, ama tamlık için bundan bahsediyorum.
Sorun
Bir ağ işlemi yürütülmeden önce bir LAN ip'in DNS geri aramasını her çalıştırdığında, sunucunun uzun gecikmeleri olur. Yavaş ağ işlemlerine bazı örnekler:
- Geliştirme bilgisayarımdan sunucuya SSH bağlantısı
- Glassfish sunucusunun yönetici portuna bağlantı
netstat -l
(netstat -nl
çok hızlı)Starting MTA: exim4
önyüklemenin tamamlanması uzun zaman alıyor
Bunlardan bazıları benim dev pc's Ip eklemek /etc/hosts
veya DNS ters aramalar yapmaktan kaçınmak için komuta özgü bir seçenek eklemek gibi geçici çözümler var . Açıkçası, /etc/hosts
sadece DHCP ile çeliştiği için kullanmak şimdiye kadar devam ediyor.
Ancak, yardım edemem ama bir şeyleri kaçırdığımı düşünüyorum. Ben musunuz gerçekten kurulum için benim LAN üzerindeki bir DNS sunucusu bir yere ihtiyacın var mı? Bu, ihtiyaçlarım için büyük ve işe yaramaz bir çaba gibi görünüyor ve benim gibi bir DHCP ortamında başka bir seçenek olmadığına inanamıyorum.
Bunun için ağı çok aradım ve belki de doğru arama terimlerine sahip değilim, ama çözümü bulamıyorum ...
BillThor'un cevabını takiben güncelleme 1
Ana makineyi kullanma (dig aynı sonuçları verir):
# ip of stackoverflow.com
$ time host -v 64.34.119.12
Trying "12.119.34.64.in-addr.arpa"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15537
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;12.119.34.64.in-addr.arpa. IN PTR
;; ANSWER SECTION:
12.119.34.64.in-addr.arpa. 143 IN PTR stackoverflow.com.
Received 74 bytes from 192.168.1.1#53 in 15 ms
real 0m0.020s
user 0m0.008s
sys 0m0.000s
# ip of dev pc
$ time host -v 192.168.1.50
Trying "50.1.168.192.in-addr.arpa"
;; connection timed out; no servers could be reached
real 0m10.004s
user 0m0.004s
sys 0m0.000s
/Etc/resolv.conf (yükleme sırasında otomatik olarak oluşturuldu)
nameserver 192.168.1.1
Hem host hem de dig, genel bir ip için çok hızlı geri döner, ancak LAN ip için zaman aşımına uğrayarak 10 saniye sürer. Sanırım şu anki zaman aşımı değerim 10'dur.
güncelleme 2
İle dev-pc
/ etc / hosts dosyasında:
$ time getent hosts 192.168.1.50
192.168.1.50 dev-pc
real 0m0.001s
user 0m0.000s
sys 0m0.000s
dev-pc
/ Etc / hosts dosyası olmadan :
$ time getent hosts 192.168.1.50
real 0m10.012s
user 0m0.004s
sys 0m0.000s
Her biri için ters DNS aramaları yapmaya çalışan parça parça program seçeneklerini veya parametrelerini bulmam gerekecek gibi görünüyor! Makinelerin hiçbiri (sanal ya da değil), her zaman açık olmadıklarından LAN'ımda DNS sunucusu olarak işlev göremez. Ne yazık ki, yönlendiricinin ürün yazılımı bir DNS sunucusu içermiyor.