OpenVPN ಸುರಂಗದ ಮೂಲಕ IPv6: ಮನೆಯ ರೌಟರ್ಗಾಗಿ ಹಂತ ಹಂತದ ಮಾರ್ಗದರ್ಶಿ
ಸುರಂಗವು ರೌಟರ್ ರೂಟ್ ಮಾಡಲಾಗದ ಪ್ರಿಫಿಕ್ಸ್ ನೀಡಿದಾಗ IPv6 ಸಾಯುತ್ತದೆ ಅಥವಾ ಸೋರುತ್ತದೆ. ಕ್ಲೈಂಟ್, ಪೂಲ್, ಫಾರ್ವರ್ಡಿಂಗ್, ಪ್ರಾಕ್ಸಿ NDP ಮತ್ತು ಹಿಂತಿರುಗುವ ಮಾರ್ಗವನ್ನು ಕ್ರಮವಾಗಿ ನೋಡಿ.
ಲ್ಯಾಪ್ಟಾಪ್ಗೆ IPv6 ವಿಳಾಸವಿದೆ, ಸುರಂಗ IPv4 ಮೇಲೆ ಚಾಲನೆಯಲ್ಲಿದೆ, ಆದರೂ ಪ್ರತಿ IPv6 ಪರೀಕ್ಷೆಯೂ ವಿಫಲವಾಗುತ್ತದೆ. ಅಥವಾ ಇನ್ನೂ ಕೆಟ್ಟದ್ದು: ಪರೀಕ್ಷೆ ಯಶಸ್ವಿಯಾಗುತ್ತದೆ ಮತ್ತು ಸಂಚಾರವು ಸುರಂಗವನ್ನು ಪ್ರವೇಶಿಸದೆಯೇ ISP ಮಾರ್ಗದಿಂದ ಹೊರಟುಹೋಗುತ್ತದೆ. ಎರಡೂ ಫಲಿತಾಂಶಗಳು ಒಂದೇ ಕಾಣೆಯಾದ ನಿರ್ಣಯಕ್ಕೆ ಮರಳುತ್ತವೆ: ಯಾರೂ ರೌಟರ್ಗೆ ಕ್ಲೈಂಟ್ಗಳ ಕಡೆಗೆ ರೂಟ್ ಮಾಡಬಹುದಾದ ಪ್ರಿಫಿಕ್ಸ್ ನೀಡಲಿಲ್ಲ. ಕ್ಲೈಂಟ್ನಿಂದ ಹೊರಕ್ಕೆ ಮಾರ್ಗವನ್ನು ನಡೆದರೆ ಯಾವ ಭಾಗ ಕಾಣೆಯಾಗಿದೆ ಎಂದು ತಿಳಿಯುತ್ತದೆ.
ಕ್ಲೈಂಟ್ ಇರುವಲ್ಲಿಂದಲೇ ಆರಂಭಿಸಿ
ಸರ್ವರ್ ಮುಟ್ಟುವ ಮೊದಲು ಕ್ಲೈಂಟ್ ನೋಡಿ. ip -6 addr ಪೂಲ್ನಿಂದ ಸುರಂಗ ವಿಳಾಸವನ್ನು ತೋರಿಸಬೇಕು, ಮತ್ತು ip -6 route ಸುರಂಗ ಸಾಧನದ ಕಡೆಗೆ ತೋರಿಸುವ ತಳ್ಳಲಾದ ಪ್ರಿಫಿಕ್ಸ್ ತೋರಿಸಬೇಕು. ವಿಳಾಸ ಇದ್ದು ಮಾರ್ಗ ಇಲ್ಲದಿದ್ದರೆ, ತಳ್ಳುವಿಕೆ ಕಾಣೆಯಾಗಿದೆ ಅಥವಾ ಕ್ಲೈಂಟ್ ಅದನ್ನು ನಿರ್ಲಕ್ಷಿಸಿದೆ. ಎರಡೂ ಇಲ್ಲದಿದ್ದರೆ, ಸರ್ವರ್ ಏನನ್ನೂ ಹಂಚಿಲ್ಲ.
ನಂತರ ಕ್ಲೈಂಟ್ ಹೊರಗಿನ ಜಗತ್ತಿನ ಬಗ್ಗೆ ಏನು ನಂಬುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಸುರಂಗದ ಮೇಲಿನ ಡೀಫಾಲ್ಟ್ ಮಾರ್ಗ ಎಲ್ಲಾ IPv6 ಸಂಚಾರವನ್ನು ಕ್ಲೈಮ್ ಮಾಡುತ್ತದೆ, ಆದರೆ 2000::/3 ಗಾಗಿ ಮಾರ್ಗ ಕೇವಲ ಜಾಗತಿಕ ಯುನಿಕಾಸ್ಟ್ ಅನ್ನು ಕ್ಲೈಮ್ ಮಾಡುತ್ತದೆ. ಎರಡೂ ಸರಿಯಾಗಿರಬಹುದು, ಮತ್ತು ಅವು ಸೋರಿಕೆಯ ಬಗ್ಗೆ ಬೇರೆ ಬೇರೆ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸುತ್ತವೆ.
ಯಾವುದೇ IPv6 ಡೀಫಾಲ್ಟ್ ಇಲ್ಲದ ಕ್ಲೈಂಟ್ ಪ್ರತಿ ಸಾರ್ವಜನಿಕ ಪರೀಕ್ಷೆಯಲ್ಲೂ ವಿಫಲವಾಗುತ್ತದೆ, ಆದರೆ ಸುರಂಗ ಸ್ವತಃ ಸಂಪೂರ್ಣ ಆರೋಗ್ಯವಾಗಿರುತ್ತದೆ. ಅದು ನೀತಿಯ ಕೊರತೆ, ಮುರಿದ ಸುರಂಗವಲ್ಲ.
ಸರ್ವರ್ ನಿಜವಾಗಿ ರೂಟ್ ಮಾಡಬಲ್ಲ ಪೂಲ್ ಪರಿಶೀಲಿಸಿ
ಸರ್ವರ್ ನಿಜವಾಗಿ ನಿಯಂತ್ರಿಸುವ ಪ್ರಿಫಿಕ್ಸ್ನಿಂದ ಮಾತ್ರ ಹಂಚಬಹುದು. ISP ಒಂದು /56 ನಿಯೋಜಿಸಿದರೆ, ಸುರಂಗಕ್ಕೆ ಒಂದು /64 ಕಾಯ್ದಿರಿಸಿ, ಉಳಿದದ್ದನ್ನು LAN ಗೆ ಬಿಡಿ. ISP WAN ನಲ್ಲಿ ಒಂದೇ /64 ನೀಡಿ ಮುಂದೆ ಏನನ್ನೂ ರೂಟ್ ಮಾಡದಿದ್ದರೆ, LAN ಪ್ರಿಫಿಕ್ಸ್ ಅನ್ನು ಹಾಗೆಯೇ ಬಿಟ್ಟು ಸುರಂಗಕ್ಕೆ ವಿಶಿಷ್ಟ ಸ್ಥಳೀಯ ಶ್ರೇಣಿ ನೀಡಿ, ಕ್ಲೈಂಟ್ಗಳಿಗೆ ಜಾಗತಿಕ ನಿರ್ಗಮನ ಇರುವುದಿಲ್ಲ ಎಂದು ಒಪ್ಪಿಕೊಳ್ಳಿ.
ಪೂಲ್ ಮತ್ತು ತಳ್ಳುವಿಕೆ ಒಟ್ಟಿಗೆ ಸಾಗುತ್ತವೆ. server-ipv6 2001:db8:80:10::/64 ವಿಳಾಸಗಳನ್ನು ಹಂಚುತ್ತದೆ, ಮತ್ತು push "route-ipv6 2000::/3" ಕ್ಲೈಂಟ್ಗಳಿಗೆ ಸುರಂಗಕ್ಕೆ ಏನು ಕಳುಹಿಸಬೇಕೆಂದು ಹೇಳುತ್ತದೆ. 2000::/3 ತಳ್ಳುವುದು ಜಾಗತಿಕ ಯುನಿಕಾಸ್ಟ್ ಅನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು link-local ಹಾಗೂ multicast ಶ್ರೇಣಿಗಳನ್ನು ಸುರಂಗದ ಹೊರಗೆ ಬಿಡುತ್ತದೆ.
ಆಯ್ಕೆ ಮಾಡಿದ ಪ್ರಿಫಿಕ್ಸ್ ಅನ್ನು ನಿಯೋಜನೆ ದಾಖಲೆಯಲ್ಲಿ ಬರೆಯಿರಿ. ಮುಂದಿನ ಬಾರಿ ISP ಹಸ್ತಾಂತರವನ್ನು ಬದಲಿಸುವವರು ಸುರಂಗ ಈಗಾಗಲೇ ಯಾವ /64 ಆಕ್ರಮಿಸಿದೆ ಎಂದು ತಿಳಿಯಬೇಕು.
ಎರಡನೇ ಕುಟುಂಬಕ್ಕೆ ಫಾರ್ವರ್ಡಿಂಗ್ ಆನ್ ಮಾಡಿ
IPv4 ಫಾರ್ವರ್ಡಿಂಗ್ ಎಂದರೆ IPv6 ಫಾರ್ವರ್ಡಿಂಗ್ ಅಲ್ಲ. net.ipv6.conf.all.forwarding=1 ಸೆಟ್ ಮಾಡಿ ಮತ್ತು IPv4 FORWARD ನೀತಿ ಈಗಾಗಲೇ ಅನುಮತಿಸುವುದೆಲ್ಲವನ್ನೂ ಪ್ರತಿಬಿಂಬಿಸಿ. FORWARD ಸರಪಳಿ ಡೀಫಾಲ್ಟ್ ಆಗಿ ಬಿಡುವ ರೌಟರ್ನಲ್ಲಿ, ನಿಯಮಗಳ ಗುಂಪು ಕಾಣೆಯಾಗಿರುವುದು ಸತ್ತ ಸುರಂಗದಂತೆಯೇ ಕಾಣುತ್ತದೆ.
ಹ್ಯಾಂಡ್ಶೇಕ್ ಯಶಸ್ವಿಯಾಗುತ್ತದೆ, ಕ್ಲೈಂಟ್ ವಿಳಾಸ ಪಡೆಯುತ್ತದೆ, ಮತ್ತು ಹಿಂತಿರುಗಿ ಏನೂ ಬರುವುದಿಲ್ಲ. ಎರಡೂ ದಿಕ್ಕುಗಳಿಗೆ ಮತ್ತು WAN ಭಾಗಕ್ಕೆ ನಿಯಮಗಳನ್ನು ಸೇರಿಸಿ, ಏಕೆಂದರೆ LAN ತಲುಪಿ ಇಂಟರ್ನೆಟ್ ತಲುಪದ ಸುರಂಗ ಮೂರನೇ ಪರೀಕ್ಷೆಯಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ. ವಿಫಲ ಪ್ರಯತ್ನದ ನಂತರ ಸರಪಳಿಯ ಕೌಂಟರ್ಗಳನ್ನು ನೋಡಿ, ಏಕೆಂದರೆ ಎಂದೂ ಹೊಂದಿಕೆಯಾಗದ ನಿಯಮವು ಹೊಂದಿಕೆಯಾಗಿ ಬಿಟ್ಟ ನಿಯಮಕ್ಕಿಂತ ಬೇರೆ ಸಮಸ್ಯೆ.
ip6tables -A FORWARD -i br0 -o tun0 -j ACCEPT
ip6tables -A FORWARD -i tun0 -o br0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -i tun0 -o wan0 -j ACCEPT
ಒಂದು ಅಡ್ಡಪರಿಣಾಮವು ಕೊನೆಗೆ ಸುರಂಗವನ್ನೇ ದೂಷಿಸುವವರನ್ನು ಹಿಡಿಯುತ್ತದೆ. ಫಾರ್ವರ್ಡಿಂಗ್ ಆನ್ ಮಾಡಿದಾಗ ಕೆರ್ನೆಲ್ ರೌಟರ್ ಜಾಹೀರಾತಿನ ಮೂಲಕ ವಿಳಾಸ ಸಂರಚನೆಯನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ, ಬೇರೆ ರೀತಿ ಹೇಳದಿದ್ದರೆ, ಮತ್ತು ಹಾಗೆ ಕಲಿತ ಡೀಫಾಲ್ಟ್ ಮಾರ್ಗ ಅದರೊಂದಿಗೆ ಮಾಯವಾಗುತ್ತದೆ. ಒಂದೋ WAN ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಸ್ಪಷ್ಟ ಡೀಫಾಲ್ಟ್ ಮಾರ್ಗವನ್ನು ಪಿನ್ ಮಾಡಿ, ಅಥವಾ ಅಲ್ಲಿ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ accept_ra ಅನ್ನು 2 ಗೆ ಹೊಂದಿಸಿ. ಯಾವುದೇ ಬದಲಾವಣೆಯ ನಂತರ, ಕ್ಲೈಂಟ್ಗಳನ್ನು ಮತ್ತೆ ಪರೀಕ್ಷಿಸುವ ಮೊದಲು ರೌಟರ್ಗೆ ಇನ್ನೂ ಬಳಸಬಹುದಾದ IPv6 ಮಾರ್ಗ ಹೊರಕ್ಕೆ ಇದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ.
ಮೇಲ್ಭಾಗವು ರೂಟ್ ಮಾಡದಿದ್ದಾಗ ನೆರೆಹೊರೆ ಅನ್ವೇಷಣೆಗೆ ಉತ್ತರಿಸಿ
ಮೇಲ್ಭಾಗದ ಸಾಧನಗಳು ಕೆಲವೊಮ್ಮೆ ನಿಯೋಜಿತ /64 ಅನ್ನು ತಮ್ಮದೇ ಲಿಂಕ್ನದ್ದು ಎಂದು ಪರಿಗಣಿಸಿ VPN ಬಾಕ್ಸ್ಗೆ ಯಾವುದೇ ಉಪ-ಪ್ರಿಫಿಕ್ಸ್ ರೂಟ್ ಮಾಡಲು ನಿರಾಕರಿಸುತ್ತವೆ. ಹಾಗಾದಾಗ, ಪ್ರತಿ ಕ್ಲೈಂಟ್ ವಿಳಾಸಕ್ಕೂ ಪ್ರತ್ಯೇಕವಾಗಿ ನೆರೆಹೊರೆ ವಿನಂತಿಗಳಿಗೆ ಏನಾದರೂ ಉತ್ತರಿಸಬೇಕು.
OpenVPN ಹಂಚಿದ ವಿಳಾಸವನ್ನು client-connect ಹುಕ್ಗೆ ಒಡ್ಡುತ್ತದೆ, ಆದ್ದರಿಂದ ನಮೂದುಗಳು ಕೈಯಿಂದ ನಿರ್ವಹಿಸುವ ಪಟ್ಟಿಯ ಬದಲು ನಿಜವಾದ ಪೂಲ್ ಅನ್ನು ಅನುಸರಿಸಬಹುದು. ಹುಕ್ ip -6 neigh add proxy $ifconfig_pool_remote_ip6 dev eth0 ಸೇರಿಸುತ್ತದೆ, ಮತ್ತು ಹೊಂದುವ client-disconnect ಹುಕ್ ಅದನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ತೆಗೆಯದಿದ್ದರೆ ಪ್ರಾಕ್ಸಿ ಕೋಷ್ಟಕ ಹಳೆಯದಾಗುತ್ತದೆ ಮತ್ತು ನಂತರದ ಕ್ಲೈಂಟ್ ತಾನು ಎಂದೂ ಪಡೆಯದ ವಿಳಾಸದ ನಮೂದನ್ನು ವಾರಸುದಾರನಾಗಿ ಪಡೆಯಬಹುದು. ip -6 neigh show proxy ನಿಂದ ಸ್ಥಿತಿ ಖಚಿತಪಡಿಸಿ.
ಪ್ರಾಕ್ಸಿಯನ್ನು ತಾತ್ಕಾಲಿಕ ಪರಿಹಾರವೆಂದು ಪರಿಗಣಿಸಿ. ಸುರಂಗದ /64 ಗೆ ರೌಟರ್ ಕಡೆಗೆ ತೋರಿಸುವ ಸ್ಥಿರ ಮಾರ್ಗವು ಕ್ಲೈಂಟ್ ಬದಲಾವಣೆಗಳನ್ನು ತಾಳಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ವಿಶೇಷಾಧಿಕಾರದ ಶೆಲ್ ಹುಕ್ ಅಗತ್ಯವೇ ಇಲ್ಲ.
ಹೊರಕ್ಕೆ ಮಾರ್ಗವನ್ನು ಅನುಸರಿಸಿ, ಒಂದೊಂದು ಹಾಪ್
ಮೂರು ಹಂತಗಳಲ್ಲಿ ಹೊರಕ್ಕೆ ಪರೀಕ್ಷಿಸಿ: ಮೊದಲು ರೌಟರ್ನ ಸುರಂಗ ವಿಳಾಸ, ನಂತರ LAN ಹೋಸ್ಟ್, ಮತ್ತು ಮೂರನೆಯದಾಗಿ traceroute6 ಮೂಲಕ ಸಾರ್ವಜನಿಕ ಗಮ್ಯಸ್ಥಾನ. ಪೂಲ್ ಮೊದಲನೆಯದರಿಂದ ಸಾಬೀತಾಗುತ್ತದೆ, ಫಾರ್ವರ್ಡಿಂಗ್ ಮತ್ತು LAN ಫೈರ್ವಾಲ್ ಎರಡನೆಯದರಿಂದ, ಮತ್ತು ಮೇಲ್ಭಾಗದ ಮೂಲಕ ಹಿಂತಿರುಗುವ ಮಾರ್ಗ ಮೂರನೆಯದರಿಂದ. ಪ್ರತಿ ವೈಫಲ್ಯವೂ ಇಡೀ ವಿನ್ಯಾಸವನ್ನು ಮತ್ತೆ ತೆರೆಯುವ ಬದಲು ಹುಡುಕಾಟವನ್ನು ಒಂದೇ ಸಾಧನಕ್ಕೆ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ.
ಸುರಂಗದ MTU ನೋಡಿಕೊಳ್ಳಿ, ಏಕೆಂದರೆ ಮಾರ್ಗದಲ್ಲಿನ IPv6 ರೌಟರ್ಗಳು ನಿಮಗಾಗಿ ವಿಭಜಿಸುವುದಿಲ್ಲ. ತುಂಬಾ ದೊಡ್ಡ MTU ಸ್ವಚ್ಛ ವೈಫಲ್ಯದ ಬದಲು packet-too-big ದೋಷ ಮತ್ತು ನಿಂತ TLS ಆಗಿ ಕಾಣಿಸುತ್ತದೆ. ಅದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೆಟ್ ಮಾಡಿ ಮತ್ತು ಮಿತಿಗೆ ಹತ್ತಿರವಿರುವ ಪೇಲೋಡ್ನೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಿ.