1、ipset 和 dnsmasq 不匹配怎麼辦
Tomato的shibby Mod裡面ipset模塊抄是默認不載入的襲,需要init時候自行載入,你可以查查是不是這個原因。(在不載入的時候ipset命令也是能運行,dnsmasq的ipset參數也是正常工作。)
2、如何把dnsmasq 應用到區域網
DNSmasq是個非常小巧的dns伺服器,可以解決小范圍的dns查詢問題,譬如機房內網。
大致思路是這樣的:
配置dnsmasq為DNS緩存伺服器,同時在/etc/hosts文件中加入本地內網解析,這樣一來,每當內網機器查詢時就會優先查詢hosts文件,這就等於將/etc/hosts共享給全內網機器使用,從而解決內網機器互相識別的問題。相比逐台機器編輯hosts文件或者添加bind DNS記錄,僅編輯一個hosts文件,這簡直太容易了。
實施過程以CentOS 6為例
安裝配置
yum install dnsmasq -y
service dnsmasq start
將其他機器的DNS換成dnsmasq所在的IP即可,玩完了,就這么容易。
接下來你就可以編輯hosts文件了,你懂的,簡單列舉一下格式
127.0.0.1 localhost
192.168.1.10 web01.xxx.com web01
192.168.1.20 web02.xxx.com web02
hosts文件的強大之處還在於能夠劫持解析,譬如mirror.centos.org是CentOS倉庫所在,幾乎是機器正常必訪問一個域名,我將它解析成一個內網地址,搭建一個內網鏡像站,不僅內網機器也可以及時得到安全更新,每月還可以節省很多流量。
其他問題
默認配置文件為/etc/dnsmasq.conf,注釋掉的不是示例就是默認值。
默認直接緩存resolv.conf中的nameserver,通過下面的選項指定其他文件
resolv-file=/etc/resolv.dnsmasq.conf
默認監聽本地所有埠,指定監聽埠的辦法(別忘了本地回環)
listen-address=127.0.0.1,192.168.1.56
我要給dns記錄在另外一個文件,而不是/etc/hosts
addn-hosts=/etc/addion_hosts
設置dns緩存大小
cache-size=150
我擔心dnsmasq的穩定性怎麼辦
解決辦法一:寫腳本或用nagios監視dnsmasq進程,或者定時重啟
解決辦法二:在另一台機器也搭建一個dnsmasq,/etc/hosts文件拷一份過去,客戶端指定2個內網DNS
記得在iptables防火牆開放53埠哦!
3、打開瀏覽器自動跳轉到360wifi
路由器內置了360wifi推廣廣抄告導致。
路由器使用dnsmasq實現廣告過濾
路由器上廣告過濾可以通過dnsmasq配置實現,dnsmasq是路由器的DNS域名緩存與DHCP伺服器二合一,通過DNS域名重定向把廣告的地址重定向即可實現廣告過濾。dnsmasq的配置文件是/etc/dnsmasq.conf.
/etc/dnsmasq.conf,加入下面一條配置:
#add dnsmasq.ads rule list
重啟dnsmasq服務
/etc/init.d/dnsmasq restart
即可關閉此服務。
4、ubuntu訪問網路時,DNS解析的過程是咋樣的,為什麼使用了dnsmasq等工具後,能加速DNS解析呢?
DNS客戶端在用戶輸入一個域名的時候,會檢查其是否符合DNS命名規則:版以點結尾。例如:www.**.com.,但是我權們在瀏覽器輸入的時候是不需要輸入一個點的是因為瀏覽器已經幫我們自動加上去了。當如果不滿足這個條件的時候,客戶端會自動在你輸入的域名後面加入後綴,而這個後綴可以通過計算機——>屬性可以查看並且設置。然後滿足了這個規則之後,客戶端會先檢查本地的緩存也就是caching,而dnsmasq會提供緩存的作用,所以如果你的緩存中存儲了對應的域名和IP地址那麼DNS客戶端相應用戶進行網址查詢的速度會更加快捷也是這個原因。
5、OPENWRT的dnsmasq服務掛了,請問如何才能連接路由器恢復DHCP服務
以下只供參考:
[root@main ~]# cat /etc/dnsmasq.conf
#不讀取任何伺服器 默認 /etc/resolv.conf 可以使用resolv-file自定義
#使用resolv-file時候也不能使用no-resolv參數
#no-resolv
#server=222.85.85.85
#server=222.88.88.88
#server=8.8.8.8
bogus-priv
#不轉發不包含.的查詢 因為這些一般都是內網查詢
domain-needed
#為早期windows系統設置的兼容選項,避免客戶端接收不到公共DNS而彈出新建寬頻連接
filterwin2k
#指定DNS伺服器
resolv-file=/etc/dnsmasq.resolv.conf
#查詢時按文件中的順序選擇dns
strict-order
#添加本地hosts文件
addn-hosts=/etc/dnsmasq.hosts.conf
#不讀取hosts文件 默認/etc/hosts 可以使用addn-hosts自定義
#如果不加no-hosts還是會讀取/etc/hosts
no-hosts
#註:addn-hosts=/etc/dnsmasq.hosts的優先順序大於address=/domain.name/127.0.0.1
#設置緩存條目 如果不緩存使用no-negcache
cache-size=102400
#丟棄並記錄域名伺服器返回的私有IP地址,防止探測內網的機器
#由於目前部分地址還是使用私有的 所以暫時不起用
#stop-dns-rebind
#允許客戶端緩存的時間單位為秒
local-ttl=60
#
neg-ttl=3600
#
max-cache-ttl=600
# 配置日誌
log-facility=ar/log/dnsmasq.log
#記錄DNS查詢
log-queries
# 引入其他配置文件
# Include a another lot of configuration options.
#conf-file=/etc/dnsmasq.more.conf
conf-dir=/etc/dnsmasq.d
[root@main ~]#
6、自定義dnsmasq是什麼意思
安裝完整版的 dnsmasq-full (默認版不帶ipset). 安裝 dnscrypt-proxy dnsmasq.conf 里加 server=/要走代理的域名/要走代理的域名/要走代理的域名/
7、哪些家用路由器支持域名轉發?
域名解析不屬於家用路由器的業務范圍,一般大型企業才需要這種功版能。可以用一台權設備搭建dns伺服器,也可以用虛擬機搭建dns服務。企業路由如思科的路由器等可以支持域名解析,但一般價格是普通家用路由的十倍不止。如果非要用家用路由器實現域名解析,可以採用家用路由器刷第三方系統固件,當然這就需要有一定DIY能力了,沒一定基礎很可是使路由器變磚。這里我推薦用OpenWrt,是一個嵌入式的 Linux 發行版,經很多大神編譯後可以刷入很多路由器,使用系統自帶的dnsmasq功能,在修改 /etc/hosts 實現dns劫持,就可以實現你需要的域名解析
8、dnsmasq伺服器只能在本機解析,客戶機不能解析?
這是你介面的問題,解決方法:
ifconfig 先找出你公網的介面(如eth0)
vi /etc/dnsmasq.conf
找到interface=一行(大概是106行),取消注釋專並將介面名填入屬
然後sudo systemctl restart dnsmasq
或者dnsmasq --interface=eth0也可以
測試的話可以dig @你的公網ip baidu.com