dnsmasq详解手册
?
?
Dnsmasq為小型網(wǎng)絡(luò)提供網(wǎng)絡(luò)基礎(chǔ)設(shè)施:DNS,DHCP,路由器通告和網(wǎng)絡(luò)引導(dǎo)。它被設(shè)計(jì)為輕量級且占用空間小,適用于資源受限的路由器和防火墻。它還被廣泛用于智能手機(jī)和便攜式熱點(diǎn)的共享,并支持虛擬化框架中的虛擬網(wǎng)絡(luò)。支持的平臺包括Linux(帶有g(shù)libc和uclibc),Android,* BSD和Mac OS X. Dnsmasq包含在大多數(shù)Linux發(fā)行版以及FreeBSD,OpenBSD和NetBSD的端口系統(tǒng)中。Dnsmasq提供完整的IPv6支持。
?
?
?
?
Dnsmasq原理:
?本機(jī)APP訪問主機(jī)的/etc/resolv.conf獲取DNSServer,該文件指向的DNSServer為Dnsmasq。 ?本地局域網(wǎng)中的主機(jī)可以直接訪問Dnsmasq,即在這些主機(jī)中/etc/resolv.conf指向了Dnsmasq。 ?Dnsmasq需要通過上游DNS來進(jìn)行域名解析,上游DNS可以配置在/etc/resolv.dnsmasq.conf中,該文件需要在Dnsmasq的配置文件/etc/dnsmasq.conf中指定。?
?
DNS子系統(tǒng)為網(wǎng)絡(luò)提供本地DNS服務(wù)器,將所有查詢類型轉(zhuǎn)發(fā)到上游遞歸DNS服務(wù)器并緩存常用記錄類型(A,AAAA,CNAME和PTR,以及啟用DNSSEC時(shí)的DNSKEY和DS)。
本地DNS名稱可通過讀取/ etc / hosts,通過從DHCP子系統(tǒng)導(dǎo)入名稱或配置各種有用的記錄類型來定義。 上游服務(wù)器可以用各種方便的方式進(jìn)行配置,包括動態(tài)配置,這些配置會隨著移動上游網(wǎng)絡(luò)而發(fā)生變化。 權(quán)威DNS模式允許本地DNS名稱可以導(dǎo)出到全球DNS中的區(qū)域。Dnsmasq充當(dāng)此區(qū)域的權(quán)威服務(wù)器,并且還根據(jù)需要為該區(qū)域的輔助區(qū)域提供區(qū)域傳輸。 可以對來自上游名稱服務(wù)器的DNS答復(fù)執(zhí)行DNSSEC驗(yàn)證,從而提供針對欺騙和緩存中毒的安全性。 指定的子域可以定向到它們自己的上游DNS服務(wù)器,從而使VPN配置變得容易。 支持國際化域名。DHCP子系統(tǒng)支持DHCPv4,DHCPv6,BOOTP和PXE。
支持靜態(tài)和動態(tài)DHCP租約,以及DHCPv6中的無狀態(tài)模式。 PXE系統(tǒng)是一個(gè)完整的PXE服務(wù)器,支持網(wǎng)絡(luò)引導(dǎo)菜單和多種體系結(jié)構(gòu)支持。它包括代理模式,PXE系統(tǒng)與另一臺DHCP服務(wù)器協(xié)同工作。 有一個(gè)內(nèi)置的只讀TFTP服務(wù)器來支持網(wǎng)絡(luò)啟動。 通過DHCP配置的計(jì)算機(jī)的名稱會自動包含在DNS中,并且名稱可以由每臺計(jì)算機(jī)指定,或者通過在dnsmasq配置文件中將名稱與MAC地址或UID關(guān)聯(lián)來集中進(jìn)行。路由器通告子系統(tǒng)為IPv6主機(jī)提供基本的自動配置。它可以單獨(dú)使用或與DHCPv6結(jié)合使用。
M和O位是可配置的,以控制主機(jī)使用DHCPv6。 路由器通告可以包含RDNSS選項(xiàng)。 有一種方式使用來自DHCPv4配置的名稱信息來為自動配置的IPv6地址提供DNS條目,否則這些地址將是匿名的。為了更加緊湊,編譯時(shí)可能會省略未使用的特性。
獲取代碼。
在這里下載?dnsmasq。tarball包含這個(gè)文檔,源代碼和聯(lián)機(jī)幫助頁。還有一個(gè)CHANGELOG和一個(gè)常見問題。Dnsmasq有一個(gè)git倉庫,其中包含版本2的完整版本歷史和2.60版本的開發(fā)歷史。您可以?瀏覽?回購站,或者使用git協(xié)議通過命令獲取副本
git clone git://thekelleys.org.uk/dnsmasq.git要么
git clone http://thekelleys.org.uk/git/dnsmasq.gitDnsmasq根據(jù)您的判斷在GPL第2版或第3版下發(fā)布。有關(guān)詳細(xì)信息,請參閱發(fā)行版中的COPYING和COPYING-v3文件。
?
############################################################################# # #????????DNS?選項(xiàng) # ############################################################################## #?不加載本地的?/etc/hosts?文件 #no-hosts #?添加讀取額外的?hosts?文件路徑,可以多次指定。如果指定為目錄,則讀取目錄中的所有文件。 #addn-hosts=/etc/hosts #?讀取目錄中的所有文件,文件更新將自動讀取 #hostsdir=<path> #?例如,/etc/hosts中的os01將擴(kuò)展成os01.example.com #expand-hosts############################################################################## #?緩存時(shí)間設(shè)置,一般不需要設(shè)置 #?本地?hosts?文件的緩存時(shí)間,通常不要求緩存本地,這樣更改hosts文件后就即時(shí)生效。 #local-ttl=3600 #?同?local-ttl?僅影響?DHCP?租約 #dhcp-ttl=<time> #?對于上游返回的值沒有ttl時(shí),dnsmasq給一個(gè)默認(rèn)的ttl,一般不需要設(shè)置, #neg-ttl=<time> #?指定返回給客戶端的ttl時(shí)間,一般不需要設(shè)置 #max-ttl=<time> #?設(shè)置在緩存中的條目的最大?TTL。 #max-cache-ttl=<time> #?不需要設(shè)置,除非你知道你在做什么。 #min-cache-ttl=<time> #?一般不需要設(shè)置 #auth-ttl=<time>############################################################################## #?記錄dns查詢?nèi)罩?#log-queries #?設(shè)置日志記錄器,‘-‘?為?stderr,也可以是文件路徑。默認(rèn)為:DAEMON,調(diào)試時(shí)使用?LOCAL0。 #log-facility=<facility> #log-facility=/var/log/dnsmasq/dnsmasq.log #?異步log,緩解阻塞,提高性能。默認(rèn)為5,最大100。 #log-async[=<lines>] #log-async=50############################################################################## #?指定用戶和組 #user=nobody #group=nobody############################################################################## #?指定DNS的端口,默認(rèn)53,設(shè)置?port=0?將完全禁用?DNS?功能,僅使用?DHCP/TFTP #port=53 #?指定?EDNS.0?UDP?包的最大尺寸,默認(rèn)為?RFC5625?推薦的?edns-packet-max=4096 #edns-packet-max=<size> #?指定向上游查詢的?UDP?端口,默認(rèn)是隨機(jī)端口,指定后降低安全性、加快速度、減少資源消耗。 #?設(shè)置為?0?有操作系統(tǒng)分配。 query-port=53535 #?指定向上游查詢的?UDP?端口范圍,方便防火墻設(shè)置。 #min-port=<port> #max-port=<port> #?指定接口,指定后同時(shí)附加?lo?接口,可以使用‘*‘通配符 #interface=wlp2s0 #?指定排除的接口,排除高優(yōu)先級,可以使用‘*‘通配符 #except-interface= #?啟用?DNS?驗(yàn)證模式 #auth-server=<domain>,<interface>|<ip-address> #?僅接收同一子網(wǎng)的?DNS?請求,僅在未指定?interface、except-interface、listen-address? #?或者?auth-server?時(shí)有效。 #local-service #?指定不提供?DHCP?或?TFTP?服務(wù)的接口,僅提供?DNS?服務(wù) #no-dhcp-interface=enp3s0 #?指定IP地址,可以多次指定。下面兩行跟指定接口的作用類似。 #listen-address=192.168.10.254 #listen-address=127.0.0.1 #?綁定接口,開啟此項(xiàng)將僅監(jiān)聽指定的接口。 #bind-interfaces #?對于新添加的接口也進(jìn)行綁定。 #bind-dynamic############################################################################## #?如果?hosts?中的主機(jī)有多個(gè)?IP?地址,僅返回對應(yīng)子網(wǎng)的?IP?地址。 #localise-queries #?如果反向查找的是私有地址例如192.168.X.X,僅從?hosts?文件查找,不再轉(zhuǎn)發(fā)到上游服務(wù)器 #bogus-priv #?對于任何被解析到此IP的域名,使其解析失效,可以多次指定 #bogus-nxdomain=64.94.110.11 #?忽略指定的?DNS?響應(yīng)服務(wù)器地址,例如?1.1.1.1?為偽造的?dns?服務(wù)器并且響應(yīng)速度非常快, #?指定?ignore-address=1.1.1.1?可以忽略它的響應(yīng)信息,從而等待正確的響應(yīng)結(jié)果。 #ignore-address=<ipaddr> #filterwin2k############################################################################## #?指定?resolv-file?文件路徑,默認(rèn)/etc/resolv.conf #resolv-file=/etc/resolv.conf #?不讀取?resolv-file?來確定上游服務(wù)器 #no-resolv #?在編譯時(shí)需要啟用?DBus?支持。 #enable-dbus[=<service-name>] #?嚴(yán)格按照resolv.conf中的順序進(jìn)行查找 #strict-order #?向所有上有服務(wù)器發(fā)送查詢,而不是一個(gè)。 #all-servers #dns-loop-detect############################################################################## #?這項(xiàng)安全設(shè)置是拒絕解析包含私有?IP?地址的域名, #?這些IP地址包括如下私有地址范圍:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。 #?其初衷是要防止類似上游DNS服務(wù)器故意將某些域名解析成特定私有內(nèi)網(wǎng)IP而劫持用戶這樣的安全攻擊。 #?直接在配置文件中注銷?stop-dns-rebind?配置項(xiàng)從而禁用該功能。 #?這個(gè)方法確實(shí)可以一勞永逸的解決解析內(nèi)網(wǎng)?IP?地址的問題,但是我們也失去了這項(xiàng)安全保護(hù)的特性, #?所以在這里我不推薦這個(gè)辦法。 #?使用?rebind-domain-ok?進(jìn)行特定配置,顧名思義該配置項(xiàng)可以有選擇的忽略域名的?rebind?行為 #stop-dns-rebind #rebind-localhost-ok #rebind-domain-ok=[<domain>]|[[/<domain>/[<domain>/] #rebind-domain-ok=/.dinghuangjie.com/.dhj.com/.harlinsu.com/.example.com/.test.com/.esderive.com/############################################################################## #?也不要檢測?/etc/resolv.conf?的變化 #no-poll #?重啟后清空緩存 #clear-on-reload #?完整的域名才向上游服務(wù)器查找,如果僅僅是主機(jī)名僅查找hosts文件 #domain-needed############################################################################## #?IP地址轉(zhuǎn)換 #alias=[<old-ip>]|[<start-ip>-<end-ip>],<new-ip>[,<mask>] ############################################################################## #local=[/[<domain>]/[domain/]][<ipaddr>[#<port>][@<source-ip>|<interface>[#<port>]] #server=[/[<domain>]/[domain/]][<ipaddr>[#<port>][@<source-ip>|<interface>[#<port>]] #server=/example.com/192.168.10.252 #rev-server=<ip-address>/<prefix-len>,<ipaddr>[#<port>][@<source-ip>|<interface>[#<port>]]#?將任何屬于?<domain>?域名解析成指定的?<ipaddr>?地址。 #?也就是將?<domain>?及其所有子域名解析成指定的?<ipaddr>?IPv4?或者?IPv6?地址, #?通常用于屏蔽特定的域名。 #?一次只能指定一個(gè)?IPv4?或者?IPv6?地址, #?要同時(shí)返回?IPv4?和IPv6?地址,請多次指定?address=?選項(xiàng)。 #?注意:?/etc/hosts?以及?DHCP?租約將覆蓋此項(xiàng)設(shè)置。 #address=/<domain>/[domain/][<ipaddr>]#ipset=/<domain>/[domain/]<ipset>[,<ipset>] #mx-host=<mx?name>[[,<hostname>],<preference>] #mx-target=<hostname>#?SRV?記錄 #srv-host=<_service>.<_prot>.[<domain>],[<target>[,<port>[,<priority>[,<weight>]]]]#?A,?AAAA?和?PTR?記錄? #host-record=<name>[,<name>....],[<IPv4-address>],[<IPv6-address>][,<TTL>]#?TXT?記錄 #txt-record=<name>[[,<text>],<text>]#?PTR?記錄? #ptr-record=<name>[,<target>]#naptr-record=<name>,<order>,<preference>,<flags>,<service>,<regexp>[,<replacement>]#?CNAME?別名記錄 #cname=<cname>,<target>[,<TTL>]#dns-rr=<name>,<RR-number>,[<hex?data>] #interface-name=<name>,<interface>[/4|/6] #synth-domain=<domain>,<address?range>[,<prefix>] #add-mac[=base64|text] #add-cpe-id=<string> #add-subnet[[=[<IPv4?address>/]<IPv4?prefix?length>][,[<IPv6?address>/]<IPv6?prefix?length>]] ############################################################################################################################################################ #?緩存條數(shù),默認(rèn)為150條,cache-size=0?禁用緩存。 cache-size=1000 #?不緩存未知域名緩存,默認(rèn)情況下dnsmasq緩存未知域名并直接返回為客戶端。 #no-negcache #?指定DNS同屬查詢轉(zhuǎn)發(fā)數(shù)量 dns-forward-max=1000#?啟用連接跟蹤,讀取?Linux?入棧?DNS?查詢請求的連接跟蹤標(biāo)記, #?并且將上游返回的響應(yīng)信息設(shè)置同樣的標(biāo)記。 #?用于帶寬控制和防火墻部署。 #?此選項(xiàng)必須在編譯時(shí)啟用?conntrack?支持,并且內(nèi)核正確配置并加載?conntrack。 #?此選項(xiàng)不能與?query-port?同時(shí)使用。 #conntrack############################################################################## # #????????DHCP?選項(xiàng) # ############################################################################## #?設(shè)置?DHCP?地址池,同時(shí)啟用?DHCP?功能。 #?IPv4?<mode>?可指定為?static|proxy?,當(dāng)?<mode>?指定為?static?時(shí), #?需用?dhcp-host?手動分配地址池中的?IP?地址。 #?當(dāng)?<mode>?指定為?proxy?時(shí),為指定的地址池提供?DHCP?代理。 #dhcp-range=[tag:<tag>[,tag:<tag>],][set:<tag>,]<start-addr>[,<end-addr>][,<mode>][,<netmask>[,<broadcast>]][,<lease?time>] #dhcp-range=172.16.0.2,172.16.0.250,255.255.255.0,1h #dhcp-range=192.168.10.150,192.168.10.180,static,255.255.255.0,1h#?根據(jù)?MAC?地址或?id?固定分配客戶端的?IP?地址、主機(jī)名、租期。 #?IPv4?下指定?id:*?將忽略?DHCP?客戶端的?ID?,僅根據(jù)?MAC?來進(jìn)行?IP?地址分配。 #?在讀取?/etc/hosts?的情況,也可以根據(jù)?/etc/hosts?中的主機(jī)名分配對應(yīng)?IP?地址。 #?指定?ignore?將忽略指定客戶端得?DHCP?請求。 #dhcp-host=[<hwaddr>][,id:<client_id>|*][,set:<tag>][,<ipaddr>][,<hostname>][,<lease_time>][,ignore] #dhcp-hostsfile=<path> #dhcp-hostsdir=<path> #?讀取?/etc/ethers?文件?與使用?dhcp-host?的作用相同。IPv6?無效。 #read-ethers#?指定給?DHCP?客戶端的選項(xiàng)信息, #?默認(rèn)情況下?dnsmasq?將發(fā)送:子網(wǎng)掩碼、廣播地址、DNS?服務(wù)器地址、網(wǎng)關(guān)地址、域等信息。 #?指定此選項(xiàng)也可覆蓋這些默認(rèn)值并且設(shè)置其他選項(xiàng)值。 #?重要:可以使用?option:<option-name>或者?option號?來指定。 #?<option-name>?和?option號的對應(yīng)關(guān)系可使用命令: #?dnsmasq?--help?dhcp?以及?dnsmasq?--help?dhcp6?查看,這點(diǎn)很重要。 #?例如設(shè)置網(wǎng)關(guān)參數(shù),既可以使用?dhcp-option=3,192.168.4.4?也可以使用?dhcp-option?=?option:router,192.168.4.4。 #?0.0.0.0?意味著當(dāng)前運(yùn)行?dnsmasq?的主機(jī)地址。 #?如果指定了多個(gè)?tag:<tag>?必須同時(shí)匹配才行。 #?[encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],]?有待繼續(xù)研究。 #dhcp-option=[tag:<tag>,[tag:<tag>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>|option6:<opt>|option6:<opt-name>],[<value>[,<value>]] #dhcp-option-force=[tag:<tag>,[tag:<tag>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]] #dhcp-optsfile=<path> #dhcp-optsdir=<path> #dhcp-option=3,1.2.3.4 #dhcp-option=option:router,1.2.3.4 #dhcp-option=option:router,192.168.10.254 #dhcp-option=option:dns-server,192.168.10.254,221.12.1.227,221.12.33.227############################################################################## #?(IPv4?only)?禁用重用服務(wù)器名稱和文件字段作為額外的?dhcp-option?選項(xiàng)。 #?一般情況下?dnsmasq?從?dhcp-boot?移出啟動服務(wù)器和文件信息到?dhcp-option?選項(xiàng)中。 #?這使得在?dhcp-option?選項(xiàng)封包中有額外的選項(xiàng)空間可用,但是會使老的客戶端混淆。 #?此選項(xiàng)將強(qiáng)制使用簡單并安全的方式來避免此類情況。可以認(rèn)為是一個(gè)兼容性選項(xiàng)。 #dhcp-no-override############################################################################## #?配置?DHCP?中繼。 #?<local?address>?是運(yùn)行?dnsmasq?的接口的?IP?地址。 #?所有在?<local?address>?接口上接收到的?DHCP?請求將中繼到?<server?address>?指定的遠(yuǎn)程?DHCP?服務(wù)器。 #?可以多次配置此選項(xiàng),使用同一個(gè)?<local?address>?轉(zhuǎn)發(fā)到多個(gè)不同的?<server?address>?指定的遠(yuǎn)程?DHCP?服務(wù)器。 #?<server?address>?僅允許使用?IP?地址,不能使用域名等其他格式。 #?如果是?DHCPv6,<server?address>?可以是?ALL_SERVERS?的多播地址?ff05::1:3?。 #?在這種情況下必須指定接口?<interface>?,不能使用通配符,用于直接多播到對應(yīng)的?DHCP?服務(wù)器所在的接口。 #?<interface>?指定了僅允許接收從?<interface>?接口的?DHCP?服務(wù)器相應(yīng)信息。 #dhcp-relay=<local?address>,<server?address>[,<interface>]############################################################################## #?設(shè)置標(biāo)簽 #dhcp-vendorclass=set:<tag>,[enterprise:<IANA-enterprise?number>,]<vendor-class> #dhcp-userclass=set:<tag>,<user-class> #dhcp-mac=set:<tag>,<MAC?address> #dhcp-circuitid=set:<tag>,<circuit-id> #dhcp-remoteid=set:<tag>,<remote-id> #dhcp-subscrid=set:<tag>,<subscriber-id> #dhcp-match=set:<tag>,<option?number>|option:<option?name>|vi-encap:<enterprise>[,<value>] #tag-if=set:<tag>[,set:<tag>[,tag:<tag>[,tag:<tag>]]]#dhcp-proxy[=<ip?addr>]......############################################################################## #?不分配匹配這些?tag:<tag>?的?DHCP?請求。 #dhcp-ignore=tag:<tag>[,tag:<tag>] #dhcp-ignore-names[=tag:<tag>[,tag:<tag>]] #dhcp-generate-names=tag:<tag>[,tag:<tag>] #?IPv4?only?使用廣播與匹配?tag:<tag>?的客戶端通信。一般用于兼容老的?BOOT?客戶端。 #dhcp-broadcast[=tag:<tag>[,tag:<tag>]]?############################################################################## #?IPv4?only?設(shè)置?DHCP?服務(wù)器返回的?BOOTP?選項(xiàng), #?<servername>?<server?address>?可選, #?如果未設(shè)置服務(wù)器名稱將設(shè)為空,服務(wù)器地址設(shè)為?dnsmasq?的?IP?地址。 #?如果指定了多個(gè)?tag:<tag>?必須同時(shí)匹配才行。 #?如果指定?<tftp_servername>?將按照?/etc/hosts?中對應(yīng)的?IP?地址進(jìn)行輪詢負(fù)載均衡。?? #dhcp-boot=[tag:<tag>,]<filename>,[<servername>[,<server?address>|<tftp_servername>]] #?根據(jù)不同的類型使用不同的選項(xiàng)。 #?使用示例: #????????dhcp-match=set:EFI_x86-64,option:client-arch,9 #????????dhcp-boot=tag:EFI_x86-64,uefi/grubx64.efi #????????#dhcp-match=set:EFI_Xscale,option:client-arch,8 #????????#dhcp-boot=tag:EFI_Xscale,uefi/grubx64.efi #????????#dhcp-match=set:EFI_BC,option:client-arch,7 #????????#dhcp-boot=tag:EFI_BC,uefi/grubx64.efi #????????#dhcp-match=set:EFI_IA32,option:client-arch,6 #????????#dhcp-boot=tag:EFI_IA32,uefi/grubx64.efi #????????#dhcp-match=set:Intel_Lean_Client,option:client-arch,5 #????????#dhcp-boot=tag:Intel_Lean_Client,uefi/grubx64.efi #????????#dhcp-match=set:Arc_x86,option:client-arch,4 #????????#dhcp-boot=tag:Arc_x86,uefi/grubx64.efi #????????#dhcp-match=set:DEC_Alpha,option:client-arch,3 #????????#dhcp-boot=tag:DEC_Alpha,uefi/grubx64.efi #????????#dhcp-match=set:EFI_Itanium,option:client-arch,2 #????????#dhcp-boot=tag:EFI_Itanium,uefi/grubx64.efi #????????#dhcp-match=set:NEC/PC98,option:client-arch,1 #????????#dhcp-boot=tag:NEC/PC98,uefi/grubx64.efi #????????dhcp-match=set:Intel_x86PC,option:client-arch,0 #????????dhcp-boot=tag:Intel_x86PC,pxelinux.0############################################################################## #?DHCP?使用客戶端的?MAC?地址的哈希值為客戶端分配?IP?地址, #?通常情況下即使客戶端使自己的租約到期,客戶端的?IP?地址仍將長期保持穩(wěn)定。 #?在默認(rèn)模式下,IP?地址是隨機(jī)分配的。 #?啟用?dhcp-sequential-ip?選項(xiàng)將按順序分配?IP?地址。 #?在順序分配模式下,客戶端使租約到期更像是僅僅移動一下?IP?地址。 #?在通常情況下不建議使用這種方式。 #dhcp-sequential-ip############################################################################## #?多數(shù)情況下我們使用?PXE,只是簡單的允許?PXE?客戶端獲取?IP?地址, #?然后?PXE?客戶端下載?dhcp-boot?選項(xiàng)指定的文件并執(zhí)行,也就是?BOOTP?的方式。 #?然而在有適當(dāng)配置的?DHCP?服務(wù)器支持的情況下,PXE?系統(tǒng)能夠?qū)崿F(xiàn)更復(fù)雜的功能。 #?pxe-service?選項(xiàng)可指定?PXE?環(huán)境的啟動菜單。 #?為不同的類型系統(tǒng)設(shè)定不同的啟動菜單,并且覆蓋?dhcp-boot?選項(xiàng)。 #?<CSA>?為客戶端系統(tǒng)類型:x86PC,?PC98,?IA64_EFI,?Alpha,?Arc_x86,?Intel_Lean_Client,? #?IA32_EFI,?X86-64_EFI,?Xscale_EFI,?BC_EFI,?ARM32_EFI?和?ARM64_EFI,其他類型可能為一個(gè)整數(shù)。 #?<basename>?引導(dǎo)?PXE?客戶端使用?tftp?從?<server?address>?或者?<server_name>?下載文件。 #?????注意:"layer"?后綴?(通常是?".0")?由?PXE?提供,也就是?PXE?客戶端默認(rèn)在文件名附加?.0?后綴。 #?????示例:pxe-service=x86PC,?"Install?Linux",?pxelinux?????????(讀取?pxelinux.0?文件并執(zhí)行) #???????????pxe-service=x86PC,?"Install?Linux",?pxelinux,?1.2.3.4(不適用于老的PXE) #?????<bootservicetype>?整數(shù),PXE?客戶端將通過廣播或者通過?<server?address>? #???????????或者?<server_name>?搜索對應(yīng)類型的適合的啟動服務(wù)。。 #?????示例:pxe-service=x86PC,?"Install?windows?from?RIS?server",?1 #???????????pxe-service=x86PC,?"Install?windows?from?RIS?server",?1,?1.2.3.4 #?????未指定?<basename>、<bootservicetype>?或者?<bootservicetype>?為?“0”,將從本地啟動。 #?????示例:pxe-service=x86PC,?"Boot?from?local?disk" #???????????pxe-service=x86PC,?"Boot?from?local?disk",?0 #?如果指定?<server_name>?將按照?/etc/hosts?中對應(yīng)的?IP?地址進(jìn)行輪詢負(fù)載均衡。?? #pxe-service=[tag:<tag>,]<CSA>,<menu?text>[,<basename>|<bootservicetype>][,<server?address>|<server_name>] #?在?PXE?啟動后彈出提示,<prompt>?為提示內(nèi)容,<timeout>?為超時(shí)時(shí)間,為?0?則立即執(zhí)行。 #?如果未指定此選項(xiàng),在有多個(gè)啟動選項(xiàng)的情況下等待用戶選擇,不會超時(shí)。 #pxe-prompt=[tag:<tag>,]<prompt>[,<timeout>] #?根據(jù)不同的類型使用不同的菜單,使用示例: #????????#pxe-prompt="What?system?shall?I?netboot?",?120 #????????#?or?with?timeout?before?first?available?action?is?taken: #????????pxe-prompt="Press?F8?or?Enter?key?for?menu.",?60 #????????pxe-service=x86PC,?"Now?in?x86PC?(BIOS?mode),?boot?from?local",?0 #????????pxe-service=x86PC,?"Now?in?x86PC?(BIOS?mode)",?pxelinux #????????pxe-service=PC98,?"Now?in?PC98?mode",?PC98 #????????pxe-service=IA64_EFI,?"Now?in?IA64_EFI?mode",?IA64_EFI #????????pxe-service=Alpha,?"Now?in?Alpha?mode",?Alpha #????????pxe-service=Arc_x86,?"Now?in?Arc_x86?mode",?Arc_x86 #????????pxe-service=Intel_Lean_Client,?"Now?in?Intel_Lean_Client?mode",?Intel_Lean_Client #????????pxe-service=IA32_EFI,?"Now?in?IA32_EFI?mode",?IA32_EFI #????????pxe-service=X86-64_EFI,?"Now?in?X86-64_EFI?(UEFI?mode),?boot?from?local",?0 #????????pxe-service=X86-64_EFI,?"Now?in?X86-64_EFI?(UEFI?mode)",?grub/grub-x86_64.efi #????????pxe-service=Xscale_EFI,?"Now?in?Xscale_EFI?mode",?Xscale_EFI #????????pxe-service=BC_EFI,?"Now?in?BC_EFI?mode",?BC_EFI #????????#?CentOS7?系統(tǒng)不支持下列兩個(gè)選項(xiàng) #????????#pxe-service=ARM32_EFI,"Now?in?ARM32_EFI?mode",ARM32_EFI #????????#pxe-service=ARM64_EFI,"Now?in?ARM64_EFI?mode",ARM64_EFI############################################################################## #?默認(rèn)為150,即最多分配150個(gè)ip地址出去,最大1000個(gè)ip #dhcp-lease-max=150 #?(IPv4?only)?指定DHCP端口,默認(rèn)為67和68。如果不指定則為1067和1068,單指定一個(gè),第二個(gè)加1 #dhcp-alternate-port[=<server?port>[,<client?port>]] #?謹(jǐn)慎使用此選項(xiàng),避免?IP?地址浪費(fèi)。(IPv4?only)?允許動態(tài)分配?IP?地址給?BOOTP?客戶端。 #?注意:BOOTP?客戶端獲取的?IP?地址是永久的,將無法再次分配給其他客戶端。 #bootp-dynamic[=<network-id>[,<network-id>]] #?謹(jǐn)慎使用此選項(xiàng)。 #?默認(rèn)情況下?DHCP?服務(wù)器使用?ping?的方式進(jìn)行確保?IP?未被使用的情況下將?IP?地址分配出去。 #?啟用此選項(xiàng)將不使用?ping?進(jìn)行確認(rèn)。 #no-ping############################################################################## #?記錄額外的?dhcp?日志,記錄所有發(fā)送給?DHCP?客戶端的選項(xiàng)(option)以及標(biāo)簽(tag)信息 #log-dhcp #?禁止記錄日常操作日志,錯(cuò)誤日志仍然記錄。啟用?log-dhcp?將覆蓋下列選項(xiàng)。 #quiet-dhcp #quiet-dhcp6 #quiet-ra#?修改?DHCP?默認(rèn)租約文件路徑,默認(rèn)情況下無需修改 #dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases #?(IPv6?only) #dhcp-duid=<enterprise-id>,<uid>############################################################################## #dhcp-script=<path> #dhcp-luascript=<path> #dhcp-scriptuser=root #script-arp #leasefile-ro#bridge-interface=<interface>,<alias>[,<alias>]############################################################################## #?給?DHCP?服務(wù)器指定?domain?域名信息,也可以給對應(yīng)的?IP?地址池指定域名。 #?????直接指定域名 #?????示例:domain=thekelleys.org.uk #?????子網(wǎng)對應(yīng)的域名 #?????示例:domain=wireless.thekelleys.org.uk,192.168.2.0/24 #?????ip范圍對應(yīng)的域名 #?????示例:domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200 #domain=<domain>[,<address?range>[,local]] #?在默認(rèn)情況下?dnsmasq?插入普通的客戶端主機(jī)名到?DNS?中。 #?在這種情況下主機(jī)名必須唯一,即使兩個(gè)客戶端具有不同的域名后綴。 #?如果第二個(gè)客戶端使用了相同的主機(jī)名,DNS?查詢將自動更新為第二個(gè)客戶端的?IP?地址。 #?如果設(shè)置了?dhcp-fqdn?選項(xiàng),普通的主機(jī)名將不再插入到?DNS?中去, #?僅允許合格的具有域名后綴的主機(jī)名插入到?DNS?服務(wù)器中。 #?指定此選項(xiàng)需同時(shí)指定不含?<address?range>?地址范圍的?domain?選項(xiàng)。 #dhcp-fqdn #?通常情況下分配?DHCP?租約后,dnsmasq?設(shè)置?FQDN?選項(xiàng)告訴客戶端不要嘗試?DDNS?更新主機(jī)名與?IP?地址。 #?這是因?yàn)??name-IP?已自動添加到?dnsmasq?的?DNS?視圖中的。 #?設(shè)置此選項(xiàng)將允許客戶端?DDNS?更新, #?在?windows?下允許客戶端更新?windows?AD?服務(wù)器是非常有用的。 #?參看??RFC?4702?。 #dhcp-client-update#enable-ra #ra-param=<interface>,[high|low],[[<ra-interval>],<router?lifetime>]############################################################################## # #????????TFTP?選項(xiàng) # ############################################################################## #?對于絕大多數(shù)的配置,僅需指定?enable-tftp?和?tftp-root?選項(xiàng)即可。 #?是否啟用內(nèi)置的?tftp?服務(wù)器,可以指定多個(gè)逗號分隔的網(wǎng)絡(luò)接口 #enable-tftp[=<interface>[,<interface>]] #enable-tftp #enable-tftp=enp3s0,lo #?指定?tftp?的根目錄,也就是尋找傳輸文件時(shí)使用的相對路徑,可以附加接口, #tftp-root=<directory>[,<interface>] #tftp-root=/var/lib/tftpboot/ #?如果取消注釋,那么即使指定的?tftp-root?無法訪問,仍然啟動?tftp?服務(wù)。 #tftp-no-fail #?附加客戶端的?IP?地址作為文件路徑。此選項(xiàng)僅在正確設(shè)置了?tftp-root?的情況下可用, #?示例:如果?tftp-root=/tftp,客戶端為?192.168.1.15?請求?myfile.txt?文件時(shí), #?將優(yōu)先請求?/tftp/192.168.1.15/myfile.txt?文件,?其次是?/tftp/myfile.txt?文件。 #?感覺沒什么用。 #tftp-unique-root #?啟用安全模式,啟用此選項(xiàng),僅允許?tftp?進(jìn)程訪問屬主為自己的文件。 #?不啟用此選項(xiàng),允許訪問所有?tftp?進(jìn)程屬主可讀取的文件。 #?如果?dnsmasq?是以?root?用戶運(yùn)行,tftp-secure?選項(xiàng)將允許訪問全局可讀的文件。 #?一般情況下不推薦以?root?用戶運(yùn)行?dnsmasq。 #?在指定了?tftp-root?的情況下并不是很重要。 #tftp-secure #?將所有文件請求轉(zhuǎn)換為小寫。對于?Windows?客戶端來說非常有用,建議開啟此項(xiàng)。 #?注意:dnsmasq?的?TFTP?服務(wù)器總是將文件路徑中的“\”轉(zhuǎn)換為“/”。 #tftp-lowercase #?允許最大的連接數(shù),默認(rèn)為?50?。 #?如果將連接數(shù)設(shè)置的很大,需注意每個(gè)進(jìn)程的最大文件描述符限制,詳見文檔手冊。 #tftp-max=<connections> #tftp-max=50 #?設(shè)置傳輸時(shí)的?MTU?值,建議不設(shè)置或按需設(shè)置。 #?如果設(shè)定的值大于網(wǎng)絡(luò)接口的?MTU?值,將按照網(wǎng)絡(luò)接口的?MTU?值自動分片傳輸(不推薦)。 #tftp-mtu=<mtu?size> #?停止?tftp?服務(wù)器與客戶端協(xié)商?"blocksize"?選項(xiàng)。啟用后,防止一些古怪的客戶端出問題。 #tftp-no-blocksize #?指定?tftp?的連接端口的范圍,方便防火墻部署。 #?tftp?偵聽在?69/udp?,連接端口默認(rèn)是由系統(tǒng)自動分配的, #?非?root?用戶運(yùn)行時(shí)指定的連接端口號需大于?1025?最大?65535。 #tftp-port-range=<start>,<end> ############################################################################### #conf-dir=<directory>[,<file-extension>......] #conf-file=/etc/dnsmasq.more.conf conf-dir=/etc/dnsmasq.d #servers-file=<file>?
?
謀膽并重總結(jié)
以上是生活随笔為你收集整理的dnsmasq详解手册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习之老男孩python全栈
- 下一篇: 从零开始学 Web 之 BOM(四)cl