ತನ್ನದೇ ಹೊರಹೋಗುವ ಸಂಚಾರವನ್ನು ಮಾತ್ರ ರಕ್ಷಿಸಬೇಕಾದ Raspberry Pi ಗೆ ಎರಡು ವಾಸ್ತವಿಕ ವಿನ್ಯಾಸಗಳಿವೆ: ನೆಟ್ವರ್ಕ್ ನಿರ್ವಾಹಕರಿಗೆ ಸುರಂಗವನ್ನು ಹೊಂದಲು ಬಿಡಿ, ಅಥವಾ ಅದನ್ನು ಹೊಂದಿರುವ ಸ್ಕ್ರಿಪ್ಟ್ ಇಟ್ಟುಕೊಳ್ಳಿ. ಎರಡೂ ಸಂಚಾರವನ್ನು ಸಾಗಿಸಬಲ್ಲವು. ಅವು ಬೇರೆ ಬೇರೆ ಕಡೆ ವಿಫಲವಾಗುತ್ತವೆ, ಮತ್ತು ರಾತ್ರಿ ಎರಡು ಗಂಟೆಗೆ ದೂರದಿಂದ ನೀವು ನಿರ್ಣಯಿಸಬಹುದಾದ ವೈಫಲ್ಯವೇ ಆಯ್ಕೆ ಮಾಡಲು ಯೋಗ್ಯವಾದದ್ದು. ಮಾಲೀಕತ್ವದ ಮೇಲೆ, IPv6 ಮತ್ತು DNS ಒಳಗೊಂಡಾಗ ಪೂರ್ಣ ಸುರಂಗ ಎಂದರೇನು ಎಂಬುದರ ಮೇಲೆ, ಮತ್ತು ಸುರಂಗ ಬೀಳುವ ಕ್ಷಣ ಏನಾಗುತ್ತದೆ ಎಂಬುದರ ಮೇಲೆ ಅವನ್ನು ಹೋಲಿಸಿ.

ಒಂದು ಸುರಂಗಕ್ಕೆ ಇಬ್ಬರು ಮಾಲೀಕರು

ವಿನ್ಯಾಸ A ಎಂಬುದು ಸಿಸ್ಟಮ್ನ ನೆಟ್ವರ್ಕ್ ನಿರ್ವಾಹಕರ ಒಳಗಿನ ಪ್ರೊಫೈಲ್: ಆಮದು ಮಾಡಿದ OpenVPN ಪ್ರೊಫೈಲ್ ಅಥವಾ ಸ್ಥಳೀಯ WireGuard ಸಂಪರ್ಕ, ಬೂಟ್ನಲ್ಲಿ Ethernet ಮತ್ತು Wi-Fi ಅನ್ನು ಎತ್ತುವ ಅದೇ ಸೇವೆಯಿಂದ ಸಕ್ರಿಯಗೊಳ್ಳುತ್ತದೆ. ವಿನ್ಯಾಸ B ಎಂಬುದು ನಿಮ್ಮದೇ ಘಟಕ, ಇದು ಕ್ಲೈಂಟ್ ಅನ್ನು ನೇರವಾಗಿ ಚಲಾಯಿಸುತ್ತದೆ, ರಿಸಾಲ್ವರ್ ಸಂರಚನೆಯನ್ನು ಸಂಪಾದಿಸುತ್ತದೆ ಮತ್ತು ತನ್ನದೇ ಮಾರ್ಗಗಳು ಹಾಗೂ ಫೈರ್ವಾಲ್ ನಿಯಮಗಳನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ.

ಮಾಲೀಕರು ಬೇರೆ ಬೇರೆಯಾದ್ದರಿಂದ ವೈಫಲ್ಯಗಳು ಬೇರೆ ಬೇರೆ. A ನಲ್ಲಿ, ಸಕ್ರಿಯಗೊಳ್ಳದ ಪ್ರೊಫೈಲ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಮೇಲೆ ಮತ್ತು ಸುರಂಗವನ್ನು ಕೆಳಗೆ ಬಿಡುತ್ತದೆ, ಮತ್ತು ನಿರ್ವಾಹಕರ ಲಾಗ್ಗಳು ಏಕೆ ಎಂದು ಹೇಳುತ್ತವೆ. B ನಲ್ಲಿ, ಅರ್ಧ ಯಶಸ್ವಿಯಾದ ಸ್ಕ್ರಿಪ್ಟ್ ಅವನ್ನು ಸೃಷ್ಟಿಸಿದ ಪ್ರಕ್ರಿಯೆಯ ನಂತರವೂ ಉಳಿಯುವ ಮಾರ್ಗಗಳನ್ನು ಬಿಟ್ಟು ಹೋಗುತ್ತದೆ. ಎರಡನ್ನೂ ಚಲಾಯಿಸುವುದು ಅತ್ಯಂತ ಕೆಟ್ಟ ಫಲಿತಾಂಶ: ಎರಡು ಪ್ರಕ್ರಿಯೆಗಳು ಡಿಫಾಲ್ಟ್ ಮಾರ್ಗವನ್ನು ಬರೆಯುತ್ತವೆ, ಬೂಟ್ನಲ್ಲಿ ಎರಡು ರಿಸಾಲ್ವರ್ ಸಂಪಾದನೆಗಳು ಸ್ಪರ್ಧಿಸುತ್ತವೆ, ಮತ್ತು ತಿರುಗಿಸಲು ಎರಡು ರಹಸ್ಯ ಗುಂಪುಗಳು.

ಪ್ರತಿ ಸುರಂಗಕ್ಕೆ ಒಬ್ಬ ಮಾಲೀಕರನ್ನು ಆರಿಸಿ ಮತ್ತು ಏನನ್ನೂ ಪರೀಕ್ಷಿಸುವ ಮೊದಲು ಇನ್ನೊಬ್ಬರನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ. ಇಬ್ಬರು ಮಾಲೀಕರು ಎಂದರೆ ಸುರಂಗ ಮೇಲಿರುವಾಗ ಮತ್ತು ಏನೂ ಪರಿಹಾರವಾಗದಿದ್ದಾಗ ನೋಡಲು ಎರಡು ಸ್ಥಳಗಳು ಎಂದರ್ಥ. ಈ ಒಂದೇ ನಿಯಮ Pi VPN ಚರ್ಚೆಗಳಲ್ಲಿ ವಿವರಿಸಲಾದ ಗೊಂದಲಮಯ ಸ್ಥಿತಿಗಳ ಬಹುಪಾಲನ್ನು ತಡೆಯುತ್ತದೆ.

ಆಮದು ಏನನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ, ಏನನ್ನು ಇಲ್ಲ

Raspberry Pi OS Bookworm ಮತ್ತು ನಂತರದ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಡಿಫಾಲ್ಟ್ ನೆಟ್ವರ್ಕ್ ಸಂರಚನಾ ಸಾಧನ NetworkManager, ಆದ್ದರಿಂದ ಪ್ರೊಫೈಲ್ ಕ್ಲೈಂಟ್ ಸುರಂಗಕ್ಕೆ ಸಹಜ ಮನೆ. ಆಮದಿಗೆ ಹೊಂದುವ ಪ್ಲಗಿನ್ ಸ್ಥಾಪಿತವಾಗಿರಬೇಕು; ಅದಿಲ್ಲದೆ ಆಮದು ಬೆಂಬಲವಿಲ್ಲದ ಸಂಪರ್ಕ ಪ್ರಕಾರದ ಬಗ್ಗೆ ಸಂದೇಶದೊಂದಿಗೆ ವಿಫಲವಾಗುತ್ತದೆ, ಅದು ನಿಂತು ಪ್ಲಗಿನ್ ಸ್ಥಾಪಿಸುವ ಪ್ರಾಮಾಣಿಕ ಸಂಕೇತ.

nmcli connection import type openvpn file ./provider.ovpn
nmcli connection show
nmcli --ask connection up id provider-name

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

--ask ಜೊತೆ ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಹಂಚಿದ ಯಂತ್ರದಲ್ಲಿ ಶೆಲ್ ಇತಿಹಾಸದ ಹೊರಗೆ ಪಾಸ್ಫ್ರೇಸ್ ಇಡುತ್ತದೆ. ಮೇಲ್ವಿಚಾರಣೆ ಇಲ್ಲದ Pi ಗೆ ಕೊನೆಗೆ ಪ್ರೊಫೈಲ್ ಬೂಟ್ನಲ್ಲಿ ಏಳಬೇಕೆಂದು ನೀವು ಬಯಸುತ್ತೀರಿ, ಅದು ಕೈಯಿಂದ ಒಮ್ಮೆ ಎತ್ತುವುದಕ್ಕಿಂತ ಪ್ರತ್ಯೇಕ ನಿರ್ಧಾರ.

ಪೂರ್ಣ ಸುರಂಗ, ಎರಡೂ ವಿನ್ಯಾಸಗಳ ಹೋಲಿಕೆಯಲ್ಲಿ

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

ip -4 route get 198.51.100.23
ip -6 route show default
resolvectl query example.org

ಮಾರ್ಗ ಹುಡುಕಾಟಕ್ಕೆ ದಾಖಲೆ ವಿಳಾಸ ಬಳಸಿ ಮತ್ತು ಪರಿಶೀಲಿಸಲು ಅನುಮತಿ ಇರುವ ಹೋಸ್ಟ್ನಿಂದ ಬದಲಾಯಿಸಿ. ಮೊದಲ ಆಜ್ಞೆ Pi ಸಾಮಾನ್ಯ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಯಾವ ಇಂಟರ್ಫೇಸ್ ಬಳಸುತ್ತದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ; ಎರಡನೆಯದು IPv6 ಡಿಫಾಲ್ಟ್ ಮಾರ್ಗ ಇನ್ನೂ ಇದೆಯೇ ಎಂದು ತೋರಿಸುತ್ತದೆ; ಮೂರನೆಯದು ಯಾವ ರಿಸಾಲ್ವರ್ ಉತ್ತರಿಸಿತು ಎಂದು ಸಾಬೀತು ಮಾಡುತ್ತದೆ. ಪೂರ್ಣ ಸುರಂಗದ ಬಗ್ಗೆ ಯಾವುದೇ ಹೇಳಿಕೆಯನ್ನು ನಂಬುವ ಮೊದಲು ಮೂರನ್ನೂ ಓದಿ.

ಪೂರೈಕೆದಾರರ ಸೂಚನೆಗಳು ಪೂರ್ಣ ಸುರಂಗಕ್ಕೆ ಮಾತು ಕೊಟ್ಟರೂ IPv6 ಡಿಫಾಲ್ಟ್ ಮಾರ್ಗ ಉಳಿದರೆ, Pi ಸೋರುತ್ತಿದೆ. ಅಪ್ಲಿಂಕ್ನಲ್ಲಿ IPv6 ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ ಅಥವಾ ಪ್ರೊಫೈಲ್ ಅದನ್ನು ಕೇಳಿಕೊಳ್ಳಲು ಹೇಳಿ, ಮತ್ತು ನಂತರ ಕಂಡುಕೊಳ್ಳುವ ಬದಲು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ನಿರ್ಧರಿಸಿ.

ತೆರೆದ ವೈಫಲ್ಯ ಮುಚ್ಚಿದ ವೈಫಲ್ಯದ ವಿರುದ್ಧ

ಸುರಂಗ ಬಿದ್ದಾಗ ತನ್ನ ಡಿಫಾಲ್ಟ್ ಮಾರ್ಗವನ್ನು ಕಳೆದುಕೊಳ್ಳುವ ರೂಟಿಂಗ್ ಕೋಷ್ಟಕ ಸರಳವಾಗಿ ಭೌತಿಕ ಅಪ್ಲಿಂಕ್ಗೆ ಹಿಂತಿರುಗುತ್ತದೆ, ಮತ್ತು ಸಂಚಾರ ತೆರೆದಲ್ಲೇ ಮುಂದುವರಿಯುತ್ತದೆ. ಅದು ತೆರೆದ ವೈಫಲ್ಯ, ಮತ್ತು ಏನಾದರೂ ತಡೆಯದಿದ್ದರೆ ಅದು ಎರಡೂ ವಿನ್ಯಾಸಗಳ ಡಿಫಾಲ್ಟ್ ವರ್ತನೆ. ಬಹುಪಾಲು ಜನರು ಅದನ್ನು ವಾರಗಳ ನಂತರ ಫೈರ್ವಾಲ್ ಲಾಗ್ ಓದಿ ಕಂಡುಕೊಳ್ಳುತ್ತಾರೆ.

ಮುಚ್ಚಿದ ವೈಫಲ್ಯ ಸುರಂಗ ಕೆಳಗಿರುವಾಗ ನಿಮಗೆ ದೂರದ ಪ್ರವೇಶವನ್ನು ಬಿಡುತ್ತದೆ, ಆದ್ದರಿಂದ ನಿರ್ವಹಣಾ ಮಾರ್ಗಕ್ಕೆ ಉದ್ದೇಶಪೂರ್ವಕ ವಿನಾಯಿತಿ ಬೇಕು. ಒಂದು ದಾರಿ ಎಂದರೆ ಸುರಂಗದ ಹೊರಗೆ VPN ಪೀರ್ನ ವಿಳಾಸವನ್ನು ಮಾತ್ರ ಅನುಮತಿಸುವ ನಿಯಮ:

sudo nft add table inet vpnkill
sudo nft 'add chain inet vpnkill out { type filter hook output priority 0; policy accept; }'
sudo nft add rule inet vpnkill out oifname != "tun0" ip daddr != 203.0.113.24 reject

ಕಾರ್ಯಾಚರಣಾ ವೆಚ್ಚವನ್ನು ಪ್ರಾಮಾಣಿಕವಾಗಿ ಹೋಲಿಸಿ. ಪ್ರೊಫೈಲ್ ಸಾಮಾನ್ಯವಾಗಿ ಈ ನಿಯಮವನ್ನು ವ್ಯಕ್ತಪಡಿಸಲಾರದು, ಆದ್ದರಿಂದ ಮುಚ್ಚಿದ ವೈಫಲ್ಯ ನಿಮ್ಮನ್ನು ಸ್ಕ್ರಿಪ್ಟ್ ವಿನ್ಯಾಸದೆಡೆಗೆ ಅಥವಾ ಸುರಂಗದಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ನಿಯಮ ಸ್ಥಾಪಿಸುವ ಸಣ್ಣ ಘಟಕದೆಡೆಗೆ ತಳ್ಳುತ್ತದೆ. ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, ಒಂದು ವಾರ ತಿರಸ್ಕಾರಗಳನ್ನು ದಾಖಲಿಸಿ: ಮೌನ ತಿರಸ್ಕಾರ ಮುರಿದ ಸೇವೆಯಂತೆಯೇ ಕಾಣುತ್ತದೆ, ಮತ್ತು ಬಳಕೆದಾರರು ಒಂದು ಸೈಟ್ ಲೋಡ್ ಆಗುವುದನ್ನು ನಿಲ್ಲಿಸಿತು ಎಂದು ವರದಿ ಮಾಡಿದಾಗ ಕೌಂಟರ್ ನಿಮಗೆ ಬೇಕಾಗುತ್ತದೆ.

ಪರದೆ ಇಲ್ಲದ Pi ಗೆ ಆಯ್ಕೆ

ಚಿತ್ರ ಈಗಾಗಲೇ NetworkManager ಚಲಾಯಿಸುತ್ತಿದ್ದರೆ, ಸುರಂಗಕ್ಕೆ ವಿಶೇಷ ಏನೂ ಬೇಕಾಗಿಲ್ಲದಿದ್ದರೆ, ಮತ್ತು ಅದು ಅಪ್ಲಿಂಕ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅನುಸರಿಸಬೇಕೆಂದು ನೀವು ಬಯಸಿದರೆ, ಪ್ರೊಫೈಲ್ ತೆಗೆದುಕೊಳ್ಳಿ. ನಿಮಗೆ ನೀತಿ ರೂಟಿಂಗ್, ಪ್ರತಿ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಆಯ್ಕೆಯಾದ ಹಲವು ಸುರಂಗಗಳು, ಅಥವಾ ಸುರಂಗ ಏಳುವ ಮೊದಲು ಇರಲೇಬೇಕಾದ ಮುಚ್ಚಿದ-ವೈಫಲ್ಯ ನಿಯಮ ಬೇಕಾದರೆ, ಸ್ಕ್ರಿಪ್ಟ್ ತೆಗೆದುಕೊಂಡು ಬೂಟ್ ಕ್ರಮ ಮತ್ತು ಸ್ವಚ್ಛಗೊಳಿಸುವಿಕೆ ಸೇರಿದಂತೆ ಅದರ ಪ್ರತಿ ಭಾಗವನ್ನು ಹೊಂದಿರಿ. ಎರಡೂ ವಿನ್ಯಾಸಗಳನ್ನು ಬೆರೆಸುವುದು ಯಾವುದೇ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ವೆಚ್ಚವಾಗುತ್ತದೆ.

ಅವುಗಳ ನಡುವೆ ವಲಸೆ ಮುಖ್ಯವಾಗಿ ಕ್ರಮದ ವಿಷಯ: ಹಳೆಯ ಮಾಲೀಕರನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ, ಹಳೆಯ ಮಾರ್ಗ ಅಥವಾ ರಿಸಾಲ್ವರ್ ನಮೂದು ಉಳಿದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿ, ನಂತರ ಹೊಸದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಎರಡು ಬಾರಿ ಮರುಬೂಟ್ ಮಾಡಿ. ಒಂದು ಮರುಬೂಟ್ ಎರಡನೆಯದು ಬಯಲು ಮಾಡುವ ರೇಸ್ ಅನ್ನು ಮರೆಮಾಡಬಹುದು. ಸುರಂಗವನ್ನಲ್ಲ, Pi ಯನ್ನು ಪರೀಕ್ಷಿಸಿ ಮುಗಿಸಿ: ಒಂದು ಹೆಸರು ಪರಿಹರಿಸಿ, IPv4 ಮೂಲಕ ಏನಾದರೂ ತನ್ನಿ, ಇಟ್ಟುಕೊಂಡಿದ್ದರೆ IPv6 ಮೂಲಕ ತನ್ನಿ, ನಂತರ ಸುರಂಗ ಬೀಳಿಸಿ ಮತ್ತು ನೀವು ಆರಿಸಿದ ವರ್ತನೆ ನಿಜವಾಗಿ ನಡೆಯುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. ip link ನಲ್ಲಿ ಇಂಟರ್ಫೇಸ್ ಪರೀಕ್ಷೆಯ ಆರಂಭ, ಅಂತ್ಯವಲ್ಲ.

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