ಸುರಂಗ ಬೀಳುತ್ತದೆ, ಕಿಲ್ ಸ್ವಿಚ್ ಅದು ತೊಡಗಿಸಿಕೊಂಡಿದೆ ಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಡೌನ್ಲೋಡ್ ಮುಂದುವರಿಯುತ್ತದೆ. IPv4 ನಿಯಮಗಳಲ್ಲಿ ಏನೂ ಮುರಿದಿಲ್ಲ. ಅಪ್ಲಿಕೇಶನ್ ಕೇವಲ ಆ ನಿಯಮಗಳನ್ನು ಎಂದಿಗೂ ಬರೆಯದ ಮಾರ್ಗಕ್ಕೆ ಸರಿಯಿತು.

ಡ್ಯುಯಲ್-ಸ್ಟ್ಯಾಕ್ ಸಾಧನಗಳಿಗೆ ಎರಡು ಸ್ವತಂತ್ರ ನಿರ್ಗಮನ ಮಾರ್ಗಗಳಿವೆ. ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು ನಿರ್ಬಂಧಿಸುವುದು ಅರ್ಧ ನಿರ್ಬಂಧ.

ಎರಡು ನಿಯಮ ಗುಂಪುಗಳು, ಎರಡು ಡೀಫಾಲ್ಟ್ಗಳು

Linux ನಲ್ಲಿ, iptables ಮತ್ತು ip6tables ಪ್ರತ್ಯೇಕ ನೀತಿಗಳಿರುವ ಪ್ರತ್ಯೇಕ ಕೋಷ್ಟಕಗಳು. IPv4 ಕೋಷ್ಟಕದ INPUT ಮತ್ತು OUTPUT ಸರಪಳಿಗಳನ್ನು DROP ಗೆ ಹೊಂದಿಸುವುದು IPv6 ಕೋಷ್ಟಕದಲ್ಲಿ ಏನನ್ನೂ ಬದಲಿಸುವುದಿಲ್ಲ, ಅಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಸಾಮಾನ್ಯವಾಗಿ ACCEPT. ಅದೇ ವಿಭಜನೆ nftables ನಲ್ಲೂ ಇದೆ, ಅಲ್ಲಿ ನೀವು ಒಂದು ಕುಟುಂಬವನ್ನು ಪರಿಶೀಲಿಸಿ ನಿಮ್ಮ ನಿಯಮಗಳನ್ನು ಅವುಗಳಲ್ಲಿ ಒಂದೇ ಹೊತ್ತಿದೆ ಎಂದು ಕಂಡುಕೊಳ್ಳಬಹುದು. ಆ ಅಸಮಮಿತಿ ಸಾಮಾನ್ಯ, ಮತ್ತು ಇಡೀ ಸಮಸ್ಯೆ ಅದೇ.

ಅದಕ್ಕೇ ಕಿಲ್ ಸ್ವಿಚ್ ಸಂಪೂರ್ಣವಾಗಿ ಕಾಣಿಸಬಹುದು ಮತ್ತು ಭಾಗಶಃ ವರ್ತಿಸಬಹುದು. IPv4 ನಿಯಮಗಳನ್ನು ಬರೆದ ಸ್ಕ್ರಿಪ್ಟ್ ಓಡಿತು, ಕೌಂಟರ್ಗಳು ಹೆಚ್ಚಾಗುತ್ತವೆ, ಲಾಗ್ ಸಾಲು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು IPv6 ಪ್ಯಾಕೆಟ್ ಭೌತಿಕ ಇಂಟರ್ಫೇಸ್ನಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ಅಸ್ಪೃಶ್ಯವಾಗಿ ಹೊರಡುತ್ತದೆ.

ನಿಮ್ಮ ಕ್ಲೈಂಟ್ ನಿಜವಾಗಿ ಏನನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಓದಿ, ಮಾರ್ಕೆಟಿಂಗ್ ಪುಟ ಏನು ಭರವಸೆ ನೀಡುತ್ತದೆ ಎಂಬುದನ್ನಲ್ಲ. ಕೆಲವು ಕ್ಲೈಂಟ್ಗಳು IPv6 ಅನ್ನು ಸುರಂಗಕ್ಕೆ ರೂಟ್ ಮಾಡುತ್ತವೆ, ಕೆಲವು ಅದನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ನಿರ್ಬಂಧಿಸುತ್ತವೆ, ಮತ್ತು ಇನ್ನು ಕೆಲವು ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮಟ್ಟದ ಲಾಕ್ಡೌನ್ ಬೇರೆ ನಿಯಮವನ್ನು ಜಾರಿಗೊಳಿಸುತ್ತಿರುವಾಗ ಅದನ್ನು ಹಾಗೆಯೇ ಬಿಡುತ್ತವೆ. ಇಲ್ಲಿ ವಿಶ್ವಾಸಾರ್ಹವಾದ ಏಕೈಕ ಮೂಲ ವೆಂಡರ್ ದಸ್ತಾವೇಜು.

ಇಂಟರ್ಫೇಸ್ ಸಂರಚನೆ ನಿಮಗೆ ಏನು ಹೇಳುತ್ತದೆ

wg-quick ನ ಕೈಪಿಡಿ ಪುಟ ತನ್ನ ಉದಾಹರಣೆ ಸಂರಚನೆಯಲ್ಲಿ IPv6 ನಿಯಮಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಮತ್ತು ಕಾರಣ ನಿಖರವಾಗಿ ಈ ಅಂತರ. ಉದಾಹರಣೆ ಅಲಂಕಾರವಲ್ಲ. ಅದು ಇರುವುದು ಏಕೆಂದರೆ ಕೇವಲ IPv4 ನಿಯಮಗಳು ಎರಡನೇ ಕುಟುಂಬವನ್ನು ತೆರೆದಿಡುತ್ತಿದ್ದವು.

ಉದಾಹರಣೆಯ ಅರ್ಧವನ್ನು ನಕಲಿಸುವುದು ನೀತಿಯ ಅರ್ಧವನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಇದು ಈ ಸೋರಿಕೆಯ ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಮೂಲ. ಒಂದು ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ ಉದ್ದಕ್ಕಾಗಿ ಉದಾಹರಣೆಯನ್ನು ಕತ್ತರಿಸಿತು. ನಂತರ ಕತ್ತರಿಸಿದ ಆವೃತ್ತಿಯೇ ಎಲ್ಲರೂ ಮತ್ತೆ ಬಳಸಿದ ಟೆಂಪ್ಲೇಟ್ ಆಯಿತು.

# what is actually installed, per family?
sudo iptables -S OUTPUT | head -20
sudo ip6tables -S OUTPUT | head -20

# nftables: inspect each family separately
sudo nft list ruleset inet | head -40

# does this host even have a usable IPv6 path?
ip -6 route show default

ಎರಡನೇ ಆದೇಶ ಅನುಮತಿಸುವ ನೀತಿಯನ್ನು ಮುದ್ರಿಸುತ್ತಿದ್ದರೆ ಮತ್ತು ಮೊದಲನೇಯದು DROP ಮುದ್ರಿಸುತ್ತಿದ್ದರೆ, ಕ್ಲೈಂಟ್ ಮುಟ್ಟದೆಯೇ ನೀವು ಉತ್ತರವನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೀರಿ. ಆ ಅಸಮಮಿತಿಯೇ ದೋಷ.

ಒಂದು ಹುಡುಕಾಟವೇ ಇಡೀ ಕಥೆ ಏಕೆ ಅಲ್ಲ

ಒಂದು ಹೆಸರು A ದಾಖಲೆ ಮತ್ತು AAAA ದಾಖಲೆ ಎರಡನ್ನೂ ಹಿಂತಿರುಗಿಸಬಹುದು, ಮತ್ತು ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಒಂದೇ ರೀತಿ ಆಯ್ಕೆ ಮಾಡುವುದಿಲ್ಲ. ನೆಟ್ವರ್ಕ್ IPv6 ನೀಡಿದಾಗ ಬ್ರೌಸರ್ ಅದನ್ನು ಆದ್ಯತೆ ನೀಡಬಹುದು ಮತ್ತು ವಿಫಲವಾದಾಗ ಹಿಂತಿರುಗಬಹುದು, ಆದರೆ ಹಿನ್ನೆಲೆ ಸಿಂಕ್ ಅಥವಾ ಅಪ್ಡೇಟರ್ ತನ್ನದೇ ಸಾಧಕ ಮತ್ತು ತನ್ನದೇ ಆದ್ಯತೆಯನ್ನು ಬಳಸುತ್ತದೆ. ಆದ್ದರಿಂದ IPv4 ಮೇಲಿನ ಒಂದು ಯಶಸ್ವಿ ಪರೀಕ್ಷೆ ಒಂದು ಮಾರ್ಗವನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ, ನೀತಿಯನ್ನಲ್ಲ.

ನೆಟ್ವರ್ಕ್ ಪರಿವರ್ತನೆಗಳು ಸಹ ಉತ್ತರವನ್ನು ಬದಲಿಸುತ್ತವೆ. ಬೇರೆ Wi-Fi ನೆಟ್ವರ್ಕ್ಗೆ ಸೇರುವುದು, ನಿದ್ರೆಯಿಂದ ಎದ್ದೇಳುವುದು ಅಥವಾ ಮೊಬೈಲ್ಗೆ ಬದಲಾಗುವುದು ಸಾಧನಕ್ಕೆ ಹೊಸ IPv6 ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ನೀಡಬಹುದು, ಮತ್ತು ಕಚೇರಿ LAN ನಲ್ಲಿ ಸಾಕಷ್ಟು ಕಂಡ ನೀತಿ ಅದನ್ನು ಆವರಿಸದೇ ಇರಬಹುದು.

ಸುರಂಗ ಆಫ್ ಇರುವ ಸ್ಥಿತಿಯನ್ನು ಪರೀಕ್ಷಿಸಿ

ಸಂಪರ್ಕದಲ್ಲಿರುವಾಗ ಪರೀಕ್ಷಿಸುವುದು ಸುರಂಗ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಹೇಳುತ್ತದೆ. ಆಸಕ್ತಿದಾಯಕ ಪರೀಕ್ಷೆ ಲಭ್ಯವಿಲ್ಲದ ಸ್ಥಿತಿ, ಏಕೆಂದರೆ ಆಗಲೇ ಕಿಲ್ ಸ್ವಿಚ್ ತಡೆದುಕೊಳ್ಳಬೇಕು. ಸುರಂಗವನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ನಿಲ್ಲಿಸಿ, ನಂತರ ನೀವು ರಕ್ಷಿಸುತ್ತಿರುವ ಅಪ್ಲಿಕೇಶನ್ನಿಂದ ಮುಖ್ಯ ಗಮ್ಯಸ್ಥಾನಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿ.

# with the tunnel stopped, does anything still leave?
ip -6 route get 2606:4700:4700::1111
curl -6 -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://ipv6.example.net/
curl -4 -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://ipv4.example.net/

ಎರಡೂ ಕುಟುಂಬಗಳು ಮುಚ್ಚಿದ ಸ್ಥಿತಿಯಲ್ಲಿ ವಿಫಲವಾಗಬೇಕು. IPv4 ವಿನಂತಿಯು ಸಮಯ ಮೀರಿದರೆ ಮತ್ತು IPv6 ವಿನಂತಿಯು ಸ್ಥಿತಿ ಕೋಡ್ ಹಿಂತಿರುಗಿಸಿದರೆ, ನೀತಿ ಅಪೂರ್ಣವಾಗಿದೆ, ಮತ್ತು ಸುರಂಗವನ್ನು ಎಷ್ಟೇ ಮತ್ತೆ ಪರೀಕ್ಷಿಸಿದರೂ ಅದು ಬದಲಾಗದು.

ಆ ಪರೀಕ್ಷೆಯಲ್ಲಿ ದಾಖಲಿತ ವಿನಾಯಿತಿಗಳನ್ನೂ ಇರಿಸಿಕೊಳ್ಳಿ. ಸ್ಥಳೀಯ ನೆಟ್ವರ್ಕ್ ಶೋಧನೆ, DHCP ನವೀಕರಣ ಅಥವಾ VPN ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಬೂಟ್ಸ್ಟ್ರಾಪ್ ಮಾರ್ಗವು ತಲುಪಬಹುದಾಗಿ ಉಳಿಯಬೇಕಾಗಬಹುದು, ಮತ್ತು ಆ ವಿನಾಯಿತಿಗಳನ್ನು ನೀತಿಯಲ್ಲಿ ಹೆಸರಿಸಬೇಕು, ಅಡಚಣೆಯ ಸಮಯದಲ್ಲಿ ಕಂಡುಹಿಡಿಯುವ ಬದಲು. ಸುರಂಗ ಮತ್ತೆ ಏಳಲು ಸಾಧ್ಯವಿಲ್ಲದ ಕಾರಣ ವಿಫಲವಾಗುವ ಸೋರಿಕೆ ಪರೀಕ್ಷೆ ಭದ್ರತಾ ಸಂಶೋಧನೆಯಲ್ಲ, ಅದು ಸಂಪರ್ಕ ಸಂಶೋಧನೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು