使用dnsmasq提供DHCP服務

使用dnsmasq提供DNS和DHCP服務

在Linux中使用的DNS和DHCP軟件我們一般是採用ISC的BIND和dhcpd. 在多數環境中這兩個軟件的確很棒也挺安全。但是當我們的使用環境是家庭或者辦公室這樣的網絡環境,也許用其他更小型一些的軟件代替他們會更合適。

這裏介紹的是能夠同時提供DNS和DHCP服務的軟件dnsmasq。它能夠緩存外部DNS記錄,同時提供本地DNS解析或者作爲外部DNS的代理。除此之外,dnsmasq所提供的DHCP服務也是和dhcpd十分相近的。如同共動態地址分配,可以通過MAC地址預先指定靜態的IP地址給特定的主機等等。

dnsmasq處理 DNS設置與BIND等其他DNS服務有所不同。所有的配置都在一個文件中完成/etc/dnsmasq.conf.默認情況下dnsmasq.conf中只開啓了最後include項,可以在/etc/dnsmasq.d中自己寫任意名字的配置文件。

當接受到一個DNS請求時,dnsmasq首先會查找 /etc/hosts 這個文件,然後查找 /etc/resolv.conf 中定義的外部DNS。所以說dnsmasq是一個很不錯的外部DNS中繼。

使用dnsmasq提供DHCP服務也是相當簡單的事情。
在/etc/dnsmasq.conf 中對以下選項進行設置並且取消某些註釋:

expand-hosts

domain=example.com

dhcp-range=192.168.0.50,192.168.0.150,12h

dhcp-option=3,192.168.0.1

dhcp-option=6,192.168.0.5

以上配置選項enable 了DHCP服務,並且設置domain爲“example.com”。DHCP服務提供地址範圍爲 192.168.0.50到 192.168.0.150 續訂期爲12個小時。【指定了網關爲192.168.0.1,dns服務器爲192.168.0.5】 最後的一個選項指定了默認網關。當然配置文件中還有其他更多的選項,可以參考配置文件事例或者man幫助。

如果要配置靜態地址,可以對dhcp-host選項作以下設置:

dhcp-host=11:22:33:44:55:66,foo,192.168.0.10

這樣就會對MAC 地址 11:22:33:44:55:66 賦主機名爲 foo (.example.com) IP 地址 192.168.0.10.

dnsmasq另外一個特性是能夠提供tftp服務,讓網絡啓動(PXE)也得以實現。

dnsmasq提供如下特性以保證其取代BIND和dhcpd或其他類似軟件的籌碼。它可以設定默認MX記錄,多種caching和大量DHCP選項。SRV記錄提供LDAP信息,PTR、SPF甚至是zeroconf 記錄。

因此對於小型辦公室或者家庭網絡環境來說,dnsmasq以其強大的功能和十分簡單的使用方法,可以說無出其右者。配置文件也附上了實例,除非你想要架設一個比較大型的網絡,否則使用起來可以說是沒有任何難度的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章