無類IP位址段的DNS反解域

2021-09-27 10:20:27 字數 1022 閱讀 3852

首先,通過dig +trace -x 跟蹤反解過程可以得知,dns反解的查詢過程跟正解其實是一樣的,依然是從根向下查詢。也就是說,存在in-addr.arpa.這個域,公網可用的所有a、b、c三類ip位址從1.x.x.x到223.x.x.x都要在這裡有記錄才可能被反解出來。當然,這裡只管ip位址的第乙個位元組由那乙個域來解析。同樣地,192.in-addr.arpa.這個域的ns就負責192.x.x.x這一網段的反解。如此類推,跟正解沒什麼差別。只不過正解網域名稱通常是字母,反解ip是數字而已。

但是,這種把正解的方法應用到反解上有乙個問題,就是ip位址不能像網域名稱一樣向下擴充套件,只有那麼固定的4級,也就是說,按這個規則配置反解dns域的話,這個域至少應該是乙個c類ip段的擁有者,但是ip位址已經不可能這麼大段在段的分配了,而是採用變長掩碼的方式,如:192.0.2.0/25、192.0.2.128/26、192.0.2.192/26這樣分配。當然,這三段ip的反解交由192.0.2.0/24這乙個大段的擁有者來反解應該是可行的……,但是……192.0.2.0/24這一大段已經完全分配出去了啊,難道要由192.0.這乙個域來解析其下所有具體的ip嗎?可是可以,這麼多ip,只要其中乙個網域名稱變化,都得去處理,很麻煩。那麼由192.0.2.0/25這個組織來解析呢?其他兩段的又不幹了,大家級別差不多,憑什麼受你限制。rfc2317描述了這個問題,也解決了這個問題。方法其實很簡單。

在192.0.這個domain的192.0.2這個zone裡面,按照ip劃分方法,定義0/25、128/26、192/26這幾個ns,然後這幾個ip段內的ip就用cname指向乙個帶掩碼長度的ip名稱上。如:1 cname 1.0/25.2.0.192.in-addr.arpa.這樣。然後在192.0.2.0/25這乙個段的ns上,定義乙個0/25.2.0.192.in-addr.arpa.這樣的zone,然後裡面就是具體的ptr了。反正是把ip位址當網域名稱來對待,反解區域名稱多個反斜槓也沒什麼大不了的。這樣子做,雖然還是得由上一級也就是192.0這一級來設定別名,但是可以根據ip位址的分配方案一次性配置好資料,不需要過問具體的ip與網域名稱的對應,具體的反解對應關係還是由各自ip位址的所有者來做,這樣就和諧了。

C 輸出IP位址段內的合法位址

近半年的intel實習生活快要結束了.馬上要找工作了,這段時間打算把以前的知識複習複習,順便在這裡記錄一下.這是當時去intel面試的時候,面試官問的一道題.當時因為時間關係,只讓我提供乙個思路,並沒有寫出具體實現過程.下面把實現過程寫上.主要是把ip位址轉換成整數,這樣比擷取ip位址每一段內的值出...

查詢指定IP段間未使用的ip位址

監測192.168.0.2 192.168.0.254之間的可用ip for l a in 2,1,224 do ping n 1 l 1 192.168.0.a find reply from nul 2 nul echo 192.168.0.a for是迴圈命令。l 表示遞增。a 就是變數。in...

IP位址分類以及C類IP位址的子網劃分

a類位址的範圍其實是從1 126之間。如 10.0.0.1,第一段號碼為網路號碼,剩下的三段號碼為本地計算機的號碼。轉換為2進製來說,乙個a類ip位址由1位元組的網路位址和3位元組主機位址組成,網路位址的最高位必須是 0 位址範圍從0.0.0.1 到126.0.0.0。可用的a類網路有126個,每個...