ನಿಮ್ಮ ಹೋಮ್ VPN ಗೆ nas.home.arpa ಗಾಗಿ ತನ್ನದೇ DNS ದಾಖಲೆಗಳನ್ನು ನೀಡಿ
dnsmasq ನಿಂದ ಒಂದು ಹೆಸರನ್ನು ಪ್ರಕಟಿಸಿ, resolver ಅನ್ನು WireGuard ಮೂಲಕ ರೂಟ್ ಮಾಡಿ, ನಂತರ ಇಡೀ ಕ್ಲೈಂಟ್ಗೆ DNS ತಳ್ಳುವುದು ಮತ್ತು home.arpa ಗಾಗಿ ಮಾತ್ರ split-DNS ನಡುವೆ ಆಯ್ಕೆಮಾಡಿ.
ಸುರಂಗ ಮೇಲಕ್ಕೆ ಬಂದ ನಂತರ, ಕೊನೆಯ ಹಂತ ಸಾಮಾನ್ಯವಾಗಿ ಬುಕ್ಮಾರ್ಕ್ನಲ್ಲಿ ಅಂಟಿಸುವ ವಿಳಾಸದ ಬದಲು ಕೆಲಸ ಮಾಡುವ ಹೆಸರಾಗಿರುತ್ತದೆ. dnsmasq ಹೋಸ್ಟ್ ದಾಖಲೆ ಮತ್ತು ಕ್ಲೈಂಟ್ ತಲುಪಬಲ್ಲ resolver ವಿಳಾಸ ಎರಡು ಫೈಲ್ಗಳಲ್ಲಿ ಮತ್ತು multicast ಇಲ್ಲದೆ ಅದನ್ನು ಮಾಡುತ್ತವೆ. ನಿಜವಾಗಿ ಯೋಚಿಸಬೇಕಾದ ನಿರ್ಣಯವು ಸಣ್ಣದು: ಕ್ಲೈಂಟ್ ಎಲ್ಲಾ DNS ಅನ್ನು ಮನೆಯ resolver ಮೂಲಕ ಕಳುಹಿಸುತ್ತದೆಯೇ, ಅಥವಾ home.arpa ಅಡಿಯಲ್ಲಿರುವ ಹೆಸರುಗಳನ್ನು ಮಾತ್ರವೇ? ಕೆಳಗಿನ ಎಲ್ಲವೂ Linux ಕ್ಲೈಂಟ್ ಮತ್ತು ಮನೆಯ ನಿರ್ವಾಹಕರು ಈಗಾಗಲೇ ನಿರ್ವಹಿಸುವ ಪ್ರಯೋಗಾಲಯ resolver ಹೊಂದಿರುವ ಅನುಮೋದಿತ WireGuard ಸಂರಚನೆಯನ್ನು ಊಹಿಸುತ್ತದೆ.
ಕ್ಲೈಂಟ್ಗೆ resolver ನೀಡುವ ಮೂರು ದಾರಿಗಳು
| Approach | Scope | Cost |
|---|---|---|
DNS = in the wg-quick interface | the client's general DNS while the tunnel is up | every name in the house now depends on the tunnel |
Platform split-DNS for home.arpa | only that suffix | more configuration per client platform |
Manual dig @resolver | one query at a time | fine for testing, useless for applications |
ಸುರಂಗಕ್ಕೆ ಸಾಂದರ್ಭಿಕವಾಗಿ ಸೇರುವ ಲ್ಯಾಪ್ಟಾಪ್ಗೆ split-DNS ಉತ್ತಮ ಡೀಫಾಲ್ಟ್: ಅದು ಸಾಮಾನ್ಯ ಇಂಟರ್ನೆಟ್ ಹೆಸರುಗಳನ್ನು ಯಂತ್ರ ಈಗಾಗಲೇ ನಂಬುವ resolver ನಲ್ಲಿಯೇ ಇಡುತ್ತದೆ. ಮನೆಯ ಸೇವೆಗಳನ್ನು ತಲುಪಲು ಇರುವ ಯಂತ್ರಕ್ಕೆ resolver ಅನ್ನು ತಳ್ಳುವುದು ಸರಳ ಮತ್ತು ವ್ಯಾಪ್ತಿಯ ವೆಚ್ಚ ಮುಖ್ಯವಲ್ಲ.
ವಲಯವನ್ನು ಹೊಂದಿರುವ resolver ನಲ್ಲಿ ದಾಖಲೆಯನ್ನು ಪ್ರಕಟಿಸಿ
ಸಂರಚನೆ ಬರೆಯುವ ಮೊದಲು ಪಾತ್ರಗಳನ್ನು ಬೇರ್ಪಡಿಸಿ: VPN ಕ್ಲೈಂಟ್ ವಿಳಾಸ, resolver ಮತ್ತು ಸೇವೆ ಮೂರು ವಿಭಿನ್ನ ಕೆಲಸಗಳಿರುವ ಮೂರು ವಿಭಿನ್ನ ಹೋಸ್ಟ್ಗಳು. ಈ ಪ್ರಯೋಗಾಲಯದಲ್ಲಿ ಅವು ಕ್ಲೈಂಟ್ಗೆ 10.77.0.2, dnsmasq ಗೆ 192.168.50.53 ಮತ್ತು NAS ಗೆ 192.168.50.20, ಮತ್ತು ಸುರಂಗವು ಮನೆಯ LAN ಅನ್ನು ರೂಟ್ ಮಾಡುತ್ತದೆ.
listen-address=127.0.0.1,192.168.50.53
bind-interfaces
local=/home.arpa/
host-record=nas.home.arpa,192.168.50.20
host-record ಸಾಲು ವಿಳಾಸವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು local= ಸಾಲು ಅಪರಿಚಿತ home.arpa ಪ್ರಶ್ನೆಗಳನ್ನು ಮೇಲಕ್ಕೆ ಕಳುಹಿಸುವ ಬದಲು ಈ resolver ಒಳಗೆ ಇಡುತ್ತದೆ. ಮೊದಲು ನಿಮ್ಮ ಇರುವ ಸಂರಚನೆಯನ್ನು ಓದಿ ಮತ್ತು ಸರ್ವರ್, ಇಂಟರ್ಫೇಸ್ ಅಥವಾ ಅದೇ ಸ್ಥಳೀಯ ಡೊಮೇನ್ ಅನ್ನು ಈಗಾಗಲೇ ವ್ಯಾಖ್ಯಾನಿಸುವ ಎಲ್ಲವನ್ನೂ ಹೊಂದಿಸಿ; ವಿರೋಧಾಭಾಸದ ಮೇಲೆ ತುಣುಕನ್ನು ಜೋಡಿಸಿದರೆ ಸಂತೋಷದಿಂದ ಲೋಡ್ ಆಗಿ ತಪ್ಪಾಗಿ ಉತ್ತರಿಸುವ resolver ಆಗುತ್ತದೆ. dnsmasq ಕೈಪಿಡಿ ಎರಡೂ ನಿರ್ದೇಶನಗಳನ್ನು ಮತ್ತು ಆಲಿಸುವ ನಿಯಂತ್ರಣಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
ನಂತರ ಫೈಲ್ ಅಲ್ಲ, ಚಾಲನೆಯಲ್ಲಿರುವ ಸೇವೆಯನ್ನು ಪರಿಶೀಲಿಸಿ. ಸಂರಚನೆ ಪರೀಕ್ಷೆ ಮತ್ತು ಮರುಪ್ರಾರಂಭ ಕನಿಷ್ಠ, ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಉತ್ತರ ಎಂದರೆ ಪ್ರಶ್ನೆ ಹಿಂತಿರುಗಿಸುವುದು.
resolver ಅನ್ನು ರೂಟ್ ಮಾಡಿ, ವೆಬ್ ಪುಟವನ್ನು ಮಾತ್ರವಲ್ಲ
WireGuard ನ AllowedIPs ಯಾವ ಗಮ್ಯಸ್ಥಾನಗಳು ಸುರಂಗ ಪ್ರವೇಶಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. resolver ವಿಳಾಸ ಅದರ ಹೊರಗೆ ಬಿದ್ದರೆ, ಪ್ರಶ್ನೆ ಸಾಮಾನ್ಯ ಮಾರ್ಗದಲ್ಲಿ ಹೊರಡುತ್ತದೆ ಮತ್ತು dnsmasq ತಲುಪುವುದೇ ಇಲ್ಲ, NAS ಸ್ವತಃ ತಲುಪಬಹುದಾದರೂ ಸಹ. resolver ವಿಳಾಸ ಅಥವಾ ಅದನ್ನು ಒಳಗೊಂಡ LAN ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಸೇರಿಸಿ, ಮತ್ತು ಆಚೆ ಗೇಟ್ವೇಯ ಫಾರ್ವರ್ಡಿಂಗ್ ನೀತಿಯನ್ನು ಪರಿಶೀಲಿಸಿ.
ಅಧಿಕೃತ ಸುರಂಗ ಶ್ರೇಣಿಯಿಂದ ಪೋರ್ಟ್ 53 ನಲ್ಲಿ UDP ಮತ್ತು TCP ಗೆ ಅನುಮತಿ ನೀಡಿ, ಕ್ಲೈಂಟ್ನ ಸುರಂಗ ವಿಳಾಸಕ್ಕೆ ಹಿಂತಿರುಗುವ ಮಾರ್ಗದೊಂದಿಗೆ. ಪರೀಕ್ಷೆಯನ್ನು ಸುಲಭಗೊಳಿಸಲು WAN ನಿಂದ ಪೋರ್ಟ್ 53 ಅನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಬೇಡಿ: ಮನೆಯ ಸಂಪರ್ಕದಲ್ಲಿ ತೆರೆದ ರಿಕರ್ಸಿವ್ resolver ಗಂಟೆಗಳಲ್ಲಿ ಪತ್ತೆಯಾಗುತ್ತದೆ. ಇಂಟರ್ಫೇಸ್ಗೆ ಬಂಧಿಸುವುದು ತನ್ನಷ್ಟಕ್ಕೇ ಪ್ರವೇಶ ನೀತಿಯಲ್ಲ.
ಅಪ್ಲಿಕೇಶನ್ಗಿಂತ ಮೊದಲು ಉತ್ತರವನ್ನು ಪರಿಶೀಲಿಸಿ
ಮೊದಲು resolver ಗೆ ನೇರವಾಗಿ ಕೇಳಿ, ನಂತರ ಸಿಸ್ಟಂಗೆ, ನಂತರ ಅಪ್ಲಿಕೇಶನ್ಗೆ. ಪ್ರತಿ ಹಂತವು ಸರಪಳಿಯ ಒಂದು ಕೊಂಡಿಯನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ, ಮತ್ತು ಅವುಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವೇ ರೋಗನಿರ್ಣಯ.
dig @192.168.50.53 nas.home.arpa. A
dig +tcp @192.168.50.53 nas.home.arpa. A
getent ahostsv4 nas.home.arpa
curl -sS --max-time 5 http://nas.home.arpa/ -o /dev/null -w '%{http_code}\n'
TCP ಪ್ರಶ್ನೆಯನ್ನು ಚಲಾಯಿಸುವುದು ಯೋಗ್ಯ, ಏಕೆಂದರೆ ಕತ್ತರಿಸಿದ UDP ಉತ್ತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಲು ಒತ್ತಾಯಿಸುತ್ತದೆ, ಮತ್ತು TCP 53 ಅನ್ನು ಬಿಸಾಡುವ ನೀತಿ ಮಧ್ಯೆ ಮಧ್ಯೆ ಕಾಣುವ ವೈಫಲ್ಯಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ. getent ಹಂತವು ಯಂತ್ರದ resolver ಸಂರಚನೆ ನಿಜವಾಗಿ ಏನು ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ, ಅದು ನೀವು ಕಳುಹಿಸಿದ್ದೇ ಆಗಿರಬೇಕಿಲ್ಲ.
ಸುರಂಗ ಕೆಳಗಿದ್ದಾಗ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ
ಕ್ಲೈಂಟ್ನ ಸಾಮಾನ್ಯ DNS 192.168.50.53 ಅನ್ನು ಸೂಚಿಸಿದರೆ, ಸುರಂಗ ಮೇಲಿಲ್ಲದಿದ್ದಾಗ ಎಲ್ಲಾ ಹೆಸರು ಪರಿಹಾರ ನಿಲ್ಲುತ್ತದೆ. ಸುರಂಗದೊಂದಿಗೆ ಮಾತ್ರ ಉಪಯುಕ್ತವಾದ ಯಂತ್ರದಲ್ಲಿ ಇದು ಸ್ವೀಕಾರಾರ್ಹ, ಮತ್ತು ಕೆಫೆಯ Wi-Fi ಅನ್ನೂ ಬಳಸುವ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಸ್ವೀಕಾರಾರ್ಹವಲ್ಲ. Split-DNS ಈ ಪ್ರಶ್ನೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ತಪ್ಪಿಸುತ್ತದೆ, ಏಕೆಂದರೆ home.arpa ಹುಡುಕಾಟಗಳು ಮಾತ್ರ ಮನೆಯ resolver ಅನ್ನು ಅವಲಂಬಿಸಿವೆ.
ಹೆಸರು ಏನೆಂದು ನೆನಪಿಡಿ: home.arpa ವಸತಿ ನೆಟ್ವರ್ಕ್ಗಳಿಗೆ ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ ಮತ್ತು ಜಾಗತಿಕವಾಗಿ ಅನನ್ಯವಲ್ಲ, ಆದ್ದರಿಂದ ಬೇರೆ ನೆಟ್ವರ್ಕ್ ಅದೇ ಹೆಸರನ್ನು ಕಾನೂನುಬದ್ಧವಾಗಿ ಬಳಸಬಹುದು. ಇದು ಸ್ಥಳೀಯ ಅನುಕೂಲ, ವಿಶ್ವಾಸಾರ್ಹ ಗುರುತಿಸುವಿಕೆ ಅಲ್ಲ. ಸೇವೆ ಸ್ಥಳಾಂತರಗೊಂಡಾಗ ದಾಖಲೆಯನ್ನು ನವೀಕೃತವಾಗಿಡಿ, ಮತ್ತು ಪ್ರಯೋಗಾಲಯ ನಿವೃತ್ತವಾದಾಗ resolver ನೀತಿಯನ್ನು ತೆಗೆದುಹಾಕಿ, ಇನ್ನು ಇಲ್ಲದ ಸುರಂಗದ ಮೂಲಕ ಮಾತ್ರ ತಲುಪಬಹುದಾದ ವಿಳಾಸಕ್ಕೆ ತೋರಿಸುವ ಲ್ಯಾಪ್ಟಾಪ್ ಅನ್ನು ಬಿಡುವ ಬದಲು.