DNS ನಿಂದ ಪೋಷಣೆ ಪಡೆಯುವ nftables ಸೆಟ್ನಿಂದ WireGuard ಗೆ: ಹಸ್ತಾಂತರ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ
DNS ಉತ್ತರವು nftables ಸೆಟ್ಗೆ ಪೋಷಣೆ ನೀಡಬಹುದು, ಆದರೆ ಸೆಟ್ ಏನನ್ನೂ ರೂಟ್ ಮಾಡುವುದಿಲ್ಲ. ಸ್ಟೀರಿಂಗ್ ಕೆಲಸ ಮಾಡುತ್ತದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸುವ ನಾಲ್ಕು ಹಸ್ತಾಂತರಗಳು ಮತ್ತು ಮೂರು ಆಯುಷ್ಯಗಳನ್ನು ಅನುಸರಿಸಿ.
ಹೆಸರುಗಳು ವಿಳಾಸಗಳಾಗಿ ಬಿಡಿಸಿಕೊಳ್ಳುತ್ತವೆ, ಮತ್ತು ಆ ವಿಳಾಸಗಳು ನಂತರ ರೂಟಿಂಗ್ನಲ್ಲಿ ಪ್ರಭಾವ ಬೀರುವ ಫೈರ್ವಾಲ್ ಸೆಟ್ಗೆ ಸೇರಬಹುದು, ಇದರಿಂದ ಪ್ರಾಕ್ಸಿ ಇಲ್ಲದೆ ಹೆಸರು ಆಧಾರಿತ ಸ್ಟೀರಿಂಗ್ ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಮುಳ್ಳು ಎಂದರೆ ನಾಲ್ಕು ಘಟಕಗಳು ಸರಿಯಾಗಿ ಹಸ್ತಾಂತರಿಸಬೇಕು: ರಿಜ಼ಾಲ್ವರ್, ಸೆಟ್, ಹೊಸ ಹರಿವನ್ನು ಗುರುತಿಸುವ ವರ್ಗೀಕರಣಕಾರ, ಮತ್ತು ಅದನ್ನು ಸಾಗಿಸುವ ಪೀರ್. ಪ್ರತಿ ಹಸ್ತಾಂತರವೂ ಬೇರೆ ರೀತಿಯಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಯೂ ತನ್ನದೇ ಸಮಯವನ್ನು ಇಟ್ಟುಕೊಳ್ಳುತ್ತದೆ.
ವಿನ್ಯಾಸವನ್ನು ಸಂರಚನೆ ಅಲ್ಲ, ಸರಪಳಿ ಎಂದು ಪರಿಗಣಿಸಿ. ಪ್ರತಿ ಹಂತದಲ್ಲಿನ ಪ್ರಶ್ನೆ ಎಂದರೆ ಯಾವ ಘಟಕ ನಿರ್ಧಾರವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಅದರ ಇನ್ಪುಟ್ ಇಲ್ಲದಿದ್ದರೆ ಏನಾಗುತ್ತದೆ.
DNS ಉತ್ತರ ಏನು ಮಾಡಬಹುದು ಮತ್ತು ಏನು ಮಾಡಲಾರದು
dnsmasq ಉತ್ತರಗಳಿಂದ ವಿಳಾಸಗಳನ್ನು nftables ಸೆಟ್ಗೆ ನಕಲಿಸಬಹುದು, ಇದು ಪೋಷಣೆ, ರೂಟಿಂಗ್ ನಿರ್ಧಾರವಲ್ಲ. ಆ ಆಯ್ಕೆ, dnsmasq ಕೈಪಿಡಿಯಲ್ಲಿ ದಾಖಲಾಗಿದ್ದು, ಕುಟುಂಬ, ಕೋಷ್ಟಕ ಮತ್ತು ಸೆಟ್ ಅನ್ನು ಹೆಸರಿಸುತ್ತದೆ, ಮತ್ತು ಅದರ ಮುಂಚಿನ 4# ಕೇವಲ A ದಾಖಲೆಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ v6 ಗಮ್ಯಸ್ಥಾನಗಳಿಗೆ ತಮ್ಮದೇ ವ್ಯವಸ್ಥೆ ಬೇಕು. ಸೆಟ್ ಈಗಾಗಲೇ ಇರಬೇಕು, ಏಕೆಂದರೆ ರಿಜ಼ಾಲ್ವರ್ ಫೈರ್ವಾಲ್ ಮಾಲೀಕರು ಸೃಷ್ಟಿಸಿದ್ದಕ್ಕೆ ಅಂಶಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ. ಆ ಹಂತದಲ್ಲಿ ಯಾವುದೂ ಇಂಟರ್ಫೇಸ್, ಕೋಷ್ಟಕ ಅಥವಾ ಪೀರ್ ಆಯ್ಕೆ ಮಾಡುವುದಿಲ್ಲ.
ಕ್ಲೈಂಟ್ ಕೂಡ ಹೆಸರಿಗೆ ಆ ರಿಜ಼ಾಲ್ವರ್ ಬಳಸಬೇಕು. ತನ್ನದೇ ಎನ್ಕ್ರಿಪ್ಟ್ ಆದ DNS ಹೊಂದಿರುವ ಅಪ್ಲಿಕೇಶನ್, ಅಥವಾ ನೀತಿಗಿಂತ ಮೊದಲಿನ ಕ್ಯಾಶ್ ಉತ್ತರ, ಸೆಟ್ನಲ್ಲಿ ಯಾವುದೇ ನಮೂದು ಮಾಡದೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ.
ಸೆಟ್ ಇನ್ಪುಟ್, ರೂಟ್ ಅಲ್ಲ
ಸೆಟ್ನಲ್ಲಿನ ಅಂಶವೊಂದು ಹೊಂದಾಣಿಕೆಯ ಷರತ್ತು. ಯಾವುದೋ ಅದನ್ನು ನೋಡಿ, ಈ ಪ್ಯಾಕೆಟ್ ಹೊಸ ಹರಿವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಎಂದು ನಿರ್ಧರಿಸಿ, ಹರಿವನ್ನು ಸುರಂಗದ ಮೂಲಕ ಕಳುಹಿಸುವ ನೀತಿಯನ್ನು ಅನ್ವಯಿಸಬೇಕು. Linux ನಲ್ಲಿ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಗುರುತು ಹಾಕಬಲ್ಲ ರೂಟ್ ಸಾಮರ್ಥ್ಯದ ಔಟ್ಪುಟ್ ಮಾರ್ಗ, ಗುರುತಿಸಿದ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಮೀಸಲು ಕೋಷ್ಟಕಕ್ಕೆ ಕಳುಹಿಸುವ ನಿಯಮ, ಮತ್ತು ಆ ಕೋಷ್ಟಕದಲ್ಲಿ WireGuard ಸಾಧನದ ಕಡೆ ತೋರಿಸುವ ರೂಟ್ ಎಂದರ್ಥ. ಕೇವಲ ಸದಸ್ಯತ್ವ ಇವುಗಳಲ್ಲಿ ಯಾವುದನ್ನೂ ಸ್ಥಾಪಿಸುವುದಿಲ್ಲ.
nft add set inet vpn_select office_v4 { type ipv4_addr\; }
ip rule add fwmark 0x40 table 200
ip route add default dev wg0 table 200
wg show wg0 allowed-ips
ಪೀರ್ ಜನರು ಮರೆಯುವ ಎರಡನೇ ಕವರೇಜ್ ಪರಿಶೀಲನೆಯನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ. WireGuard ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಅನುಮತಿಸಿದ ವಿಳಾಸಗಳಲ್ಲಿ ಗಮ್ಯಸ್ಥಾನವಿರುವ ಪೀರ್ಗೆ ಮಾತ್ರ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಪೀರ್ನ ಪಟ್ಟಿ ಆ ಪ್ರಿಫಿಕ್ಸ್ ಅನ್ನು ಹೊರಗಿಟ್ಟಾಗ ಇಂಟರ್ಫೇಸ್ಗೆ ನೀತಿ-ರೂಟ್ ಸಾಕಾಗುವುದಿಲ್ಲ. ಪಟ್ಟಿಯನ್ನು ಮ್ಯಾನೇಜರ್ ಆಕಸ್ಮಿಕವಾಗಿ ಮಾಡುವ ರೂಟ್ ಸೃಷ್ಟಿಯ ಮೇಲೆ ಅವಲಂಬಿಸದೆ ರೂಟಿಂಗ್ ಮಾಲೀಕರ ನಿಯಂತ್ರಣದಲ್ಲಿಡಿ.
ಗುರುತುಗಳು, ಕೋಷ್ಟಕಗಳು ಮತ್ತು ಪೀರ್ ಕವರೇಜ್
ಗುರುತುಗಳು ಹಂಚಿದ ಹೆಸರಿನ ಜಾಗ, ಆದ್ದರಿಂದ ಮೌಲ್ಯ ಮತ್ತು ಮಾಸ್ಕ್ ಎರಡನ್ನೂ ಅವುಗಳನ್ನು ಬಳಸುವ ಎಲ್ಲದರೊಂದಿಗೆ ಒಪ್ಪಬೇಕು. ಗುರುತಿಸಿದ ಟ್ರಾಫಿಕ್ ಅನ್ನು ಮೀಸಲು ಕೋಷ್ಟಕಕ್ಕೆ ಕಳುಹಿಸುವ ನಿಯಮಕ್ಕೆ ಆ ಕೋಷ್ಟಕದಲ್ಲಿ ಹೊಂದುವ ರೂಟ್ ಇಲ್ಲದಿದ್ದಾಗ ನಿರ್ದಿಷ್ಟ ಫಲಿತಾಂಶ ಬೇಕು, ಏಕೆಂದರೆ ಉತ್ತರವಿಲ್ಲದ ಹುಡುಕಾಟ ಮುಂದಿನ ನಿಯಮಕ್ಕೆ ಮುಂದುವರಿದು ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಭೌತಿಕ ಇಂಟರ್ಫೇಸ್ನಿಂದ ಹೊರಗೆ ಕಳುಹಿಸಬಹುದು. ಮೀಸಲು ಕೋಷ್ಟಕದ ಒಳಗಿನ blackhole ಡಿಫಾಲ್ಟ್ ರೂಟ್ ಆ ಶಾಂತ ಪಲಾಯನವನ್ನು ಕಾಣುವ ಬಿಟ್ಟುಬಿಡುವಿಕೆಯಾಗಿ ಬದಲಿಸುತ್ತದೆ. ವಿನ್ಯಾಸ ಇನ್ನೂ ಮಾಡಲಾರದ್ದು ಎಂದರೆ ಎಂದೂ ಸೆಟ್ಗೆ ಬಾರದ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ವಿಫಲತೆಯಲ್ಲಿ ಮುಚ್ಚಿಕೊಳ್ಳುವುದು.
ಸುರಂಗದ ಸ್ವಂತ ಹೊರ ಪ್ಯಾಕೆಟ್ಗಳು ವರ್ಗೀಕರಣಕಾರದಿಂದ ತಪ್ಪಿಸಿಕೊಳ್ಳಬೇಕು. WireGuard ಉಪಕರಣಗಳು ಅದೇ ಉದ್ದೇಶಕ್ಕಾಗಿ ಸಾಕೆಟ್ ಗುರುತನ್ನು ನೀಡುತ್ತವೆ, ಮತ್ತು ಅದರ ಬಳಕೆ ಎನ್ಕ್ಯಾಪ್ಸುಲೇಶನ್ ತಾನು ಕಟ್ಟುತ್ತಿರುವ ಇಂಟರ್ಫೇಸ್ಗೆ ಹಿಂತಿರುಗಿ ರೂಟ್ ಆಗುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಪ್ರತಿ ಆಯುಷ್ಯವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರೀಕ್ಷಿಸಿ
ಮೂರು ಭಂಡಾರಗಳು ಮೂರು ವೇಳಾಪಟ್ಟಿಗಳಲ್ಲಿ ಹಳೆಯುತ್ತವೆ: ರಿಜ಼ಾಲ್ವರ್ ಕ್ಯಾಶ್, ಸೆಟ್ನ ಅಂಶಗಳು ಮತ್ತು ಟ್ರ್ಯಾಕ್ ಆದ ಸಂಪರ್ಕ. ಅವನ್ನು ಆ ಕ್ರಮದಲ್ಲಿ ಪರೀಕ್ಷಿಸಿ ಮತ್ತು ಪ್ರತಿಯೂ ಬೇಕಾದಾಗ ಚಲಿಸುತ್ತದೆಯೇ ನೋಡಿ. ಕೆಳಗಿನ ಆದೇಶಗಳು ಏನನ್ನೂ ಬದಲಿಸದೆ ರಿಜ಼ಾಲ್ವರ್, ಸೆಟ್, ಸಂಪರ್ಕ ಕೋಷ್ಟಕ ಮತ್ತು ನೀತಿ ನಿಯಮಗಳನ್ನು ಓದುತ್ತವೆ.
dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show
ಅಂಶ ಸೇರಿಸುವ ತಾಜಾ ಹುಡುಕಾಟ ಪೋಷಣೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ, ತನ್ನ ಉತ್ತರಕ್ಕಿಂತ ಹೆಚ್ಚು ಬದುಕುವ ಹಳೆಯ ಅಂಶ ಆಯುಷ್ಯದ ಅಸಂಗತಿ, ಅದನ್ನು ಬರೆದಿಡುವುದು ಯೋಗ್ಯ. ಸಂಪರ್ಕ ಕೋಷ್ಟಕದಲ್ಲಿ ನಿರೀಕ್ಷಿತ ಗುರುತಿನೊಂದಿಗೆ ಹೊಸ ಸಂಪರ್ಕ ಕಾಣಿಸಿಕೊಳ್ಳುವುದು ವರ್ಗೀಕರಣಕಾರ ಓಡಿತು ಎಂದು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಹಳೆಯ ಸಂಪರ್ಕ ತನ್ನ ಮೂಲ ಗುರುತನ್ನು ಉಳಿಸಿಕೊಳ್ಳುವುದು ದೋಷವಲ್ಲ, ಸರಿಯಾದ ವರ್ತನೆ. ನಿಯಮಗಳ ಪಟ್ಟಿ ನೀತಿ-ಹುಡುಕಾಟ ಇದೆಯೇ ಎಂದು ಉತ್ತರಿಸುತ್ತದೆ, ಇದು ಅದು ಹೊಂದಿಕೆಯಾಯಿತೇ ಎಂಬುದಕ್ಕಿಂತ ಬೇರೆ ಪ್ರಶ್ನೆ. ನಾಲ್ಕು ಔಟ್ಪುಟ್ಗಳನ್ನು ಆ ಕ್ರಮದಲ್ಲಿ ಓದಿ, ವಿಫಲ ಹಸ್ತಾಂತರ ತಾನೇ ಗುರುತಿಸಿಕೊಳ್ಳುತ್ತದೆ.
ನಿರ್ದಿಷ್ಟ ಹೆಸರು ಯಾವಾಗಲೂ ಒಂದೇ ಮಾರ್ಗ ಬಳಸಬೇಕು ಎಂಬ ಅಗತ್ಯವಿದ್ದರೆ, DNS ನಿಂದ ಪೋಷಣೆ ಪಡೆಯುವ ಸೆಟ್ ಅದನ್ನು ಸಾಬೀತುಪಡಿಸಲಾರದು, ಏಕೆಂದರೆ ಹಂಚಿದ ವಿಳಾಸಗಳು ಬೇರೆ ಹೆಸರುಗಳನ್ನೂ ಹೊರುತ್ತವೆ. ಪ್ರಾಕ್ಸಿ ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ ಮಟ್ಟದ ಕಾರ್ಯವಿಧಾನವೇ ಆ ಭರವಸೆಯ ಸಾಧನ.