ಒಂದು ಯಂತ್ರಕ್ಕೆ ಈಗಾಗಲೇ ಅನುಮೋದಿತ VPN ಪ್ರವೇಶವಿದೆ, ಎರಡನೇ ಯಂತ್ರಕ್ಕೆ ನಿಖರವಾಗಿ ಒಂದು ಖಾಸಗಿ HTTPS ಸೇವೆ ಬೇಕು, ಮತ್ತು ಸ್ಥಳೀಯ SSH ಫಾರ್ವರ್ಡ್ ಎರಡನೇ ಯಂತ್ರಕ್ಕೆ ಸುರಂಗ ನೀಡದೆ ಆ ಕೊರತೆಯನ್ನು ತುಂಬಬಹುದು. ಫಾರ್ವರ್ಡ್ ಇಡೀ ನೆಟ್ವರ್ಕ್ ಬದಲು ಒಂದು TCP ಗಮ್ಯಸ್ಥಾನವನ್ನು ಸಾಗಿಸುತ್ತದೆ, ಮತ್ತು ಆ ಮಿತಿಯೇ ಮುಖ್ಯ ಅಂಶ. ಕೆಳಗಿನ ಐದು ಹಂತಗಳನ್ನು ಕ್ರಮವಾಗಿ ಪೂರ್ಣಗೊಳಿಸಿ, ಏಕೆಂದರೆ ಪ್ರತಿಯೊಂದೂ ಬೇರೆ ಕಾರಣದಿಂದ ವಿಫಲವಾಗುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ಹಂತವು ಹಿಂದಿನ ಕೊರತೆಯನ್ನು ಸರಿಪಡಿಸಲಾರದು. ಯಾವುದೇ ಪೂರ್ವಶರತ್ತು ಕಾಣೆಯಾಗಿದ್ದರೆ, ಈ ವಿನ್ಯಾಸ ಅದನ್ನು ಪರಿಹರಿಸುವುದಿಲ್ಲ ಮತ್ತು ಆಜ್ಞೆಗಳ ಯಾವುದೇ ಟ್ಯೂನಿಂಗ್ ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ.

ಹಂತ ಒಂದು: ಮೂರು ಪೂರ್ವಶರತ್ತುಗಳನ್ನು ದೃಢೀಕರಿಸಿ

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

ಎರಡು ಆಜ್ಞೆಗಳು ಆ ಪಟ್ಟಿಯ ತಾಂತ್ರಿಕ ಅರ್ಧವನ್ನು ಪರಿಹರಿಸುತ್ತವೆ. ಮೊದಲನೆಯದು ಖಾತೆ ಮತ್ತು ಕೀಲಿ ಸಂವಾದಾತ್ಮಕ ಪ್ರಾಂಪ್ಟ್ ಇಲ್ಲದೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ, ಮತ್ತು ಎರಡನೆಯದು ಸಂರಚನಾ ಕಡತದಲ್ಲಿನ ಕಾಮೆಂಟ್ ಮಾಡಿದ ಉದಾಹರಣೆಯ ಬದಲು ನಿಜವಾದ ಸರ್ವರ್ ನೀತಿಯನ್ನು ಮುದ್ರಿಸುತ್ತದೆ.

ssh -o BatchMode=yes [email protected] 'echo ok'
sudo sshd -T | grep -E 'allowtcpforwarding|permitopen'

ಹಂತ ಎರಡು: loopback ಪೋರ್ಟ್ ಬೈಂಡ್ ಮಾಡಿ ಮತ್ತು ಸೆಷನ್ ಜೀವಂತವಾಗಿರಿಸಿ

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

ಖಾಸಗಿ ಸಂಪರ್ಕ ಜಂಪ್ ಹೋಸ್ಟ್ನಿಂದ ಏರ್ಪಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಆ ಹೋಸ್ಟ್ನ DNS, ಮಾರ್ಗಗಳು, VPN ನೀತಿ ಮತ್ತು ಸೇವಾ ಪ್ರವೇಶ ಎಲ್ಲವೂ ಕೆಲಸ ಮಾಡಬೇಕು. SSH ಸೆಷನ್ ಜಂಪ್ ಹೋಸ್ಟ್ಗೆ ಇಲ್ಲದ ತಲುಪುವಿಕೆಯನ್ನು ಸೃಷ್ಟಿಸುವುದಿಲ್ಲ, ಮತ್ತು VPN ಎಂದೂ ತಳ್ಳದ ಮಾರ್ಗವನ್ನು ಸರಿಪಡಿಸಲಾರದು. ಆಜ್ಞೆಯ ಮೌನವನ್ನು ನಂಬುವ ಬದಲು ಶ್ರೋತೃವು ನಿಜವಾಗಿ ಇರುವಲ್ಲಿಯೇ ದೃಢೀಕರಿಸಿ.

ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:9443:portal.lab.example:443 [email protected]
ss -ltn '( sport = :9443 )'

ಹಂತ ಮೂರು: ಸಾಕೆಟ್ ಸ್ಥಳೀಯವಾಗಿದ್ದಾಗ HTTPS ಹೆಸರು ಉಳಿಸಿ

https://127.0.0.1:9443/ ಗೆ ಬ್ರೌಸ್ ಮಾಡುವುದು TLS ಸರ್ವರ್ ಹೆಸರು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಅಧಿಕಾರವನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. portal.lab.example ಗಾಗಿ ನೀಡಿದ ಪ್ರಮಾಣಪತ್ರ loopback ವಿಳಾಸದ ವಿರುದ್ಧ ಮಾನ್ಯವಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಉಂಟಾದ ದೋಷ ಫಾರ್ವರ್ಡಿಂಗ್ ಶಾರ್ಟ್ಕಟ್ ಬದಲು ಮುರಿದ ಪ್ರಮಾಣಪತ್ರದಂತೆ ಕಾಣುತ್ತದೆ. ಆಜ್ಞಾ ಸಾಲಿನ ಪರೀಕ್ಷೆಗೆ ನಿಜವಾದ URL ಉಳಿಸಿ ಮತ್ತು ಸಾಕೆಟ್ ಗಮ್ಯಸ್ಥಾನವನ್ನು ಮಾತ್ರ ಬದಲಿಸಿ. --connect-to ಇದನ್ನೇ ಮಾಡುತ್ತದೆ, ಮತ್ತು curl ಕೈಪಿಡಿ ಕೆಳಗೆ ಬಳಸಿದ ನಾಲ್ಕು ಕ್ಷೇತ್ರಗಳ ರೂಪವನ್ನು ದಾಖಲಿಸುತ್ತದೆ.

curl --noproxy portal.lab.example --connect-to portal.lab.example:443:127.0.0.1:9443 https://portal.lab.example/

ಹೆಸರು URL ನಲ್ಲಿ, TLS ಹ್ಯಾಂಡ್ಶೇಕ್ನಲ್ಲಿ ಮತ್ತು Host ಶೀರ್ಷಿಕೆಯಲ್ಲಿ ಉಳಿಯುತ್ತದೆ, ಆದರೆ TCP ಸಂಪರ್ಕ ಸ್ಥಳೀಯ ಶ್ರೋತೃವಿಗೆ ಹೋಗುತ್ತದೆ. ಪ್ರಾಕ್ಸಿ ಇಲ್ಲದ ಆಯ್ಕೆ ಪರೀಕ್ಷೆಯನ್ನು ಈ ಫಾರ್ವರ್ಡ್ನಲ್ಲೇ ಉಳಿಸುತ್ತದೆ, ಸಂರಚಿಸಿದ HTTP ಪ್ರಾಕ್ಸಿ ಅದನ್ನು ತಡೆಯಲು ಬಿಡುವ ಬದಲು, ಮತ್ತು ಪ್ರಮಾಣಪತ್ರ ಪರಿಶೀಲನೆಯನ್ನು ಆನ್ ಇರಿಸುವುದೇ ಫಲಿತಾಂಶವನ್ನು ಅರ್ಥಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ.

ಹಂತ ನಾಲ್ಕು: ಒಂದು ಫಾರ್ವರ್ಡ್ ಏನನ್ನು ಆವರಿಸಲಾರದು ಎಂದು ತಿಳಿಯಿರಿ

ಒಂದು TCP ಫಾರ್ವರ್ಡ್ ಒಂದು ಗಮ್ಯಸ್ಥಾನ ಪೋರ್ಟ್ ಆವರಿಸುತ್ತದೆ. ಎರಡನೇ ಹೋಸ್ಟ್ನಾಮ್ಗೆ ಮರುನಿರ್ದೇಶಿಸುವ, ಖಾಸಗಿ ನೆಟ್ವರ್ಕ್ ಒಳಗಿನ ಹೋಸ್ಟ್ನಿಂದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಲೋಡ್ ಮಾಡುವ ಅಥವಾ ಬೇರೆ ಪೋರ್ಟ್ಗೆ ಕಳುಹಿಸುವ ಪುಟಕ್ಕೆ ತನ್ನದೇ ಫಾರ್ವರ್ಡ್ ಬೇಕು, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದಕ್ಕೂ ಮೊದಲನೆಯದರಂತೆಯೇ ನೀತಿ ಪರಿಶೀಲನೆ ಬೇಕು. ಬ್ರೌಸರ್ ಕಾರ್ಯಪ್ರವಾಹಗಳು ತಮ್ಮದೇ ಅಗತ್ಯಗಳನ್ನು ಸೇರಿಸುತ್ತವೆ, ಏಕೆಂದರೆ ಪ್ರಾಕ್ಸಿ ಸಂರಚನೆ ಅಥವಾ ಸ್ಥಳೀಯ ಮ್ಯಾಪಿಂಗ್ ಮೂಲಕ ನಿಜವಾದ ಹೆಸರನ್ನು ಸ್ಥಳೀಯ ಪೋರ್ಟ್ಗೆ ಕಳುಹಿಸಲು ಬ್ರೌಸರ್ಗೆ ಹೇಳಬೇಕು. ಆದ್ದರಿಂದ ಯಶಸ್ವಿ ಆಜ್ಞಾ ಸಾಲಿನ ಪರೀಕ್ಷೆ ಬ್ರೌಸರ್ ಸಹ ಯಶಸ್ವಿಯಾಗುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ, ಆದರೂ ಮಾರ್ಗವನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ.

UDP, SMB ಶೋಧನೆ ಮತ್ತು ಡೊಮೇನ್ ಸೈನ್-ಇನ್ TCP ಫಾರ್ವರ್ಡ್ ಮೂಲಕ ಸಂಪೂರ್ಣವಾಗಿ ಹಾದುಹೋಗುವುದಿಲ್ಲ. ನಿಜವಾದ ಅಗತ್ಯ ಸಾಮಾನ್ಯ ನೆಟ್ವರ್ಕ್ ಪ್ರವೇಶವಾಗಿದ್ದರೆ, ಈ ವಿನ್ಯಾಸ ತಪ್ಪು ಸಾಧನ ಮತ್ತು ಬೆಂಬಲಿತ ರಿಮೋಟ್-ಪ್ರವೇಶ ಗೇಟ್ವೇ ಸರಿಯಾದದ್ದು.

ಹಂತ ಐದು: ಸ್ವಚ್ಛಗೊಳಿಸಿ ಮತ್ತು ದಾಖಲಿಸಿ

ಪರೀಕ್ಷೆ ಮುಗಿದಾಗ ಸೆಷನ್ ನಿಲ್ಲಿಸಿ ಮತ್ತು ಶ್ರೋತೃವು ಹೋಗಿದೆ ಎಂದು ದೃಢೀಕರಿಸಿ. ಆಯ್ಕೆಮಾಡಿದ ಪೋರ್ಟ್ ಈಗಾಗಲೇ ಆಕ್ರಮಿಸಲ್ಪಟ್ಟಿದ್ದರೆ, ಸಂಖ್ಯೆಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲು ಸಂಬಂಧವಿಲ್ಲದ ಸ್ಥಳೀಯ ಸೇವೆಯನ್ನು ನಿಲ್ಲಿಸುವ ಬದಲು ಬೇರೆ ಬಳಸದ loopback ಪೋರ್ಟ್ ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು URL, ಪರೀಕ್ಷಾ ಆಜ್ಞೆ ಹಾಗೂ ಟಿಪ್ಪಣಿಯನ್ನು ಒಟ್ಟಿಗೆ ನವೀಕರಿಸಿ. ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಫಾರ್ವರ್ಡ್ ತೆರೆದಿಟ್ಟರೆ ರೋಗನಿರ್ಣಯವು ನಿರ್ವಹಿಸದ ಸೇವೆಯಾಗುತ್ತದೆ.

ಜಂಪ್ ಹೋಸ್ಟ್, ಫಾರ್ವರ್ಡ್ ಮಾಡಿದ ಗಮ್ಯಸ್ಥಾನ, ಸ್ಥಳೀಯ ಪೋರ್ಟ್ ಮತ್ತು ಈ ವ್ಯವಸ್ಥೆಯನ್ನು ಯಾರು ಅನುಮೋದಿಸಿದರು ಎಂಬುದನ್ನು ಬರೆಯಿರಿ. ಯಾರೋ ಒಬ್ಬರ shell ಇತಿಹಾಸದಲ್ಲಿ ಮಾತ್ರ ಇರುವ ಫಾರ್ವರ್ಡ್ ಒಂದು ಮರುಬೂಟ್ನಷ್ಟು ದೂರದಲ್ಲಿ ಪುನರಾವರ್ತಿತ ತನಿಖೆಗೆ ದಾರಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಮುಂದಿನ ವ್ಯಕ್ತಿಗೆ ಮೂರು ಪೂರ್ವಶರತ್ತುಗಳಲ್ಲಿ ಯಾವುದು ಈಗಾಗಲೇ ಪರಿಶೀಲಿಸಲಾಗಿದೆ ಎಂದು ತಿಳಿಯದು.

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