問題1
發(fā)生時間:2023-12-14
環(huán)境信息:Ubuntu23(vagrant init lunnar/64)
錯誤表現(xiàn):
未保留截圖评也,后期有機會補充
錯誤影響:
dnsmasq不能識別自定義hosts文件中的域名渡贾。
配置信息:
錯誤原因:
此處不能使用軟連接文件,使用軟鏈接文件,讀寫權限都是777,報權限錯誤。
分析流程:
使用systemctl status dnsmasq 查看結果,顯示/etc/dnsmasq.hosts文件 權限錯誤终息;嘗試使用普通文件后成功。
解決方案:
使用普通文件贞让,不使用軟連接文件周崭。
解決時間:
2023-12-19
2 問題2
發(fā)生時間:2023-12-14
環(huán)境信息:Ubuntu23(vagrant init lunnar/64)
錯誤影響:
dnsmasq不能識別外網域名,ping www.baidu.com 報錯喳张。
錯誤原因:
啟動命令中使用了-r /run/dnsmasq/resolv.conf這個參數(shù)续镇,并不是默認的 /etc/dnsmasq/resolv.conf,該文件實際不存在销部。
分析流程:
使用systemctl status dnsmasq 查看摸航,查看啟動命令,發(fā)現(xiàn)dnsmasq 啟動命令指定了一個不存在的resolv.conf文件柴墩,在指定目錄下創(chuàng)建文件后忙厌,重啟dnsmasq凫岖,可以ping 通外網江咳。
解決方案:在/run/denmasq目錄下創(chuàng)建resolv.conf文件,重啟dnsmasq(臨時解決方案哥放,/run目錄下的文件歼指,系統(tǒng)重啟后會丟失)
解決時間:2023-12-19
3 問題3
發(fā)生時間:2023-12-14
環(huán)境信息:Ubuntu23(vagrant init lunnar/64)
錯誤影響:
系統(tǒng)重啟后dnsmasq不能識別外網域名,ping www.baidu.com 報錯甥雕。
錯誤原因:
啟動命令中使用了-r /run/dnsmasq/resolv.conf這個參數(shù)踩身,這個文件無法找到,系統(tǒng)重啟后會丟失社露;正常的啟動腳本不應該使用這個路徑的文件挟阻。
分析流程:
- 找到dnsmasq.service的配置文件
sudo systemctl disable dnsmasq
sudo systemctl disable dnsmasq
發(fā)現(xiàn)文件在/lib/systemd/system/dnsmasq.service下
- 查看啟動命令
sudo cat /lib/systemd/system/dnsmasq.service
- 繼續(xù)查看
sudo cat /etc/init.d/dnsmasq
- 至此發(fā)現(xiàn)腳本中會有如圖所示判斷,此處的默認值不和情理,按理至少應該是resolvconf程序提供的resolv.conf文件附鸽,所以脱拼,不會是/run/dnsmasq/resolv.conf,至此我暫時認為是dnsmasq的bug坷备。
此時 熄浓,直接修改 /etc/default/dnsmasq配置文件,增加 RESOLV_CONF 環(huán)境變量進行驗證
解決方案:
修改 /etc/default/dnsmasq配置文件省撑,增加 RESOLV_CONF 環(huán)境變量赌蔑,填寫實際的上游resolv配置文件