基於DNSMASQ 搭建個人的 DNS伺服器(手機做hosts、host)
使用原因:
公司前端 再做專案時,方便起見,檔案都存於伺服器。
用電腦訪問的時候可以 做hosts(也就是將域名轉換為zhidingip去訪問)
但是 iOS 和 Android 為 越獄破解的情況下,是沒辦法修改hosts檔案的嗎沒有pc 方便,就在想,有沒有辦法可以使手機 通過pc端的host,這樣就能達到效果。
其實原理也就是將 一臺電腦作為dns伺服器, 使你需要做host的手機經過這臺 電腦來解析域名,制定到對應的ip地址。
需要藉助的工具
DNSMASQ
mac下 安裝步驟
1、通過終端 安裝 brew
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
2、通過brew 安裝dnsmasq元件
brew install dnsmasq
3、等待安裝完成後,如果 已存在/usr/local/etc/dnsmasq.conf,就不需要一下操作,直接進入第4步請在/usr/local/檔案下新建一個etc資料夾。現在把/usr/local/opt/dnsmasq/dnsmasq.conf.example檔案拷貝至並重命名為/usr/local/etc/dnsmasq.conf。
4、查找出下列幾行 = 之前的關鍵字,並去掉前邊註釋 #。
(1)resolv-file=/etc/resolv.conf
(2)strict-order
(3)listen-address=192.168.0.127,127.0.0.1
(4)addn-hosts=/etc/hosts //這歌地址指向的是你mac的hosts地址,你只需在裡邊做相應的 host
(5)cache-size=2048
第(3)把ip 192.168.0.127修改為你自己電腦當前的ip地址即可
其餘的可不做修改。
5、確保pc 和 手機連線同一個路由器(區域網),將手機無線網的dns改為 此電腦的 ip地址
這樣,你手機訪問網路的時候就會自動去pc裡的hosts檔案進行查詢
6、開啟 重啟指令
sudo launchctl stop homebrew.mxcl.dnsmasq
sudo launchctl start homebrew.mxcl.dnsmasq
sudo killall -HUP mDNSResponder
做一些 配置 可以支援 泛解析, 網上有相關文章
參考 https://blog.netsh.org/posts/mac-os-x-dnsmasq_1762.netsh.html