Нэг өдөр би үйлчлүүлэгчдийнхээ нэгэнд өөрт нь олгосон /28 дэд сүлжээний PTR бичлэгийг засварлах эрхийг өгөх даалгавартай тулгарсан. Надад BIND тохиргоог гаднаас нь засварлах автоматжуулалт байхгүй. Тиймээс би өөр замаар явахаар шийдсэн - /24 дэд сүлжээний PTR бүсийн хэсгийг үйлчлүүлэгчид шилжүүлэх.
Энэ нь илүү энгийн зүйл гэж юу байхав дээ. Бид зүгээр л шаардлагатай бол дэд сүлжээг бүртгүүлж, дэд домайнтай адил хүссэн NS руу чиглүүлдэг. Гэхдээ үгүй. Энэ нь тийм ч энгийн зүйл биш (хэдийгээр энэ нь ерөнхийдөө энгийн боловч зөн совин нь тус болохгүй), ийм учраас би энэ нийтлэлийг бичиж байна.
Үүнийг өөрөө ойлгохыг хүссэн хүн бүр уншиж болно
Хэн бэлэн шийдлийг хүсч байна, мууранд тавтай морилно уу.
Хуулбар буулгах аргад дуртай хүмүүсийг хойшлуулахгүйн тулд эхлээд практик хэсгийг, дараа нь онолын хэсгийг оруулна.
1. Дадлага хийх. Төлөөлөх бүс /28
Бид дэд сүлжээтэй гэж бодъё 7.8.9.0/24. Бид дэд сүлжээг шилжүүлэх хэрэгтэй 7.8.9.240/28 dns үйлчлүүлэгч рүү 7.8.7.8 (ns1.client.domain).
Үйлчилгээ үзүүлэгчийн DNS дээр та энэ дэд сүлжээний урвуу бүсийг дүрсэлсэн файлыг олох хэрэгтэй. Байг 9.8.7.in.add.arpa.
Хэрэв байгаа бол 240-255 хүртэлх бичлэгийн талаар бид тайлбар өгдөг. Мөн файлын төгсгөлд бид дараахь зүйлийг бичнэ.
255-240 IN NS 7.8.7.8
$GENERATE 240-255 $ CNAME $.255-240
цуваа бүсийг нэмэгдүүлж, хийхээ бүү мартаарай
rndc reload
Энэ нь үйлчилгээ үзүүлэгч хэсгийг дуусгана. Үйлчлүүлэгчийн dns рүү шилжье.
Эхлээд файл үүсгэцгээе /etc/bind/master/255-240.9.8.7.in-addr.arpa дараах агуулга:
$ORIGIN 255-240.9.8.7.in-addr.arpa.
$TTL 1W
@ 1D IN SOA ns1.client.domain. root.client.domain. (
2008152607 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns1.client.domain.
@ IN NS ns2.client.domain.
241 IN PTR test.client.domain.
242 IN PTR test2.client.domain.
245 IN PTR test5.client.domain.
Тэгээд бас нэртэй манай шинэ файлын тайлбарыг нэмнэ үү:
zone "255-240.9.8.7.in-addr.arpa." IN {
type master;
file "master/255-240.9.8.7.in-addr.arpa";
};
B холбох процессыг дахин эхлүүлнэ үү.
/etc/init.d/named restart
Бүгд. Одоо та шалгаж болно.
#> host 7.8.9.245
245.9.8.7.in-addr.arpa is an alias for 245.255-240.9.8.7.in-addr.arpa.
245.255-240.9.8.7.in-addr.arpa domain name pointer test5.client.domain.
Зөвхөн PTR бичлэгийг өгөөд зогсохгүй CNAME гэдгийг анхаарна уу. Ийм л байх ёстой. Хэрэв та яагаад гэж гайхаж байгаа бол дараагийн бүлэгт тавтай морил.
2. Онол. Хэрхэн ажилладаг.
Хар хайрцгийг тохируулах, дибаг хийхэд хэцүү байдаг. Хэрэв та дотор нь юу болж байгааг ойлговол илүү хялбар болно.
Бид домайн дахь дэд домайныг шилжүүлэх үед домэйн, дараа нь бид иймэрхүү зүйлийг бичнэ:
client.domain. NS ns1.client.domain.
ns1.client.domain. A 7.8.7.8
Бид энэ сайтыг хариуцахгүй гэдгээ асуусан бүх хүнд хэлж, хэн хариуцлага хүлээхийг хэлдэг. Мөн бүх хүсэлт үйлчлүүлэгч.домэйн 7.8.7.8 руу дахин чиглүүлэх. Шалгахдаа бид дараах зургийг харна (үйлчлүүлэгчийн тэнд байгаа зүйлийг орхих болно. Энэ нь хамаагүй):
# host test.client.domain
test.client.domain has address 7.8.9.241
Тэдгээр. Ийм А бичлэг байгаа бөгөөд түүний ip нь 7.8.9.241 гэдгийг бидэнд мэдэгдсэн. Шаардлагагүй мэдээлэл байхгүй.
Дэд сүлжээтэй ижил зүйлийг хэрхэн хийх вэ?
Учир нь Манай DNS сервер RIPE-д бүртгэлтэй байгаа тул манай сүлжээнээс PTR IP хаяг хүсэх үед эхний хүсэлт нь бидэнд байх болно. Логик нь домэйнтэй адил юм. Гэхдээ дэд сүлжээг бүсийн файлд хэрхэн оруулах вэ?
Үүнийг дараах байдлаар оруулахыг оролдъё.
255-240 IN NS 7.8.7.8
Тэгээд ... гайхамшиг тохиолдсонгүй. Бид ямар ч хүсэлтийн дахин чиглүүлэлт хүлээн аваагүй байна. Хамгийн гол нь bind нь урвуу бүсийн файл дахь эдгээр оруулгууд нь IP хаяг гэдгийг мэддэггүй, бүр хүрээний оруулгыг ойлгодоггүй. Түүний хувьд энэ бол зүгээр л нэг төрлийн бэлгэдлийн дэд домайн юм. Тэдгээр. Учир нь холбоход ямар ч ялгаа байхгүй болно "255-240"Мөн"манай супер үйлчлүүлэгч". Хүсэлтийг хүссэн газар руугаа явахын тулд хүсэлтийн хаяг дараах байдалтай байх ёстой. 241.255-240.9.8.7.in-addr.arpa. Эсвэл бид тэмдэгтийн дэд домайн ашигладаг бол үүнтэй адил: 241.oursuperclient.9.8.7.in-addr.arpa. Энэ нь ердийнхөөс ялгаатай: 241.9.8.7.in.add.arpa.
Гараар ийм хүсэлт гаргахад хэцүү байх болно. Энэ нь ажиллаж байсан ч бодит амьдрал дээр хэрхэн хэрэгжүүлэх нь тодорхойгүй хэвээр байна. Эцсийн эцэст, хүсэлтээр 7.8.9.241 Үйлчилгээ үзүүлэгчийн DNS нь үйлчлүүлэгчийнх биш харин бидэнд хариулсан хэвээр байна.
Энд л тэд тоглох болно CNAME.
Үйлчилгээ үзүүлэгчийн тал дээр та дэд сүлжээний бүх IP хаягуудад хүсэлтийг үйлчлүүлэгчийн DNS руу дамжуулах форматаар нэр өгөх хэрэгтэй.
255-240 IN NS ns1.client.domain.
241 IN CNAME 241.255-240
242 IN CNAME 242.255-240
и т.д.
Энэ бол хөдөлмөрч хүмүүст зориулагдсан юм =).
Залхуу хүмүүсийн хувьд доорх загвар нь илүү тохиромжтой.
255-240 IN NS ns1.client.domain.
$GENERATE 240-255 $ CNAME $.255-240
Одоо дараах хаягаар мэдээлэл авна уу 7.8.9.241 нь 241.9.8.7.in.add.arpa үйлчилгээ үзүүлэгчийн DNS сервер дээр хөрвүүлэгдэх болно 241.255-240.9.8.7.in-addr.arpa мөн dns үйлчлүүлэгч рүү очно.
Үйлчлүүлэгч тал ийм хүсэлтийг шийдвэрлэх шаардлагатай болно. Үүний дагуу бид бүсийг бий болгодог 255-240.9.8.7.in-addr.arpa. Үүн дээр бид зарчмын хувьд бүхэл бүтэн /24 дэд сүлжээний аль ч IP-д урвуу оруулгуудыг хийж болно, гэхдээ тэд зөвхөн үйлчилгээ үзүүлэгчийн бидэнд дамжуулсан зүйлийн талаар л асуух болно, тиймээс бид тоглох боломжгүй болно =).
Үүнийг харуулахын тулд би үйлчлүүлэгчийн талаас урвуу бүсийн файлын агуулгын жишээг дахин өгөх болно.
$ORIGIN 255-240.9.8.7.in-addr.arpa.
$TTL 1W
@ 1D IN SOA ns1.client.domain. root.client.domain. (
2008152607 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns1.client.domain.
@ IN NS ns2.client.domain.
241 IN PTR test.client.domain.
242 IN PTR test2.client.domain.
245 IN PTR test5.client.domain.
Учир нь бид үйлчилгээ үзүүлэгчийн талд CNAME ашигладаг бөгөөд IP хаягаар мэдээлэл авах хүсэлтийн хариуд бид нэг биш хоёр бичлэг хүлээн авдаг.
#> host 7.8.9.245
245.9.8.7.in-addr.arpa is an alias for 245.255-240.9.8.7.in-addr.arpa.
245.255-240.9.8.7.in-addr.arpa domain name pointer test5.client.domain.
Мөн ACL-ийг зөв тохируулахаа бүү мартаарай. Учир нь PTR бүсийг өөртөө авч, гаднаас хэнд ч хариу өгөхгүй байх нь утгагүй юм =).
Эх сурвалж: www.habr.com