Dnsmasq 無法返回局域網(wǎng)IP

關(guān)鍵字:dnsmasq dns 局域網(wǎng)IP private ip ERR_NAME_NOT_RESOLVED rebind_protection
約定:后續(xù)我用 example.com這個域名作為演示稚补,大家自行替換為自己的域名

背景

今天內(nèi)網(wǎng)服務(wù)無法通過域名訪問,但是通過nslookup發(fā)現(xiàn)如果指定服務(wù)器dnspod則正常屋彪,只要dns服務(wù)器是openwrt的dnsmasq則會提示找不到記錄活逆,但實際上dnsmasq的上游就是dnspod(119.29.29.29)!

最主要的是昨天明明還好好的剪决,今天怎么不行了這個是題外話后面再說灵汪,一如既往,先看解決方案柑潦。

解決方案

在Openwrt中找到 設(shè)置 -> 網(wǎng)絡(luò) -> DHCP/DNS -> 常規(guī)設(shè)置

找到【重綁定保護】和下面的【域名白名單】

這里有提供3種解決方案:

  1. 最直接的直接關(guān)閉【重綁定保護】享言,這樣Dnsmasq就不會過濾局域網(wǎng)IP了
  2. 使用【域名白名單】,比如你只想你自己的域名可以返回局域網(wǎng)IP渗鬼,非白名單里的域名如果返回了局域網(wǎng)IP還是會被過濾掉
  3. 使用內(nèi)置的Dnsmasq管理局域網(wǎng)IP的域名览露,方法是使用【主機名映射】或者【CNAME】,這里你也可以綁定域名和IP譬胎,相當(dāng)于一個簡易的DNS控制臺差牛,缺點是其他電腦手機的DNS服務(wù)器必須要指定為openwrt的IP命锄,不過一般這個操作是Openwrt的在DHCP中自動完成的。
openwrt配置方法

如果你不是使用的openwrt而是直接在Linux下使用的Dnsmasq的話你可以在Dnsmasq的配置文件直接配置偏化,

  1. 方案1對應(yīng)選項為 stop-dns-debind
  2. 方案2對應(yīng)的選項為 rebind-domain-ok=/qb.example.com/其他域名白名單1/其他域名白名單2/脐恩,多個域名時使用 / 分隔
  3. 方案3對應(yīng)的配置為 address=/你的域名/你的IP
    a. 單個域名配置時直接寫全,如: qb.example.com=192.168.1.1 寫為 address=/qb.example.com/192.168.1.1
    b. 泛域名配置時去除保留開頭的.侦讨,如: *.example.com=192.168.1.1 寫為 address=/.example.com/192.168.1.1
    c. CNAME的話可以用 cname=bt.example.com,qb.example.com驶冒,這表示bt.example.comqb.example.com的別名,訪問bt.example.com就相當(dāng)于訪問qb.example.com韵卤。注意這里address配置不同骗污,沒有使用/做分隔而是用了英文的逗號做分隔

經(jīng)過(可以不看)

我在自己的Homelab上搭建了幾個內(nèi)網(wǎng)服務(wù),比如qBittorrentqb.example.com)沈条,并且配置好了DNS需忿,使用Chrome訪問時一直報 ERR_NAME_NOT_RESOLVED 這個錯誤,很明顯時一個DNS問題蜡歹,通過 nslookup 開始了排查

> nslookup qb.example.com
服務(wù)器:  openwrt.lan
Address:  192.168.2.1

*** 沒有 qb.example.com 可以使用的 internal type for both IPv4 and IPv6 Addresses (A+AAAA)記錄
> nslookup baidu.com
服務(wù)器:  openwrt.lan
Address:  192.168.2.1

非權(quán)威應(yīng)答:
名稱:    baidu.com
Addresses:  110.242.68.66
          39.156.66.10
> nslookup qb.example.com 119.29.29.29
服務(wù)器:  pdns.dnspod.cn
Address:  119.29.29.29

非權(quán)威應(yīng)答:
名稱:    qb.example.com
Address:  192.168.1.250

從上面可以看到我在DNS控制臺上的配置是生效了的屋厘,通過公共DNS服務(wù)商 DNSPOD 可以正常解析該域名,那為什么通過dnsmasq就不行呢季稳,我開始懷疑是不是Dnsmasq把局域網(wǎng)IP給過濾了擅这,首先 baidu 能返回結(jié)果說明dnsmasq工作正常,而我自己的qb.example.com又是一個局域網(wǎng)IP景鼠,通過在網(wǎng)上一通搜索發(fā)現(xiàn)還真是仲翎,上面已經(jīng)給出解決辦法了,這里我就不贅述了铛漓,那在背景那部分說的昨晚還正常是怎么一回事兒呢溯香,我們接著往下看。

我的網(wǎng)絡(luò)架構(gòu)以及DNS配置如下圖所示

網(wǎng)絡(luò)架構(gòu)

問題的原因就是遠端DNS的CNAME配置問題浓恶,在 openwrt 中通過DHCP 或 靜態(tài)地址分配 下發(fā)的IP默認(rèn)都會創(chuàng)建一條DNS映射記錄玫坛,比如我的手機(名字是s23) 的IP是 192.168.2.88,那么我們可以直接通過 s23代替 192.168.2.88

> nslookup s23
服務(wù)器:  openwrt.lan
Address:  192.168.2.1

名稱:    s23.lan
Address:  192.168.2.88

由于我的Homelab在網(wǎng)絡(luò)中是和Openwrt同級的包晰,所有Homelab的IP并不是受Openwrt的管理湿镀,自然也就不會自動創(chuàng)建DNS映射記錄,所有為了方便我在Openwrt中創(chuàng)建了一個 pve=192.168.1.250 的DNS記錄伐憾。

最開始的配置可行就是因為我當(dāng)時在遠端的DNS配置的CNAME記錄是qb.example.com=pve勉痴,當(dāng)時我沒有意識到cname是需要寫全名的,所以當(dāng)請求 qb.example.com 時返回的 CNAME記錄是 pve 然后再查 pve 時命中了我在 Openwrt 中創(chuàng)建的 pve=192.168.1.250 所以正常工作起來了树肃。

那我又是怎么發(fā)現(xiàn)我在DNS配置有問題的呢蒸矛?

由于配置的pve=192.168.1.250這條記錄是在Openwrt上的,所以當(dāng)我在 PVE 上想通過 curl 訪問 qb.example.com 時發(fā)現(xiàn)DNS解析不出來,我才意識到我在遠端的DNS上配置的CNAME記錄配錯了雏掠,所以我直接修改完在 PVE上發(fā)現(xiàn)解析正常斩祭、訪問正常就下線睡覺了,直到今早發(fā)現(xiàn)PC上發(fā)現(xiàn) qb.example.com 報錯了才有了這篇文章乡话。摧玫。。

結(jié)束語

距離寫最后一篇未鎖定的文章一晃居然將近6年過去了蚊伞,今天乘著周末正好遇到了這個問題國內(nèi)也沒搜到太多文章就順手寫了一篇席赂,希望對大家有幫助吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市时迫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谓晌,老刑警劉巖掠拳,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纸肉,居然都是意外死亡溺欧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門柏肪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姐刁,“玉大人,你說我怎么就攤上這事烦味∧羰梗” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵谬俄,是天一觀的道長柏靶。 經(jīng)常有香客問我,道長溃论,這世上最難降的妖魔是什么屎蜓? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮钥勋,結(jié)果婚禮上炬转,老公的妹妹穿的比我還像新娘。我一直安慰自己算灸,他們只是感情好扼劈,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著乎婿,像睡著了一般测僵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天捍靠,我揣著相機與錄音沐旨,去河邊找鬼。 笑死榨婆,一個胖子當(dāng)著我的面吹牛磁携,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播良风,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼谊迄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了烟央?” 一聲冷哼從身側(cè)響起统诺,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎疑俭,沒想到半個月后粮呢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡钞艇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年啄寡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哩照。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡挺物,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出飘弧,到底是詐尸還是另有隱情识藤,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布眯牧,位于F島的核電站蹋岩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏学少。R本人自食惡果不足惜剪个,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望版确。 院中可真熱鬧扣囊,春花似錦、人聲如沸绒疗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吓蘑。三九已至惕虑,卻和暖如春坟冲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背溃蔫。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工健提, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伟叛。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓私痹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親统刮。 傳聞我的和親對象是個殘疾皇子紊遵,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容