sshuttle vs ಪೂರ್ಣ VPN: ಅದರ ವಿಧಾನ ನಿಜವಾಗಿ ಏನನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ
sshuttle ತನ್ನ ಫಾರ್ವರ್ಡಿಂಗ್ ವಿಧಾನ ಬೆಂಬಲಿಸುವುದನ್ನು ಮಾತ್ರ ಸಾಗಿಸುತ್ತದೆ: ಮೊದಲು TCP, DNS ಮತ್ತು UDP ವ್ಯಾಪ್ತಿ, ಅಗತ್ಯವಿರುವ ಸ್ಥಳೀಯ ಸವಲತ್ತು ಮತ್ತು ದೂರದ ಸಹಾಯಕವನ್ನು ಪರಿಶೀಲಿಸಿ.
SSH ಈಗಾಗಲೇ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕ್ರಿಪ್ಟೋಗ್ರಫಿ ಪರಿಚಿತವಾಗಿ ಕಾಣುತ್ತದೆ ಎಂಬ ಕಾರಣಕ್ಕೆ sshuttle ಆಯ್ಕೆಯಾಗುತ್ತದೆ, ಆದರೆ ಆ ತರ್ಕ ಸೂಕ್ತತೆಯನ್ನು ನಿರ್ಧರಿಸುವ ಏಕೈಕ ಪ್ರಶ್ನೆಯನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ. ಯಾವ ಪ್ಯಾಕೆಟ್ಗಳು ಯಂತ್ರವನ್ನು ಬಿಡುತ್ತವೆ, ಆಚೆ ಬದಿಯಲ್ಲಿ ಯಾವ ಖಾತೆ ಅವನ್ನು ಸಾಗಿಸುತ್ತದೆ, ಮತ್ತು ಸಾಧನ ಎಷ್ಟು ಸ್ಥಳೀಯ ಸವಲತ್ತು ಕೇಳುತ್ತದೆ. ಈ ಮೂರು ಉತ್ತರಗಳು ಫಾರ್ವರ್ಡಿಂಗ್ ವಿಧಾನದಿಂದ ಬದಲಾಗುತ್ತವೆ, ಆದ್ದರಿಂದ ಒಂದು ಅನ್ವಯಕ್ಕೆ ಕೆಲಸ ಮಾಡುವ ಸಂರಚನೆ ಮುಂದಿನದಕ್ಕೆ ಮೌನವಾಗಿ ವಿಫಲವಾಗಬಹುದು. ಕೆಳಗಿನ ವಿವರಣೆ ಅನ್ವಯಕ್ಕೆ ನಿಜವಾಗಿ ಬೇಕಾದ ಪ್ರೋಟೋಕಾಲ್ನಿಂದ ಆರಂಭವಾಗುತ್ತದೆ.
ಅನ್ವಯಕ್ಕೆ ಬೇಕಾದ ಪ್ರೋಟೋಕಾಲ್ನಿಂದ ಆರಂಭಿಸಿ
sshuttle 2.0 ನಲ್ಲಿ ಪ್ರೋಟೋಕಾಲ್ ಬೆಂಬಲ ನೀವು ಆಯ್ಕೆ ಮಾಡುವ ವಿಧಾನವನ್ನು ಅವಲಂಬಿಸಿದೆ. Linux ನ NAT ಮತ್ತು nft ವಿಧಾನಗಳು TCP ಮತ್ತು DNS ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ, ಮತ್ತು TPROXY ಸಾಮಾನ್ಯ UDP ಸೇರಿಸುತ್ತದೆ. ಪ್ರತಿ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮತ್ತು ವಿಧಾನಕ್ಕೆ ತನ್ನದೇ ಮಿತಿಗಳಿವೆ, ಮತ್ತು macOS ಸಂಪೂರ್ಣ ಬೇರೆ ವ್ಯವಸ್ಥೆಯ ಮೂಲಕ ತಡೆಯುತ್ತದೆ. ಏನನ್ನಾದರೂ ಆಯ್ಕೆ ಮಾಡುವ ಮೊದಲು ಸ್ಥಾಪಿತ ಆವೃತ್ತಿ, ಆಯ್ಕೆ ಮಾಡಿದ ವಿಧಾನ ಮತ್ತು ಅನ್ವಯಕ್ಕೆ ಬೇಕಾದ ಪ್ರೋಟೋಕಾಲ್ಗಳನ್ನು ದಾಖಲಿಸಿ.
ಆದ್ದರಿಂದ ಕೆಲಸ ಮಾಡುವ TCP ವಿನಂತಿ UDP ಅನ್ವಯ ಅಥವಾ ಪ್ರತಿ DNS ಹುಡುಕಾಟದ ಬಗ್ಗೆ ಬಹಳ ಕಡಿಮೆ ಸಾಬೀತು ಮಾಡುತ್ತದೆ. sshuttle TCP ಅನ್ನು ಸಂಪೂರ್ಣ IP ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಸುರಂಗ ಮಾಡುವ ಬದಲು ಹರಿವುಗಳಾಗಿ ಪರಿಗಣಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಸಾಂಪ್ರದಾಯಿಕ VPN ನಿಂದ ಎರವಲು ಪಡೆದ ಥ್ರೂಪುಟ್ ತೀರ್ಮಾನ ಇಲ್ಲಿ ಅನ್ವಯಿಸುವುದಿಲ್ಲ. ನೀವು ನಿಜವಾಗಿ ಚಲಾಯಿಸುವ ವ್ಯವಸ್ಥೆಯನ್ನು ನಿಜವಾಗಿ ಹೊಂದಿರುವ ಹೊರೆಯೊಂದಿಗೆ ಹೋಲಿಸಿ.
| Approach | What it carries | What it needs locally |
|---|---|---|
| SSH local forward | One explicitly named TCP destination | Nothing beyond the SSH client |
| sshuttle, nft or nat method | TCP and DNS to the routed prefixes | Root or sudo for firewall rules |
| sshuttle, tproxy method | TCP, DNS and general UDP | Root or sudo, and kernel support |
| IP VPN | Routed IP traffic in a tunnel | A client with the required privileges |
ಕ್ಲೈಂಟ್ಗೆ ಸ್ಥಳೀಯವಾಗಿ ಏನು ಬೇಕು
ದಾಖಲಿತ ಕ್ಲೈಂಟ್ ವ್ಯವಸ್ಥೆಗೆ root ಅಥವಾ sudo ಬೇಕು, ಏಕೆಂದರೆ ಅದು ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ ರಚಿಸುವ ಬದಲು ಸ್ಥಳೀಯ ತಡೆ ನಿಯಮಗಳನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ. ಆ ಒಂದು ಸತ್ಯ ಭದ್ರತೆಯ ಕಥೆಯನ್ನು ಬದಲಿಸುತ್ತದೆ: ಆ ಸವಲತ್ತು ಇರುವ ಪ್ರಕ್ರಿಯೆ ಇಡೀ ಯಂತ್ರದ ಸಂಚಾರವನ್ನು ಬೇರೆಡೆಗೆ ತಿರುಗಿಸಬಹುದು, ಒಂದು ಅನ್ವಯದ್ದನ್ನು ಮಾತ್ರವಲ್ಲ. ಸವಲತ್ತನ್ನು ಸ್ಥಾಪನೆಯ ವಿವರವಲ್ಲ, ವಿನ್ಯಾಸದ ಭಾಗವೆಂದು ಪರಿಗಣಿಸಿ.
ಸಾಧನ ಯಾವ ನಿಯಮಗಳನ್ನು ಸ್ಥಾಪಿಸಿತು ಮತ್ತು ಅವು ನಿರ್ಗಮಿಸುವಾಗ ಮಾಯವಾಗುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. ತಡೆ ನಿಯಮಗಳನ್ನು ಬಿಟ್ಟು ಕುಸಿದ ಅವಧಿ, ನಿರ್ವಾಹಕ ಸಂಪರ್ಕ ಹೋಯಿತು ಎಂದು ನಂಬಿದ ಬಹಳ ಸಮಯದ ನಂತರವೂ ಸಂಚಾರವನ್ನು ಕಪ್ಪು ಕುಳಿಗೆ ಕಳುಹಿಸಬಹುದು, ಮತ್ತು ಲಕ್ಷಣ ಉಳಿದ ನಿಯಮದಂತೆ ಅಲ್ಲ, ಜಾಲಾಕ್ಷಮತೆಯಂತೆ ಕಾಣುತ್ತದೆ.
sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route
ಮೊದಲ ಆಜ್ಞೆ ಸಾಮಾನ್ಯ ಕರೆಯ ರೂಪ, ನಿಜವಾಗಿ ಬೇಕಾದ ಪೂರ್ವಪದದೊಂದಿಗೆ. ಎರಡನೆಯದು ಸಾಧನ ಏನನ್ನು ಸ್ಥಾಪಿಸಿತು ಎಂದು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಮೂರನೆಯದು ಯಾವುದೇ ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ ಕಾಣಿಸಿಲ್ಲ ಎಂದು ದೃಢೀಕರಿಸುತ್ತದೆ, ಇದು ಈ ವಿನ್ಯಾಸಕ್ಕೆ ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶ.
ದೂರದ ಬದಿ ಏನನ್ನು ಚಲಾಯಿಸುತ್ತದೆ
ದೂರದ ಬದಿ ಅಧಿಕೃತ SSH ಖಾತೆ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವ Python ಸಹಾಯಕ ಪರಿಸರ. ನಿರ್ಬಂಧಿತ ಶೆಲ್ ಅಡಿಯಲ್ಲಿ ಯಶಸ್ವಿ ಲಾಗಿನ್ ಆ ಸಹಾಯಕವನ್ನು ಚಲಾಯಿಸಲು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅನುಮತಿ ನೀಡುವುದಿಲ್ಲ, ಮತ್ತು ಸಹಾಯಕವನ್ನು ಚಲಾಯಿಸಬಲ್ಲ ಖಾತೆ ಪ್ರತಿ ಗುರಿ ಸೇವೆಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತಲುಪುವುದಿಲ್ಲ. ಎರಡೂ ಸತ್ಯಗಳು ದೋಷನಿವಾರಣೆ ಟಿಪ್ಪಣಿಗಳಿಗಲ್ಲ, ಪ್ರವೇಶ ವಿನಂತಿಗೆ ಸೇರುತ್ತವೆ.
ಹೋಸ್ಟ್ ಗುರುತಿನ ಪರಿಶೀಲನೆ ಮತ್ತು ಖಾತೆಯ ದೃಢೀಕರಣವನ್ನು ರಕ್ಷಿಸಿ. ಮೊದಲ ಸಂಪರ್ಕ ಕೆಲಸ ಮಾಡಲು ಅಪರಿಚಿತ ಹೋಸ್ಟ್ ಕೀಯನ್ನು ಸ್ವೀಕರಿಸುವುದು ದೂರದ ಬದಿ ನೀವು ಉದ್ದೇಶಿಸಿದ ಯಂತ್ರ ಎಂಬ ಪರಿಶೀಲನೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಮತ್ತು ಇದು ಇಲ್ಲಿ ಏಕೋದ್ದೇಶ ಫಾರ್ವರ್ಡಿಂಗ್ಗಿಂತ ಹೆಚ್ಚು ಮುಖ್ಯ.
ದೂರದ ಖಾತೆಯನ್ನು ಕೆಲಸದ ಹರಿವಿಗೆ ಬೇಕಾದ ಸೇವೆಗಳಿಗೆ ಸೀಮಿತಗೊಳಿಸಿ, ಮತ್ತು ಆ ವ್ಯಾಪ್ತಿಯನ್ನು ಹೋಸ್ಟ್ ನಿರ್ವಹಿಸುವವರೊಂದಿಗೆ ಚರ್ಚಿಸಿ. ಅವರು ನಂಬಿಕೆ ಸಂಬಂಧದ ಭಾಗ, ಮತ್ತು ಕ್ಲೈಂಟ್ ಬದಿಯ ಯಾವುದೇ ಸೆಟ್ಟಿಂಗ್ ಅದನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ.
ನಂಬಿಕೆ ಗಡಿ ಎಲ್ಲಿದೆ
SSH ಮೂಲಕ ಖಾಸಗಿ API ಸಂಪರ್ಕವನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡುವುದು ಪ್ರತಿ API ಕಾರ್ಯಾಚರಣೆಗೆ ಅನುಮತಿ ನೀಡುವುದಿಲ್ಲ. ಅನ್ವಯದ TLS ಮತ್ತು ಅನ್ವಯಕ್ಕೆ ಲಾಗಿನ್ ಇನ್ನೂ ಅನ್ವಯಿಸುತ್ತವೆ, ಮತ್ತು ಸಾಧನ ದೃಢೀಕರಣವಿಲ್ಲದ ಸೇವೆಯನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸಲಾಗದು. ದೂರದ ಹೋಸ್ಟ್ನಿಂದ ಮುಂದಿನ ನೆಗೆತವೂ ಸ್ವಯಂಚಾಲಿತವಾಗಿ SSH ಚಾನಲ್ನಂತೆಯೇ ಅದೇ ರಕ್ಷಿತ ವಿಭಾಗವಲ್ಲ, ಏಕೆಂದರೆ ಆ ಎರಡನೇ ಸಂಪರ್ಕ ದೂರದ ಹೋಸ್ಟ್ಗೆ ಇರುವ ನೀತಿಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ.
ಗಡಿಯನ್ನು ಒಂದು ವಾಕ್ಯದಲ್ಲಿ ಬರೆಯಿರಿ: ಈ ಪೂರ್ವಪದಗಳಿಗೆ ಸಂಚಾರ ಆ ಹೋಸ್ಟ್ನಲ್ಲಿ ಈ ಖಾತೆಯ ಮೂಲಕ ಹೊರಡುತ್ತದೆ. ವಾಕ್ಯಕ್ಕೆ ಅಪವಾದಗಳ ಒಂದು ಪ್ಯಾರಾಗ್ರಾಫ್ ಬೇಕಾದರೆ, ವಿನ್ಯಾಸ ತನ್ನ ದಾಖಲೆ ಹೇಳುವುದಕ್ಕಿಂತ ಹೆಚ್ಚು ಮಾಡುತ್ತಿದೆ ಮತ್ತು ಉತ್ಪಾದನೆಗೆ ತಲುಪುವ ಮೊದಲು ಇನ್ನೊಂದು ನೋಟಕ್ಕೆ ಅರ್ಹವಾಗಿದೆ.
ಪ್ರತಿ ಪ್ರೋಟೋಕಾಲ್ಗೆ ಸಾಬೀತು ಮಾಡಿ, ನಂತರ ಸಾಧನ ಆಯ್ಕೆ ಮಾಡಿ
ಪ್ರತಿ ಅಗತ್ಯ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ನಿರುಪದ್ರವ ವಿನಂತಿಯಿಂದ ಪರೀಕ್ಷಿಸಿ, ರಿಜಾಲ್ವರ್ ಮಾರ್ಗ ಮತ್ತು ಅನ್ವಯ ಬಳಸುವ ವಿಳಾಸ ಕುಟುಂಬಗಳೊಂದಿಗೆ. ಪರೀಕ್ಷೆಯಲ್ಲಿ ಸಂಪರ್ಕ ಕಡಿತವನ್ನೂ ಸೇರಿಸಿ, ಇದರಿಂದ ಅನ್ವಯದ ಅನುಮತಿಸಲಾದ ವೈಫಲ್ಯ ವರ್ತನೆ ಘಟನೆಯ ಸಮಯದಲ್ಲಿ ಆಶ್ಚರ್ಯವಲ್ಲ, ತಿಳಿದ ಫಲಿತಾಂಶವಾಗುತ್ತದೆ. ಚಾಲನೆಯಲ್ಲಿದ್ದಾಗ ಸರಿಯಾಗಿ ಫಾರ್ವರ್ಡ್ ಮಾಡಿದ ಅವಧಿ ಬಿದ್ದ ನಂತರ ಏನಾಗುತ್ತದೆ ಎಂಬುದರ ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ.
ಸ್ಪಷ್ಟವಾಗಿ ಹೆಸರಿಸಿದ ಕೆಲವು ಸೇವೆಗಳಿಗೆ ಸಾಮಾನ್ಯ ಸ್ಥಳೀಯ ಫಾರ್ವರ್ಡಿಂಗ್ ಮಾಲೀಕತ್ವ ಮತ್ತು ಲೆಕ್ಕಪರಿಶೋಧನೆಗೆ ಸುಲಭ. ತನ್ನ ವಿಧಾನಕ್ಕೆ ಹೊಂದಿಕೊಳ್ಳುವ ಅನ್ವಯ ಸಂಚಾರಕ್ಕೆ sshuttle ಕಾನೂನುಬದ್ಧ ಮಧ್ಯಮ ಮಾರ್ಗ ನೀಡುತ್ತದೆ. ಅಗತ್ಯವು ವಿಶಾಲ IP ಸಂಪರ್ಕವಾದಾಗ, VPN ವಿನ್ಯಾಸ ಪ್ರಾಮಾಣಿಕ ಉತ್ತರ, ಮತ್ತು ಆಯ್ಕೆ ಎನ್ಕ್ರಿಪ್ಷನ್ ಕ್ರಮಾವಳಿಗಳ ಶ್ರೇಣಿಯನ್ನಲ್ಲ, ವ್ಯಾಪ್ತಿ ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಯ ಜವಾಬ್ದಾರಿಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ.