Bind進(jìn)階

還是出于項(xiàng)目的需要,把Bind比較高級(jí)的功能做一個(gè)梳理孕锄,這其中包含:DNS遞歸迭代查詢吮廉、DNS子域授權(quán)、DNS轉(zhuǎn)發(fā)畸肆、DNS主從區(qū)域傳輸宦芦、DNS數(shù)據(jù)加密,每一個(gè)內(nèi)容不僅記錄了它的實(shí)現(xiàn)原理轴脐,也相應(yīng)的配上了我一行一行代碼的實(shí)踐測試及結(jié)果调卑。

所有的測試都是基于我原來的文章:Bind服務(wù)搭建及測試上的代碼來進(jìn)行的,所以下面的代碼如果有不理解的大咱,請去看看我之前寫的文章恬涧。

DNS遞歸迭代查詢

為什么要把DNS的查詢稱之為遞歸迭代查詢:

遞歸是因?yàn)椋?/p>

用戶端向我的服務(wù)端發(fā)起一次查詢請求,那么服務(wù)端如果有結(jié)果就返回碴巾,如果沒有結(jié)果就像上一級(jí)服務(wù)器再發(fā)一次請求溯捆,直到找到用戶需要的IP或者域名,這個(gè)過程可以稱之為遞歸餐抢。

迭代是因?yàn)椋?/p>

當(dāng)服務(wù)端向上一級(jí)服務(wù)器法請求的時(shí)候现使,它并不是一次請求就結(jié)束了低匙,先是根域,再是二級(jí)域名這樣了碳锈,有多次的請求跟返回動(dòng)作顽冶,這個(gè)過程可以稱之為迭代。

我在Bind搭建及測試這篇博文里面售碳,對它們的流程做了更詳細(xì)的敘述强重,這里就不多寫了。

參數(shù)

Bind既然有一個(gè)復(fù)雜的查詢流程贸人,那么與之相對應(yīng)的就會(huì)有一系列的配置項(xiàng)來控制這個(gè)流程间景。下面講的參數(shù)都是基于Bind的主配置文件named.conf。

  • recursion : {yes|no} 是否允許遞歸請求

  • allow-recursion : {address_match_list|any|none} 允許遞歸請求的范圍

  • recursion-clients : {number(填數(shù)字)} 客戶端執(zhí)行遞歸請求的數(shù)量

測試

named.conf配置文件的內(nèi)容如下所示:

options {
    directory "/var/named";
    recursion yes;
};

zone "." {
    type hint;
    file "named.ca";
};

zone "liumapp.com" {
    type master;
    file "liumapp.com.zone";
};

zone "cnametest.com" {
    type master;
    file "cnametest.com.zone";
};

zone "32.29.115.in-addr.arpa" {
    type master;
    file "115.29.32.zone";
};

可以看到艺智,我默認(rèn)是把遞歸查詢開啟的

開啟遞歸的情況

隨便查詢一個(gè)域名倘要,比如“www.qqq.com

可以發(fā)現(xiàn),Bind為了找到www.qqq.com對應(yīng)的IP地址十拣,往上層域名服務(wù)器迭代了7次才找到最終結(jié)果封拧。

關(guān)閉遞歸的情況

現(xiàn)在我們將配置文件的recursion改為no,重啟Bind之后再查詢一個(gè)新的域名夭问,比如"www.qqqq.com"(www.qqq.com已經(jīng)做了緩存)

可以看到泽西,關(guān)閉遞歸后我們是查不到新域名的解析記錄的。

DNS子域授權(quán)

在DNS迭代查詢的情況下缰趋,經(jīng)常會(huì)用到NS記錄捧杉,同樣的,在DNS子域授權(quán)下面秘血,NS記錄也會(huì)經(jīng)常被用到味抖。

子域授權(quán):

比如我的一臺(tái)服務(wù)器A負(fù)責(zé)liumapp.com的權(quán)威域名解析,它再授權(quán)服務(wù)器B對liumapp.com的子域名:child.liumapp.com進(jìn)行解析直撤,這就叫做子域授權(quán)非竿。

DNS迭代查詢利用的就是子域授權(quán):通過根域,到二級(jí)域再依次往下迭代查詢谋竖。

測試

我的父服務(wù)器IP為115.29.32.62红柱,其解析的域名為www.liumapp.com,子服務(wù)器IP為106.14.212.41蓖乘,其解析的域名為www.test.liumapp.com

首先在父服務(wù)器上锤悄,我們要對子服務(wù)器進(jìn)行授權(quán),具體配置liumapp.com.zone文件嘉抒,添加如下內(nèi)容:

test.liumapp.com. IN NS ns1.test
ns1.test IN A 106.14.212.41

大意就是給liumapp.com的子域名test.liumapp.com分配權(quán)限給ns1.test零聚,然后指定ns1.test的IP為106.14.212.41

重啟父服務(wù)器,然后進(jìn)入子服務(wù)器的shell命令面板

首先我們對named.conf做一個(gè)備份,然后把它的內(nèi)容修改為:

options {
  directory "/var/named";
};

zone "test.liumapp.com" {
    type master;
    file "test.liumapp.com.zone";
};

然后在/var/named/目錄下添加一個(gè)test.liumapp.com.zone文件隶症,其內(nèi)容為:

$TTL 7200
@ IN SOA test.liumapp.com. liumapp.com.gmail.com. (222 1H 15M 1W 1D)
@ IN NS dns1.liumapp.com.
dns1.liumapp.com. IN A 106.14.212.41
www.test.liumapp.com. IN A 106.14.212.42

接下來重啟Bind政模。
然后我們進(jìn)行測試,首先對父服務(wù)器進(jìn)行解析:

dig @115.29.32.62 www.test.liumapp.com

結(jié)果為:

然后我們對子服務(wù)器進(jìn)行解析:

dig @106.14.212.41 www.test.liumapp.com

結(jié)果為:

DNS轉(zhuǎn)發(fā)

概念

假設(shè)有一個(gè)局域網(wǎng)蚂会,內(nèi)部有兩臺(tái)DNS服務(wù)器淋样,命名為A和B,局域網(wǎng)通過防火墻對外開放胁住,但是只有A能夠直接對外提供DNS解析服務(wù)趁猴,B只能在局域網(wǎng)內(nèi)的內(nèi)網(wǎng)進(jìn)行訪問,那當(dāng)需要用到B的DNS解析的時(shí)候彪见,就是通過A的forwarding轉(zhuǎn)發(fā)來實(shí)現(xiàn)儡司。

配置

首先看一下關(guān)于轉(zhuǎn)發(fā)的配置項(xiàng)

  • forwarders : {address_list} 表示轉(zhuǎn)發(fā)的服務(wù)器列表
  • forwarder only : 表示只由目的服務(wù)器權(quán)威解析
  • forwarder first : 優(yōu)先轉(zhuǎn)發(fā)查詢

測試

同樣是父服務(wù)器115.29.32.62和子服務(wù)器106.14.212.41,我們現(xiàn)在把父服務(wù)器用來負(fù)責(zé)DNS的某一個(gè)域作為轉(zhuǎn)發(fā)余指,子服務(wù)器用來負(fù)責(zé)某一個(gè)域的權(quán)威解析捕犬。

現(xiàn)在我們先配置子服務(wù)器的權(quán)威解析:

首先進(jìn)入/var/named目錄,新建一個(gè)文件dnstest.com.zone(這個(gè)域名我并沒有擁有它酵镜,只是為了測試方便隨便寫的)或听,其內(nèi)容為:

$TTL 7200 
@ IN SOA dnstest.com. liumapp.com.gmail.com. (222 1H 15M 1W 1D)
@ IN NS dns.dnstest.com.
dns.dnstest.com. IN A 106.14.212.41
www.dnstest.com. IN A 6.6.6.6

然后修改named.conf,添加下列內(nèi)容:

zone "dnstest.com" {
    type master;
    file "dnstest.com.zone";
};

同時(shí)刪除原來的

zone "test.liumapp.com" {
    type master;
    file "test.liumapp.com.zone";
};

重啟Bind笋婿。

然后進(jìn)入父服務(wù)器的shell操作面板,在開始之前顿颅,我們要注意一點(diǎn)缸濒,就是Bind的DNS轉(zhuǎn)發(fā)只有在Bind9版本以上才支持,所以在開始之前粱腻,我們先使用命令查看一下Bind的版本:

nslookup -q=txt -class=CHAOS version.bind

我的服務(wù)器上出來的結(jié)果是:

[root@iZ28vhwdq63Z ~]# nslookup -q=txt -class=CHAOS version.bind.

Server:  10.202.72.116

Address:  10.202.72.116#53

version.bind  text = "9.9.9-P3-RedHat-9.9.9-2.1.alios6"

然后修改named.conf庇配,添加以下內(nèi)容:

zone "dnstest.com" {
  type forward;
  forwarders {106.14.212.41;};
}

接下來我們在父服務(wù)器上使用dig命令:

dig @127.0.0.1 www.dnstest.com

請求解析www.dnstest.com域名,結(jié)果如下:

同時(shí)要注意绍些,forward的正常使用需要遞歸查詢r(jià)ecursion開啟捞慌。

DNS主從區(qū)域傳輸

區(qū)域是DNS服務(wù)器的管轄范圍, 是由DNS名稱空間中的單個(gè)區(qū)域或由具有上下隸屬關(guān)系的緊密相鄰的多個(gè)子域組成的一個(gè)管理單位。 因此, DNS名稱服務(wù)器是通過區(qū)域來管理名稱空間的,而并非以域?yàn)閱挝粊砉芾砻Q空間,但區(qū)域的名稱與其管理的DNS名稱空間的域的名稱是一一對應(yīng)的柬批⌒ピ瑁或者說,一個(gè)區(qū)域?qū)?yīng)一系列域名的解析氮帐。

DNS主從同步

假設(shè)我們有兩臺(tái)服務(wù)器嗅虏,分別為dns主服務(wù)器Master和dns從服務(wù)器slave,那么他們之間的dns主從同步步驟是這樣的:

  • master發(fā)送notify信息給slave
  • slave去查詢主服務(wù)器的SOA記錄
  • master將SOA記錄發(fā)送給slave
  • slave根據(jù)SOA記錄去檢查serial number是否有遞增更新
  • 如果有的話slave向master發(fā)起zone transfer請求上沐,然后master返回響應(yīng)結(jié)果皮服,slave更新記錄。如果沒有的話就說明不需要更新。

DNS主從配置

在開始配置之前龄广,先要注意幾個(gè)事項(xiàng):

  • 確保防火墻的規(guī)則不會(huì)攔截Bind的監(jiān)聽端口硫眯,默認(rèn)為53
  • 確保named用戶擁有操作相關(guān)目錄的權(quán)限(/var/named)
  • 確保主從服務(wù)器的時(shí)鐘一致
  • 搭建完畢后,若修改主服務(wù)器域的配置择同,serial number必須遞增
服務(wù)器配置

Master服務(wù)器

zone "liumapp.com" {
  type master;
  notify yes;
  also-notify{106.14.212.41;};
  file "liumapp.com.zone";
}

上面的notify yes表示開啟notify這個(gè)功能两入,also-notify{}里面放的是slave服務(wù)器的IP列表。

Slave服務(wù)器

options{

 directory  "/var/named";

 allow-query  { any; };

 recursion  yes;

};
zone "liumapp.com" {

 type  slave;

 file  "slaves/liumapp.com.zone";

 masters {115.29.32.62;};

};

上面的file表示從主服務(wù)器同步過來的信息存放地址奠衔,我這里就表示存放在/var/named/slaves/liumapp.com.zone

我把IP為115.29.32.62的dns server作為我的master谆刨,IP為106.14.212.41的dns server作為我的slave。

首先我們按照上面兩段代碼進(jìn)行主從服務(wù)器的配置归斤。

然后重啟兩臺(tái)服務(wù)器的Bind痊夭,重啟之后,應(yīng)該就能夠在從服務(wù)器的/var/named/slaves/下找到一個(gè)liumapp.com.zone文件脏里,它的內(nèi)容應(yīng)該跟主服務(wù)器的/var/named/liumapp.com.zone一致她我。

所以,這個(gè)時(shí)候我們不管使用命令

dig @115.29.32.62 www.liumapp.com

向主服務(wù)器請求www.liumapp.com的解析還是

dig @106.14.212.41 www.liumapp.com

向從服務(wù)器請求www.liumapp.com的解析迫横,得到的結(jié)果最終都是一樣的番舆。

測試

現(xiàn)在我們按照上面的配置走完了一遍之后,來測試一下主從服務(wù)器之間的同步矾踱。

在Master服務(wù)器的/var/named/liumapp.com.zone文件上恨狈,我們添加一條解析記錄:

liumei.liumapp.com. IN A 8.8.5.6

然后添加一下它的serial number值,也就是:

liumapp.com.  IN  SOA  liumapp.com.  liumapp.com.gmail.com8 (225  1H  15M  1W 1D)

這條記錄里面的倒數(shù)第5個(gè)數(shù)“225”呛讲,我們把它改為226即可禾怠。

重啟服務(wù)器之后,敲命令:

dig @106.14.212.41 liumei.liumapp.com

即可成功在子服務(wù)器上解析到liumei.liumapp.com的記錄為8.8.5.6

DNS區(qū)域傳輸限制

首先贝搁,我們在本地一臺(tái)電腦上使用一個(gè)命令:

dig @115.29.32.62 axfr liumapp.com

不出意外吗氏,應(yīng)該能夠得到liumapp.com在115.29.32.62這臺(tái)DNS server上的所有解析記錄

但是從安全角度來講,我肯定不希望這樣的事情發(fā)生雷逆,所以就要用到傳輸限制弦讽。

方法
  • 基于主機(jī)的訪問控制

    通過主機(jī)IP來限制訪問。

    • allow-transfer : {address_list | none} , 允許域傳輸?shù)臋C(jī)器列表
  • 事務(wù)簽名

    通過密鑰對數(shù)據(jù)進(jìn)行加密膀哲。
    事務(wù)簽名的測試我會(huì)放在后面的DNS數(shù)據(jù)加密里面來做往产。

測試

我們在主服務(wù)器上的named.conf配置文件中進(jìn)行修改:

zone "liumapp.com" {

 type  master;

 notify  yes;

 also-notify {106.14.212.41;};

 allow-transfer{106.14.212.41;};

 file "liumapp.com.zone";

};

重啟Bind之后,回到本地電腦上等太,繼續(xù)使用命令:

dig @115.29.32.62 axfr liumapp.com

結(jié)果如下捂齐,請求已被拒絕。

但是通過106.14.212.41是可以獲取數(shù)據(jù)的:

dig @106.14.212.41 axfr liumapp.com

結(jié)果如下:

DNS數(shù)據(jù)加密

加密方式

  • DES 對稱加密

    • 概述:文件加密和解密使用相同的密鑰缩抡,簡單快捷奠宜。
    • 流程:假定有發(fā)送方A和接收方B包颁,A和B有相同的密鑰,A發(fā)送明文給B之前压真,通過密鑰和加密算法娩嚼,將明文加密成密文,發(fā)送給B滴肿,B再通過密鑰和解密算法岳悟,將密文解密成明文。
  • IDEA 非對稱加密

    • 概述:密鑰包括公鑰和私鑰泼差,安全性較DES方式高贵少。
    • 流程:假定有發(fā)送方A和接收方B,B有自己的私鑰和公鑰堆缘,A需要獲取B的公鑰滔灶,獲取之后,A首先自己生成一個(gè)會(huì)話密鑰吼肥,然后這個(gè)會(huì)話密鑰通過B的公鑰進(jìn)行加密录平,加密后發(fā)送給B,B再通過自己的私鑰對它進(jìn)行解密缀皱,從而得到A生成的會(huì)話密鑰斗这。之后,A通過自己的會(huì)話密鑰將要發(fā)送的明文進(jìn)行加密啤斗,發(fā)送給B表箭,B通過事先得到的會(huì)話密鑰對發(fā)送過來的密文進(jìn)行解密從而得到明文。

DNS事務(wù)簽名

事務(wù)簽名可以通過兩種加密方式來實(shí)現(xiàn)钮莲,分別是:

  • TSIG:對稱方式
  • SIGO:非對稱方式

現(xiàn)在比較常用的是TSIG這種方法燃逻。

TSIG事務(wù)簽名

參數(shù):

  • allow-transfer : {key keyfile}(key及key的文件位置); 事務(wù)簽名的key

測試

首先我們進(jìn)入主服務(wù)器,然后生成key:

在主服務(wù)器的/usr/key目錄下臂痕,注意賦予key目錄named用戶的讀權(quán)限

輸入以下命令:

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST liumapp-key
  • -a : 加密算法
  • -b : 加密位數(shù)
  • -n : 可以選擇ZONE或者HOST
  • liumapp-key:密鑰名稱

我生成的公鑰文件和私鑰文件其內(nèi)容如下所示:

然后我們復(fù)制私鑰里面的那段key的內(nèi)容,再進(jìn)入/var/named/chroot/etc目錄猿涨,新建一個(gè)liumapp-key文件

其內(nèi)容為:

key "liumapp-key" {

 Algorithm hmac-md5;

 secret "ghWgud4mhN11PKBIITgxbg==";

};

上面的secret的值是從生成的私鑰文件中復(fù)制來的握童。

然后編寫named.conf文件,添加以下內(nèi)容:

include  "/var/named/chroot/etc/liumapp-key";

注意叛赚,這段內(nèi)容要放在zone "liumapp.com"之前澡绩。

然后修改zone "liumapp.com"的配置,最終配置結(jié)果如下:

include "/var/named/chroot/etc/liumapp-key";

zone "liumapp.com" {
        type master;
        notify yes;
        also-notify {106.14.212.41;};
        allow-transfer{key "liumapp-key";};
        file "liumapp.com.zone";
};

上面的allow-transfer的key的值是我命名的那個(gè)值俺附。

然后我們重啟Bind肥卡,接下來是配置slave從服務(wù)器,不過在配置之前事镣,需要先把我們的配置文件liumapp-key拷貝過去:

使用命令:

scp liumapp-key root@106.14.212.41:`pwd`

結(jié)果如下所示:

然后在從服務(wù)器的named.conf中進(jìn)行配置步鉴,一個(gè)是把liumapp-key包含進(jìn)去,然后配置key,最終結(jié)果如下所示:

options{

 directory  "/var/named";

 allow-query  { any; };

 recursion  yes;

};

include  "/var/named/chroot/etc/liumapp-key";

server  115.29.32.62 {

 keys {"liumapp-key";};

};

zone "dnstest.com" {

 type  master;

 file  "dnstest.com.zone";

};

zone "liumapp.com" {

 type  slave;

 file  "slaves/liumapp.com.zone";

 masters {115.29.32.62;};

};

重啟從服務(wù)器的Bind服務(wù)氛琢,然后我們再回到主服務(wù)器:

添加一條liumapp.com.zone下的A記錄喊递,當(dāng)然還需要遞增一下serial number也不知道加了多少,總之最后我的這個(gè)ZONE的內(nèi)容如下所示:

$TTL 7200

liumapp.com.  IN  SOA  liumapp.com.  liumapp.com.gmail.com8 (226  1H  15M  1W 1D)

liumapp.com.  IN  NS  dns1.liumapp.com.

dns1.liumapp.com.  IN  A  115.29.32.62

www.liumapp.com.  IN  A  106.14.212.41

liumei.liumapp.com.  IN  A  8.8.5.6

heiheihei.liumapp.com.  IN  A  9.9.9.9

@ IN  MX  10  mail

mail  IN  A  115.29.32.63

test.liumapp.com.  IN  NS  ns1.test

ns1.test  IN  A  106.14.212.41

然后重啟bind阳似,再使用命令:

tail -f /var/log/messages

得到的信息如下所示:

可以看到骚勘,我修改了liumapp.com.zone之后,主服務(wù)器馬上同步到了從服務(wù)器上撮奏,而他們之間的交流俏讹,就是用到了TSIG事務(wù)簽名。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末畜吊,一起剝皮案震驚了整個(gè)濱河市泽疆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌定拟,老刑警劉巖于微,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異青自,居然都是意外死亡株依,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門延窜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恋腕,“玉大人,你說我怎么就攤上這事逆瑞≤伲” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵获高,是天一觀的道長哈肖。 經(jīng)常有香客問我,道長念秧,這世上最難降的妖魔是什么淤井? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮摊趾,結(jié)果婚禮上币狠,老公的妹妹穿的比我還像新娘。我一直安慰自己砾层,他們只是感情好漩绵,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肛炮,像睡著了一般止吐。 火紅的嫁衣襯著肌膚如雪宝踪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天祟印,我揣著相機(jī)與錄音肴沫,去河邊找鬼。 笑死蕴忆,一個(gè)胖子當(dāng)著我的面吹牛颤芬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播套鹅,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼站蝠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了卓鹿?” 一聲冷哼從身側(cè)響起菱魔,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吟孙,沒想到半個(gè)月后澜倦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杰妓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年藻治,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巷挥。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桩卵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出倍宾,到底是詐尸還是另有隱情雏节,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布高职,位于F島的核電站钩乍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏怔锌。R本人自食惡果不足惜件蚕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望产禾。 院中可真熱鬧,春花似錦牵啦、人聲如沸亚情。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽楞件。三九已至衫生,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間土浸,已是汗流浹背罪针。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留黄伊,地道東北人泪酱。 一個(gè)月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像还最,于是被迫代替她去往敵國和親墓阀。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359

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