Dnsmasq bir DHCP (Dynamic Host Configuration Protocol) server və DNS (Domain Name System) kimi çıxış etmək üçün hazırlanmış açıq bir qaynaqdır, tamamilə pulsuz, asan konfiqurasiya və yüngül komanda kəməri proqramdır ) GNU / Linux və UNIX kimi əməliyyat sistemləri üzrə ekspeditor.
Bu proqram, kiçik bir şəbəkəyə DNS və DHCP funksionallığı kimi təmin edən bir şəkildə hazırlanmışdır.
Güclü komanda-line variantları
Bu proyekt üçün geniş bir sıra komanda-line variantları mövcuddur, bu da bir dartı ilə dnsmasq --help & rsquo; bir Terminal appində əmr edin. Bunlar arasında, qulaq asmaq üçün yerli bir ünvan göstərmək, girişlərdə önbelleğin ölçüsünü müəyyən etmək və xüsusi konfiqurasiya faylını müəyyən etmək imkanını qeyd etmək olar.
Dnsmasq ilə başlayın
GNU / Linux əməliyyat sisteminə Dnsmasq qurulması mənbə arxivi olaraq paylanmış hər hansı digər açıq mənbə proqramı ilə eyni şəkildə işləyir. Əvvəlcə paketini yükləyin, onu kompüterinizə (üstünlüklə Home kataloqunuza) saxlayın və arxiv meneceri proqramından istifadə edərək məzmununu çıxarın.
Sonra, terminal emülatöründe arxiv faylını çıxardığınız yerə keçin (məsələn, cd /home/softoware/dnsmasq-2.72 - istifadəçi adı ilə dəyişdirin & lsquo; & nbsp; & nbsp; / configure & amp; ; & amp; & rsquo; proqramı konfiqurasiya etmək və tərtib etmək əmri, sonra da "sudo install install & rsquo;
sistemini qurmaq əmriGNU / Linux, BSD və Mac OS X üzərində çalışır
Dnsmasq Linux, Debian, Gentoo, Slackware, Smoothwall, SUSE, IP-Cop, Firebox, floppyfw, LEAF, CoyoteLinux, Clarkconnect, Freesco və s.), BSD (FreeBSD) və Mac OS X. 32-bit və 64-bit kompüter platformalarında çalışır.
Bu sürümdə yeni nə :
- Bir qəza deyil, bir CNAME loop ilə konfiqurasiya edilərkən səhv yaradın.
- Bu problemi müəyyənləşdirmək üçün Corc Metz sayəsində
- TFTP səhv cavab paketinin uzunluğunu düzgün olaraq hesablayın. Bir TFTP paketindəki hata mesajı 500 simvoldan asılı olmayan bir limitdən artıq olduqda bu problemi düzəldir. Mesaj düzgün bir şəkildə kəsildi, amma paket uzunluğu deyil, əlavə məlumat əlavə edildi. Əlavə məlumat DNS-də istifadə olunan bir tampondan gəlir, çünki əvvəlki DNS sorguları və ya cavabları sızdırıla bilər. Bu təhlükəni görən təhlükəsizlik auditini maliyyələşdirmək üçün Mozilla sayəsində
- Linux netlink kodunda məntiq səhvini düzəldin. Bu, dnsmasq'a çox sayda şəbəkə interfeysi olan sistemlərdə sıx bir döngə daxil edə bilər. Diaqnoz və yamaq üçün İvan Kokşayskiyə təşəkkür edirəm.
- Sidduşun alınması ilə vaxtında tənzimlənmənin vaxtında yoxlanılması ilə bağlı problemi həll edin. Bu iş üçün Kevin Darbyshire-Bryant sayəsində.
- Nüfuzlu DNS təmin edərkən / etc / hosts və dostların yenidən yüklənməsinə zərbə zonası seriyası. Bunu izləmək üçün Harrald Dunkelə təşəkkür edirəm.
- V4-eşlenen IPv6'yı saniyədə -synth-domain ünvanları. Bunlar, ffff: 1.2.3.4 kimi standart təsvirə malikdir və indi --ffff-1-2-3-4 kimi adlara çevrilir.
- Adlandırılmış interfeys məhv edildikdə və çekirdekdə yenidən qurulduqda, bir interfeysə (-server = 1.2.3.4@eth0) məcburi upstream serverləri idarə edin. Beniamino Galvani üçün yamaq üçün təşəkkür edirik.
- avtorizasiya zonalarında wildcard CNAME qeydlərinə icazə verin. Məsələn --sname = *. Example.com, default.example.com Bu inkişafı sponsorluq üçün Pro Backup sayəsində.
- TCP bağlantılarının icazə verilən geri qayıtma sayını 5-dən 32-ə endirin və bu, kompilyasiya vaxtında yapılandırılabilir bir seçimdir. Donatka Abraitis'e teşhis üçün potensial bir problem olaraq
- DNSMASQ_REQUESTED_OPTIONS mühit dəyişənini lizinq-dəyişiklik skriptinə əlavə edin. Yama üçün ZHAO Yu'ya təşəkkür edirəm.
- Özellikle DNSSEC doğrulaması yapıldığında ve hatta önde gelen server RR'lerle müəyyən bir sırada cavab verirse, hatalı kodda foobar'ı düzeltin, yanlış biçimde cavab verə bilər. Bunları bişirmək üçün bilinən yeganə DNS server Nominum. Dave Tahtə görə səhvlərin aşkarlanması və düzəldilməsi üçün təşəkkür edirik.
- İnterfeys tərəfindən yalnız bir interfeysin əsas ünvanının istifadə edildiyi yalan olan səhifəni düzəldin.
- Yerləşdirmə-sorguları - adların adına tətbiq edilir. Kevin Darbyshire-Bryant və Eric Luehrsenə təşəkkür edirəm
- TCP upstream serverləri ilə söhbət edərkən əlaqələrin idarə edilməsini yaxşılaşdırın. Xüsusilə, birdən çox sorgu yaratmaq istəyiriksə, yeni bir TCP bağlantısı açmaq üçün hazırlanın, lakin upstream server hər bir bağlantıda daha az sorguları qəbul edir.
- Bir çox "yerli ünvanlar" girişləri olduqda, upstream serverlərin qeydiyyatı təkmilləşdirilməsi. Hannu Nyman'a yamaq üçün təşəkkür edirik.
- RFC6303-də göstərilən prefikslər üçün - bogus-priv IPv6-a müraciət edin. Bu iş üçün Kevin Darbyshire-Bryant sayəsində
- MAC ünvanlarının - tftp-unikal-kök ilə istifadəsinə icazə verin. Floris Bos'a yamaq üçün təşəkkür edirik.
- - dhcp-cavab-gecikmə seçimini əlavə edin. Floris Bos'a yamaq üçün təşəkkür edirik.
- mtu ayarlama qurğunu - param əlavə edin. Dəstək üçün David Flamand'a təşəkkür edirəm.
- DHCP-scriptdən STDOUT və STDERR çıxışı tutun və dnsmasq günlük axınının bir hissəsi kimi qeyd edin. Komutlarda gözlənilməz problemləri tanıdan həyatı asanlaşdırır. Petr Mensikə görə yamaq.
- dhcp-script'ün çıkışını "init" rejimində ayrıştıramadığında ölümcül hatalar yaradın. Ssenari təsadüfən səhv mesajlar yayarkən qəribə səhvləri çəkir. Petr Mensikə görə yamaq.
- Bir RFC1918 alt şəbəkəsi üçün - var-server-server -vogus-priv bayrağının hətta iştirakı.
Vladislav Grishenkoya görə yamaq.
- Extend - param mtu: bir interfeys adına imkan verən sahə. Bu bir WAN interfeysi MTU bir router daxili interfeys reklam etmək üçün imkan verir.
Vladislav Grishenkoya görə yamaq.
- Müştəri DHCPDISCOVER-də bir ünvan müəyyən edərkən və bir ünvan yerli olaraq konfiqurasiya edildikdə DHCPv4 üçün ünvanı istifadədə ICMP-ping yoxlayın. Alin Nastac'a təşəkkür edirəm
- Bir dhcp-host başqa bir alt şəbəkə üçün mövcud olduqda təyin edilmiş yeni "DHCP" tag "known-othernet" əlavə edin. Təsadüfi hostların qəza ilə "qonaq" ünvanlarına verilməməsini təmin etmək üçün istifadə edilə bilər. Tövsiyə üçün Todd Sanket sayəsində.
- Beynəlxalq yardım dəstəyi qurarkən IDN dəstəyinin tarixi avtomatik olaraq silinməsi. İndi IDN kitabxanalarının seçimi var. IDN dəstəyi üçün -DHAVE_IDN və ya -DHAVE_LIBIDN2 daxil olun.
2.72 versiyasında yeni nə :
- RFC-3775 mobil IPv6 dəstəyi üçün ra-advrouter rejimi əlavə edin.
- Pdf-dən istifadə edərək, * BSD-də "ipsets" üçün dəstək əlavə edin. Sven Falempim üçün yamaq üçün təşəkkür edirik.
- Bir interfeys sürətlə endirilən zaman dnsmasq kilidləyən yarış vəziyyətini düzəldin. Conrad Kostecki'ye təşəkkür edirəm
- DBF üsullarını SetFilterWin2KOption və SetBogusPrivOption əlavə edin. Yama üçün Smoothwall layihəsinə görə.
- Nettle-3.0-ə qarşı qurulmamaq üçün qüsurları düzəldin. Stiven Barth'a görə bunun tesbit edilməsi və düzəldilməsi. Şəbəkələri müqayisə etməklə mövcud DHCP lizinqlərini intefases təyin edərkən, iki və ya daha çox interfeysin eyni şəbəkə hissəsinə malik olduğunu, lakin müxtəlif prefiks uzunluğunu (uzun prefiks uzunluğuna üstünlük verin) idarə edin. Yamaq üçün Lung-Pin Chang sayəsində.
- DNS ötürmə döngələrini aşkarlayan və aradan qaldıran bir rejimi əlavə edin, yəni bir upstream serverə göndərilən sorgu dnsmasq üçün yeni bir sorgu olaraq qaytarılır və buna görə də təkrar ötürülür, nəticədə düşməzdən əvvəl bir neçə dəfə döngə süzgəcinə yol verilir. Döngü geri olan yuxarı serverlər söndürülür və bu hadisə gündəmə gətirilir. Bu xüsusiyyətin sponsorluğu üçün Smoothwall sayəsində.
- Faylları filtrelemeye imkan verən genişləndirmək -conf-dir. Belə ki, --conf-dir = / etc / dnsmasq.d, *. Conf, /conc / dnsmasq.d-də olan bütün faylları .conf
- NODATA yerinə bəzi hallarda NXDOMAIN cavabları ilə nəticələnən səhvləri düzəlt.
- Bir şəbəkə interfeyinin yox olması səbəbindən paketləri göndərməmiş olduqda dnsmasq'a səbəb olan səhvləri düzəltməyin. Niels Peen-in bu işarələməsinə görə təşəkkür edirəm.
- Böyük problemli platformalarda yerli xidmət versiyası ilə problemi həll edin.
Richard Genoud üçün yamaq üçün təşəkkür edirik.
Yeni nə versiya 2.68:
- DHCPv6 müvəqqəti ünvan ayırmaları üçün təsadüfi ünvanları istifadə edin, alqoritmik olaraq müəyyən sabit ünvanlar yerinə.
- DHCPv6 DUID DHCP skriptində DUID de-novo yaratan dnsmasq prosesinin ömrü boyunca işlədildiyi anlamına gələn səhvləri düzəldin. DUID yaradılan faylda saxlandığı və dnsmasq yenidən başlandığında bu səhv ortadan qalxdı.
- Səhv NXDOMAIN ilə nəticələnə biləcək 2.67-də təqdim olunan səhvləri CNAME sorgularına qaytarır.
- MacOS X və openBSD-də quruluş arızalarını düzeltin.
- - auth-zonada altnet spesifikasiyasına interfeys adları, eləcə də ünvanı tamsayılarına icazə verin. Yerli ünvan aralıkları dinamik olduqda və əvvəlki işlərə görə daha yaxşı işləyərkən, avtorizativ DNS konfiqurasiya edilə bilən DHCP parametrlərini IP ünvanı filtrelemelerinden istisna etmək üçün konfiqurasiya etmək mümkündür. Nəticə olaraq, bu iş ətrafında çıxarılır. Bəzi hallarda, bu dəyişiklik mövcud konfiqurasiyanı pozur: əgər tərtib edilmiş istifadəyə əsaslanarsanız, DHCP aralığınızı qurmaq üçün istifadə olunan interfeysi müəyyən etmək üçün - auth-zonasını dəyişdirməlisiniz, ehtimal ki, "/ 6" bu kimi: --auth-zone = example.com, et0 / 6 ünvanlarını eth0 IPv6 ünvanlarına məhdudlaşdırmaq üçün.
- Silinmiş IPv6 prefikslərini reklamlaşdıran problemləri düzəltmək. Prefiks silinirsə (əvəzinə əvəz olunmur), sıfır üstünlük verilmiş vaxtla elan edilmir.
Səhv hesabatına görə Tsachi sayəsində. - Yerli konfiqurasiya edilmiş bəzi CNAME ilə segfault düzeltin.
- Andrew Childs'a təşəkkür edirəm
- 2.67-də təqdim olunan / etc / hosts və arkadaşları yenidən oxumaqda yaddaş sızıntısını düzəldin.
- Daxil olan DNS və TFTP isteklerinin variantı arayışını IPv6 vasitəsilə, hətta - interfeyslər rejimində yoxlayın. IPv4 üçün bu mümkün deyil və qorxudan xəbərdarlıqları yarada bilər, lakin IPv6 üçün həmişə olduğu kimi (API həmişə mövcuddur) həmişə bunu etməlidir.
- IPv6 üçün - dhcp-intervalında prefiks uzunluqlarına dair qaydaları çix etdirin. Yeni qayda göstərilən önfonun uzunluğu yerli arayüzün müvafiq ünvanının prefiks uzunluğundan böyük və ya bərabər olmalıdır.
2.63 versiyasında yeni nə :
- Bu sürümdəki əsas əlavə, joker şəbəkə IP ünvanını bağlayan və dinamik şəkildə yaradılan şəbəkə interfeysləri ilə ələ verən, iki mövcud şəbəkə rejiminin əsas məhdudiyyətlərini aradan qaldıran, birləşdirən dinamikdir.
Yeni versiyası 2.61:
- Bu versiya 2.60-da çıxış edən DHCPv6 kodunda bir çox əlavə işə malikdir.
- Çox səhvlər düzəldilib və əlavə funksiyalar əlavə edilib.
- Yönlendirici reklam xüsusiyyəti daha çox yapılandırılabilir və dnsmasq'ın SLAAC IPv6 ünvanlarını və DHCP IPv4 ünvanlarını istifadə edən ana kompyuterlər üçün AAAA DNS qeydləri etməyə imkan verən bir rejimi var.
Sürüm 2.59'da yeni nə :
- Bu versiya dnsmasq-2.58 ilə üz-üzə gələn bir neçə məsələni həll edir və IPv6 link-yerli ünvanları ilə başlanğıcda problem yarada bilər.
- Birincisi dnsmasq'da regressiya, digəri isə sonuncu Linux kernelində körpü interfeyslərinin davranışında dəyişiklikdir.
Sürüm 2.58'de yeni nə :
- versiya 2.58
- Eksik olan SA_SIZE makrosunun tərifini təmin edin. Düzeltmeler openBSD-də uğursuzluq yaradır.
- Didier Raboun'a təşəkkür edirəm
- IP ünvanlarını böyümə sırasına yerləşdirməyə məcbur etmək üçün - dhcp-sequential-ip bayrağı əlavə edin. Standart pseudo-təsadüfi rejimi ümumiyyətlə daha yaxşı olduğunu unutmayın, lakin bəzi server-yerləşdirmə tətbiqlərinə bu lazımdır.
- Dnsmasq yenidən başladından sonra və alt şəbəkədə olan hər hansı bir müştərinin yeni bir icarə əldə etməsindən əvvəl müştəri bir kirayəni yeniləyirsə dhcp-relay istifadə edildikdə 0.0.0.0 bir server-idin müştəriyə göndərildiyi problemi həll edin. Mike Ruiz'e təşəkkür edirəm
- Yalnız bir A qeydini göstərən CNAME varsa, NXDOMAIN-i AAAA sorğusuna qaytarmayın: NODATA bu halda düzgün cavabdır. Problemin lehinə Tom Fernandes'a təşəkkür edirəm.
- DHCP relayını istifadə edən şəbəkələr üçün - dhcp-intervalında bir ağ maskası təmin etmək üçün ehtiyacını rahatlayın. Bu hələ istənilən halda, bir ağ maskası olmadan dnsmasq ünvanın sinifinə (A, B və ya C) əsaslanan bir standart istifadə edəcəkdir. Bu, RFC1918 ünvanlarını və rölövünü istifadə edən insanlar üçün ən azı sirli bir uğursuzluq səbəbini aradan qaldırmalıdır.
- Linux bağlama bağlantısı markalaması üçün dəstək əlavə edin. Bağlanılsa --conntrack, daxil olan DNS sorguları üçün əlaqə sinifi bu sorgulara cavab vermək üçün istifadə edilən gediş əlaqələrinə kopyalanacaq. Bu, ağıllı təhlükəsizlik duvarı və mühasibat materiallarını təmin edir. Yalnızca dnsmasq HAVE_CONNTRACK ilə tərtib edildikdə və libnetfilter-conntrack üzərində asılılıq varsa mövcuddur. Ed Wildgoose sayəsində ilk funksiya, test və sponsorluq üçün təşəkkür edirik.
- Kimsə - dhcp-host-da bir etiket eşleme cəhdində səhv bir səhv bildirin.
- Dnsmasq axınınındakı recursive nameservers ilə problemlərin qarşısını almaq üçün, lazım olan yerin davranışını çimdik. Yeni davranış yalnız A və AAAA sorgularını dayandırır və NXDOMAIN cavablarından çox NODATA qaytarır.
- Bu yardım üçün James Gartrell və Mike Ruiz sayəsində çox böyük DHCP konfiqurasiyaları üçün səmərəlilik düzəldir.
- TFTP-server ünvanına - dhcp-boot-da / etc / hosts-da baxılan bir domen adına icazə verin. Bu, yuvarlak robin istifadə olunan bir çox IP ünvanı verə bilər, beləliklə TFTP server yük balansını edir. Yumaya görə Sushil Agrawal sayəsində.
- Belirli bir seçim numarası üçün iki etiketli dhcp-variantları həm etibarlı olduqda, dhcp-sıra bir etiket olmadan etibarlı olanı istifadə edin.
- Hər hansı bir host üçün DHCP variantının dəyərinin əvəz edilməsinə imkan verir.
- - dhcp-range = set: interface1, ......
- - dhcp-host = set: myhost, .....
- - dhcp-option = tag: interface1, variant: nis-domain, domain1
- - dhcp-option = tag: myhost, variant: nis-domain, domain2
- NIS-domenini interyerdə host1 üçün domain1 təyin edəcək, lakin
- müəyyən bir host2 üçün domain2-ə yalnışdır.
- Bəzi TFTP köçürmələri üçün kəsilmiş fayllar və zamanaşımları ilə nəticələnən səhvləri düzəldin. Səhv yalnız netascii köçürmələri ilə baş verir və özü ortaya çıxmadan əvvəl, faylın ölçüsü, blocksize və sonuncu xətt sayıları arasında uğursuz bir əlaqəyə ehtiyac duyur. Alkis Georgopoulos'a problemin leqallaşdırılması və hərtərəfli test işi təqdim edilməsi üçün çox təşəkkürlər.
- Sockaddr uzunluğu ilə qarışıqlıq səbəbi ilə versiya 2.56'da təqdim olunmuş * BSD platformalarında TFTP serverində regressiya bərpa edin.
- Bütün prioritetlər bərabər olduqda, dairəvi robin yük balansını təmin etmək üçün cavablarda SRV qeydlərinin sırasını qayıt. Təklif üçün Peter McKinney sayəsində.
- Contrib / MacOSX-launchd / uk.org.thekelleys.dnsmasq.plist faylını düzəltmək üçün bütün sorğuları bir faylya daxil etməyəsiniz. Peter McKinney'e yenidən təşəkkür edirik.
- Varsayılan olaraq, bir domen üçün bir IPv4 ünvanını təyin, lakin bir IPv6 ünvanı deyil, dnsmasq IPv6 (və ya əksinə) üçün NODATA cavabını qaytarmağa səbəb olur. Belə ki, - add = / google.com / 1.2.3.4 * google.com üçün göndərilən IPv6 sorğularını dayandırır. Eyni domain həm də - server və - ünvanında görünsə, sematiqləri müəyyən etməklə bu davranışı qadağan etməyə imkan verir. Bu halda, - ünvanın göründüyü ünvan ailəsi üçün prioritet var, lakin - server-də əlavə olunmayan ünvan ailəsinin üstünlüyü var -
- Belə ki:
- - ünvan = / google.com / 1.2.3.4
- - server = / google.com / #
- * .google.com üçün IPv4 sorguları üçün 1.2.3.4'ü geri alacaq, ancaq normal upstream ad sunucusuna IPv6 sorgularını iletir. Bununla belə, yalnız bir IPv6 ünvanını qurarkən bu IPv4 sorğunun ötürülməsinə imkan verəcəkdir.
Buna görə ehtiyac olduğuna işarə edən William - Birdən çox - dhcp-optsfile və --dhcp-hostsfile icazə verin və bunları, --addn-hosts ilə eyni şəkildə arqumentlər kimi anlayın. John Hanks təklifi.
- Biz bilmədiklərimiz lizinq tələblərini geri götürməyin. Rebind yayımlanır, belə ki, başqa bir DHCP server üçün nəzərdə tutulan bir tələbi eşitməyə başlaya bilərik. NAKİ bu yanlışdır. Bu kömək üçün Brad D'Hondt'a təşəkkür edirəm.
- Bəzi konfiqurasiyaları olan önbellek statistikasına atdığınızda qəribə məhsul çıxardığı kosmetik səhvləri düzəldin. Bunu qeyd etmək üçün Fedor Kozhevnikova təşəkkür edirəm.
/ dev / log bir datagram yuvası olduğunda / dev / log'a göndərilən mesajların sonunda sıfır terminator daxil etməyin.
Sürüm 2.55'te yeni nə :
- / etc / eters istifadə edildikdə qəzanı düzəldin. Bunu tapmaq üçün Gianluigi Tiesi sayəsində.
- Netlink_multicast () qəzasını düzəldin. Arno Wald'a bu tapdığınız üçün təşəkkür edirik.
- Boş domenə icazə verin. " dhcp domain-search (119) seçimində.
Şərhlər tapılmadı