1. 程式人生 > >使用dnsmasq搭建wifi熱點DHCP伺服器的最簡方法

使用dnsmasq搭建wifi熱點DHCP伺服器的最簡方法

本文參考了這篇文章,不過我針對自己的需求做了定製和簡化

1、安裝dnsmasq

2、執行命令

sudo dnsmasq -i wlan2 --dhcp-range=192.168.8.100,192.168.8.109,2h   #--dhcp-range選項除了指定ip分配範圍,更是一個開啟dhcp功能的開關!2h表示ip租期為2小時

執行後顯示(必須加上-d選項才能看到)

dnsmasq: started, version 2.59 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt DBus i18n DHCP TFTP conntrack IDN
dnsmasq-dhcp: DHCP, IP range 192.168.8.100 -- 192.168.8.109, lease time 2h
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 192.168.0.1#53
dnsmasq: 讀取/etc/hosts - 7地址

手機接入熱點後,dnsmasq收到dhcp請求,並給出dhcp應答
dnsmasq-dhcp: DHCPREQUEST(wlan2) 192.168.0.100 ac:f7:f3:ed:a6:77 
dnsmasq-dhcp: DHCPNAK(wlan2) 192.168.0.100 ac:f7:f3:ed:a6:77 wrong network
dnsmasq-dhcp: DHCPDISCOVER(wlan2) ac:f7:f3:ed:a6:77 
dnsmasq-dhcp: DHCPOFFER(wlan2) 192.168.8.103 ac:f7:f3:ed:a6:77 
dnsmasq-dhcp: DHCPREQUEST(wlan2) 192.168.8.103 ac:f7:f3:ed:a6:77 
dnsmasq-dhcp: DHCPACK(wlan2) 192.168.8.103 ac:f7:f3:ed:a6:77 MI2SC-rubic

前兩條列印——我猜——是因為手機一開始傳送dhcp請求時,之前在別的wifi環境下獲得的ip配置還沒有清空,所以NAK

注意

1、啟動dnsmasq前務必確保你的wifi卡已經處於AP模式配置好靜態IP,否則手機會收不到熱點下發的ip

2、如果還有問題,啟動dnsmasq時加上-d選項,就會進入前臺模式,把所有錯誤告警都列印到控制檯,方便排查

3、dnsmasq的--dhcp-optsfile選項沒什麼用,它裡面的dhcp-range含義跟/etc/dnsmasq.conf裡的一樣,但優先順序卻比後者低(被覆蓋)。所以想將配置檔案寫在工程src目錄下的朋友有福了,就用我的方法,避免改寫/etc目錄