ಒಂದು ದಿನ ನನ್ನ ಕ್ಲೈಂಟ್ಗಳಲ್ಲಿ ಒಬ್ಬರಿಗೆ ಅವರಿಗೆ ನಿಯೋಜಿಸಲಾದ /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-addr.harp.
240 ರಿಂದ 255 ರವರೆಗಿನ ನಮೂದುಗಳು ಯಾವುದಾದರೂ ಇದ್ದರೆ ನಾವು ಕಾಮೆಂಟ್ ಮಾಡುತ್ತೇವೆ. ಮತ್ತು ಫೈಲ್ನ ಕೊನೆಯಲ್ಲಿ ನಾವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಬರೆಯುತ್ತೇವೆ:
255-240 IN NS 7.8.7.8
$GENERATE 240-255 $ CNAME $.255-240
ಸರಣಿ ವಲಯವನ್ನು ಹೆಚ್ಚಿಸಲು ಮತ್ತು ಮಾಡಲು ಮರೆಯಬೇಡಿ
rndc reload
ಇದು ಒದಗಿಸುವವರ ಭಾಗವನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ. ಕ್ಲೈಂಟ್ ಡಿಎನ್ಎಸ್ಗೆ ಹೋಗೋಣ.
ಮೊದಲಿಗೆ, ಫೈಲ್ ಅನ್ನು ರಚಿಸೋಣ /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.
ಮತ್ತು ಒಳಗೆ name.conf ನಮ್ಮ ಹೊಸ ಫೈಲ್ನ ವಿವರಣೆಯನ್ನು ಸೇರಿಸಿ:
zone "255-240.9.8.7.in-addr.arpa." IN {
type master;
file "master/255-240.9.8.7.in-addr.arpa";
};
ಬಿ ಬೈಂಡ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ.
/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
ಈ ಸೈಟ್ಗೆ ನಾವು ಜವಾಬ್ದಾರರಲ್ಲ ಎಂದು ಕೇಳುವ ಎಲ್ಲರಿಗೂ ನಾವು ಹೇಳುತ್ತೇವೆ ಮತ್ತು ಯಾರು ಜವಾಬ್ದಾರರು ಎಂದು ಹೇಳುತ್ತೇವೆ. ಮತ್ತು ಎಲ್ಲಾ ವಿನಂತಿಗಳು client.domain 7.8.7.8 ಗೆ ಮರುನಿರ್ದೇಶಿಸುತ್ತದೆ. ಪರಿಶೀಲಿಸುವಾಗ, ನಾವು ಈ ಕೆಳಗಿನ ಚಿತ್ರವನ್ನು ನೋಡುತ್ತೇವೆ (ಕ್ಲೈಂಟ್ ಅಲ್ಲಿ ಏನಿದೆ ಎಂಬುದನ್ನು ನಾವು ಬಿಟ್ಟುಬಿಡುತ್ತೇವೆ. ಇದು ಅಪ್ರಸ್ತುತವಾಗುತ್ತದೆ):
# host test.client.domain
test.client.domain has address 7.8.9.241
ಆ. ಅಂತಹ ಒಂದು ದಾಖಲೆ ಇದೆ ಮತ್ತು ಅದರ ಐಪಿ 7.8.9.241 ಎಂದು ನಮಗೆ ತಿಳಿಸಲಾಯಿತು. ಅನಗತ್ಯ ಮಾಹಿತಿ ಇಲ್ಲ.
ಸಬ್ನೆಟ್ನೊಂದಿಗೆ ಅದೇ ಕೆಲಸವನ್ನು ಹೇಗೆ ಮಾಡಬಹುದು?
ಏಕೆಂದರೆ ನಮ್ಮ DNS ಸರ್ವರ್ ಅನ್ನು RIPE ನಲ್ಲಿ ನೋಂದಾಯಿಸಲಾಗಿದೆ, ನಂತರ ನಮ್ಮ ನೆಟ್ವರ್ಕ್ನಿಂದ PTR IP ವಿಳಾಸವನ್ನು ವಿನಂತಿಸುವಾಗ, ಮೊದಲ ವಿನಂತಿಯು ಇನ್ನೂ ನಮಗೆ ಇರುತ್ತದೆ. ತರ್ಕವು ಡೊಮೇನ್ಗಳಂತೆಯೇ ಇರುತ್ತದೆ. ಆದರೆ ನೀವು ವಲಯ ಫೈಲ್ಗೆ ಸಬ್ನೆಟ್ ಅನ್ನು ಹೇಗೆ ನಮೂದಿಸುತ್ತೀರಿ?
ಇದನ್ನು ಈ ರೀತಿ ನಮೂದಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ:
255-240 IN NS 7.8.7.8
ಮತ್ತು ... ಪವಾಡ ಸಂಭವಿಸಲಿಲ್ಲ. ನಾವು ಯಾವುದೇ ವಿನಂತಿ ಮರುನಿರ್ದೇಶನವನ್ನು ಸ್ವೀಕರಿಸುತ್ತಿಲ್ಲ. ವಿಷಯವೆಂದರೆ ರಿವರ್ಸ್ ಝೋನ್ ಫೈಲ್ನಲ್ಲಿನ ಈ ನಮೂದುಗಳು ಐಪಿ ವಿಳಾಸಗಳು ಎಂದು ಬೈಂಡ್ಗೆ ತಿಳಿದಿಲ್ಲ ಮತ್ತು ಅದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ಶ್ರೇಣಿಯ ನಮೂದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ. ಅವನಿಗೆ, ಇದು ಕೇವಲ ಒಂದು ರೀತಿಯ ಸಾಂಕೇತಿಕ ಉಪಡೊಮೇನ್ ಆಗಿದೆ. ಆ. ಬಂಧಿಸಲು ನಡುವೆ ಯಾವುದೇ ವ್ಯತ್ಯಾಸವಿರುವುದಿಲ್ಲ "255-240"ಮತ್ತು"ನಮ್ಮ ಸೂಪರ್ ಕ್ಲೈಂಟ್". ಮತ್ತು ಅದು ಹೋಗಬೇಕಾದ ಸ್ಥಳಕ್ಕೆ ಹೋಗಲು ವಿನಂತಿಗಾಗಿ, ವಿನಂತಿಯಲ್ಲಿನ ವಿಳಾಸವು ಈ ರೀತಿ ಇರಬೇಕು: 241.255-240.9.8.7.in-addr.arpa. ಅಥವಾ ನಾವು ಅಕ್ಷರ ಉಪಡೊಮೇನ್ ಅನ್ನು ಬಳಸಿದರೆ ಈ ರೀತಿ: 241.oursuperclient.9.8.7.in-addr.arpa. ಇದು ಸಾಮಾನ್ಯಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದೆ: 241.9.8.7.in-addr.harp.
ಅಂತಹ ವಿನಂತಿಯನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಮಾಡಲು ಕಷ್ಟವಾಗುತ್ತದೆ. ಮತ್ತು ಅದು ಕೆಲಸ ಮಾಡಿದರೂ ಸಹ, ನಿಜ ಜೀವನದಲ್ಲಿ ಅದನ್ನು ಹೇಗೆ ಅನ್ವಯಿಸಬೇಕು ಎಂಬುದು ಇನ್ನೂ ಅಸ್ಪಷ್ಟವಾಗಿದೆ. ಎಲ್ಲಾ ನಂತರ, ಕೋರಿಕೆಯ ಮೇರೆಗೆ 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-addr.harp ಒದಗಿಸುವವರ DNS ಸರ್ವರ್ನಲ್ಲಿ ಇದನ್ನು ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ 241.255-240.9.8.7.in-addr.arpa ಮತ್ತು dns ಕ್ಲೈಂಟ್ಗೆ ಹೋಗುತ್ತದೆ.
ಕ್ಲೈಂಟ್ ಸೈಡ್ ಅಂತಹ ವಿನಂತಿಗಳನ್ನು ನಿರ್ವಹಿಸಬೇಕಾಗುತ್ತದೆ. ಅದರಂತೆ, ನಾವು ವಲಯವನ್ನು ರಚಿಸುತ್ತೇವೆ 255-240.9.8.7.in-addr.arpa. ಅದರಲ್ಲಿ, ನಾವು ತಾತ್ವಿಕವಾಗಿ, ಸಂಪೂರ್ಣ /24 ಸಬ್ನೆಟ್ನ ಯಾವುದೇ ಐಪಿಗೆ ರಿವರ್ಸ್ ನಮೂದುಗಳನ್ನು ಇರಿಸಬಹುದು, ಆದರೆ ಒದಗಿಸುವವರು ನಮಗೆ ಫಾರ್ವರ್ಡ್ ಮಾಡುವ ಬಗ್ಗೆ ಮಾತ್ರ ಅವರು ನಮ್ಮನ್ನು ಕೇಳುತ್ತಾರೆ, ಆದ್ದರಿಂದ ನಾವು =) ಸುತ್ತಲೂ ಆಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.
ವಿವರಿಸಲು, ಕ್ಲೈಂಟ್ ಕಡೆಯಿಂದ ರಿವರ್ಸ್ ಝೋನ್ ಫೈಲ್ನ ವಿಷಯಗಳ ಉದಾಹರಣೆಯನ್ನು ನಾನು ಮತ್ತೊಮ್ಮೆ ನೀಡುತ್ತೇನೆ:
$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