AnyConnect ಟರ್ಮಿನಲ್ ಮುಚ್ಚಿದಾಗ ಸಂಪರ್ಕ ಕಡಿತ: ಸೆಷನ್ ಪರಿಶೀಲನೆಗಳು
Linux AnyConnect ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕದ ಸಮಯದಲ್ಲಿ ತೆರೆದಿದ್ದ ಲಾಗಿನ್ ಸೆಷನ್ಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದು ಮುಚ್ಚಿದಾಗ ಟನೆಲ್ ಕಡಿತಗೊಳಿಸುತ್ತದೆ. utmp ಬದಲಿಸುವ ಮೊದಲು ಕ್ರಮವನ್ನು ಪರಿಶೀಲಿಸಿ.
ಟನೆಲ್ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ, ನೀವು ಒಂದು ಹೆಚ್ಚುವರಿ ಟರ್ಮಿನಲ್ ಮುಚ್ಚುತ್ತೀರಿ, ಮತ್ತು ಕ್ಲೈಂಟ್ನಲ್ಲಿ ಒಂದು ಕೀಲಿಯನ್ನೂ ಒತ್ತದೆ VPN ಕೆಳಗಿಳಿಯುತ್ತದೆ. Linux AnyConnect ಕ್ಲೈಂಟ್ನಲ್ಲಿ ವರದಿಯಾಗುವ ಕಾರಣ ರೂಟಿಂಗ್ ಅಲ್ಲ, ಸೆಷನ್ ಎಣಿಕೆ: ಟನೆಲ್ ಆರಂಭವಾದಾಗ ಯಾವ ಲಾಗಿನ್ ಸೆಷನ್ಗಳಿದ್ದವು ಎಂಬುದನ್ನು ಕ್ಲೈಂಟ್ ದಾಖಲಿಸಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಮುಗಿದರೆ ಅದನ್ನು ಟನೆಲ್ ಕೆಡವಲು ಕಾರಣವೆಂದು ಪರಿಗಣಿಸುತ್ತದೆ. ಕೆಳಗಿನ ಪರಿಶೀಲನೆಗಳು ಕ್ರಮವಾಗಿ ನಡೆಯುತ್ತವೆ, ಮತ್ತು ಮೊದಲನೆಯದು ವಿಫಲವಾದರೆ ನೀವು ಈ ವರ್ತನೆಯನ್ನೇ ನೋಡುತ್ತಿದ್ದೀರಾ ಎಂದು ತಿಳಿಯುತ್ತದೆ. ಕ್ಲೈಂಟ್ನ ಸಾಮಾನ್ಯ ಔಟ್ಪುಟ್ನಲ್ಲಿ ಟರ್ಮಿನಲ್ ಬಗ್ಗೆ ಏನೂ ಇರುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಮೊದಲ ಪ್ರವೃತ್ತಿಯಾದ ಕಾನ್ಸೆಂಟ್ರೇಟರ್ ಅನ್ನು ದೂಷಿಸುವುದು ಸಾಮಾನ್ಯವಾಗಿ ವ್ಯರ್ಥ ಶ್ರಮ.
ಸಿಸ್ಟಂ ಫೈಲ್ಗಳನ್ನು ಸಂಪಾದಿಸುವುದರಿಂದ ಆರಂಭಿಸಬೇಡಿ. ಪ್ರತಿ ಹಂತವೂ ಕಡಿತವನ್ನು ವಿವರಿಸುತ್ತದೆ ಅಥವಾ ಒಂದು ಸಾಧ್ಯತೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಮತ್ತು ಅಗ್ಗದ ಹಂತಗಳು ಮೊದಲು ಬರುತ್ತವೆ.
ಸೆಷನ್ ಕಡಿತವನ್ನು ಅಂಡರ್ಲೇ ಕಡಿತದಿಂದ ಬೇರ್ಪಡಿಸಿ
ಸಂಪರ್ಕ ಕಡಿತದ ನಂತರ ತಕ್ಷಣ ಮರುಸಂಪರ್ಕ ಮಾಡಿ. ಕೆಲವೇ ಸೆಕೆಂಡುಗಳಲ್ಲಿ, ಅದೇ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ, ಹೊಸ ರುಜುವಾತುಗಳಿಲ್ಲದೆ ಮರಳಿ ಬರುವ ಟನೆಲ್ ಸತ್ತ ಅಪ್ಲಿಂಕ್, Wi-Fi ರೋಮಿಂಗ್ ಅಥವಾ ಕಾನ್ಸೆಂಟ್ರೇಟರ್ನ ನಿಷ್ಕ್ರಿಯ ಟೈಮ್ಔಟ್ ಅಲ್ಲ, ಬದಲಿಗೆ ಮುಚ್ಚಿದ ಸೆಷನ್ನಂತಹ ಸ್ಥಳೀಯ ಪ್ರಚೋದನೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. Connecting ನಲ್ಲಿ ನೇತಾಡುವ ಅಥವಾ ನೆಟ್ವರ್ಕ್ ಬದಲಿಸುವವರೆಗೆ ವಿಫಲವಾಗುವ ಟನೆಲ್ ಬೇರೆ ಲೇಖನ.
ಟನೆಲ್ ಆರಂಭವಾದಾಗ ಏನು ತೆರೆದಿತ್ತು ಎಂದು ಬರೆದಿಡಿ: ನೀವು ಕ್ಲೈಂಟ್ ಓಡಿಸಿದ ಟರ್ಮಿನಲ್, ಯಾವುದೇ ಎರಡನೇ ಶೆಲ್, ಗ್ರಾಫಿಕಲ್ ಲಾಗಿನ್, ಮತ್ತು ಬೇರೆ ಯಂತ್ರದಿಂದ ಯಾವುದೇ SSH ಸೆಷನ್. ಆ ಪಟ್ಟಿ ನಿಮಗೆ ಸ್ವಲ್ಪ ಸಮಯದಲ್ಲೇ ಬೇಕಾಗುತ್ತದೆ, ಮತ್ತು ಮುಂದಿನ ಕಡಿತದ ನಂತರ ನೆನಪಿನಿಂದ ಅದನ್ನು ಮರುನಿರ್ಮಿಸುವುದು ನಂಬಲರ್ಹವಲ್ಲ.
ಸಂಪರ್ಕದ ಸಮಯದಲ್ಲಿ ಕ್ಲೈಂಟ್ ಏನನ್ನು ದಾಖಲಿಸಿತು ಎಂದು ಪರಿಶೀಲಿಸಿ
ಕ್ಲೈಂಟ್ ಪ್ರಕ್ರಿಯೆಯ ಪೋಷಕರನ್ನಾಗಲಿ ಟರ್ಮಿನಲ್ ಮಾಲೀಕತ್ವವನ್ನಾಗಲಿ ಪರಿಶೀಲಿಸುತ್ತಿಲ್ಲ. ಸಂಪರ್ಕದ ಸಮಯದಲ್ಲಿ ಇದ್ದ ಲಾಗಿನ್ ಸೆಷನ್ಗಳ ಗುಂಪನ್ನು ಅದು ಸ್ನ್ಯಾಪ್ಶಾಟ್ ಮಾಡಿ ನಂತರ ಅದೇ ಗುಂಪನ್ನು ಹೋಲಿಸುತ್ತದೆ; ಒಂದು ಸದಸ್ಯ ಕಣ್ಮರೆಯಾದರೆ ಹೋಲಿಕೆ ವಿಫಲವಾಗಿ ಟನೆಲ್ ಅದರೊಂದಿಗೆ ಹೋಗುತ್ತದೆ. ಆದ್ದರಿಂದ ನೀವು ಸಂಪರ್ಕಿಸಿದ ಕಿಟಕಿಯನ್ನು ಮುಚ್ಚುವುದು ನಿರುಪದ್ರವವಾಗಿರಬಹುದು, ಆದರೆ ಸಂಬಂಧವಿಲ್ಲದ ಹೆಚ್ಚುವರಿ ಟರ್ಮಿನಲ್ ಮುಚ್ಚಿದರೆ ಸಂಪರ್ಕ ಹೋಗುತ್ತದೆ: ಆ ಸೆಷನ್ ಮೂಲ ಗುಂಪಿನಲ್ಲಿತ್ತಾ ಎಂಬುದೇ ಮುಖ್ಯ. ಇದು ಎಣಿಕೆ ಅಲ್ಲ, ಗುಂಪಿನ ಹೋಲಿಕೆ, ಆದ್ದರಿಂದ ಸೆಷನ್ ಬದಲಾಯಿಸುವುದೂ ಒಂದನ್ನು ಕಳೆದುಕೊಳ್ಳುವಂತೆಯೇ ಮಾರಕವಾಗಬಹುದು.
ನೀವು ಏನನ್ನೂ ಬದಲಿಸುವ ಮೊದಲು ಕ್ಲೈಂಟ್ ಏನನ್ನು ನೋಡಬಹುದಿತ್ತು ಎಂದು ಪಟ್ಟಿ ಮಾಡಿ:
who
w
last -n 10
sudo ls -l /run/utmpwho ನಿಂದ ಬರುವ ಪ್ರತಿ ಸಾಲೂ utmp ನಲ್ಲಿ ಒಂದು ಬಳಕೆದಾರ ಪ್ರಕ್ರಿಯೆ ನಮೂದು. ನಿಮ್ಮ ಸೆಷನ್ ಎರಡು ಬಾರಿ ಕಾಣಿಸಿಕೊಂಡರೆ, ಒಮ್ಮೆ ಗ್ರಾಫಿಕಲ್ ಲಾಗಿನ್ಗೆ ಮತ್ತು ಒಮ್ಮೆ ಟರ್ಮಿನಲ್ಗೆ, ಎರಡೂ ನಮೂದುಗಳು ಸಂಪರ್ಕದ ಸಮಯದಲ್ಲಿ ಇದ್ದವು ಮತ್ತು ಎರಡೂ ಅಭ್ಯರ್ಥಿಗಳು.
utmp ನಿಂದ ನಿಮ್ಮದೇ ನಮೂದನ್ನು ಮಾತ್ರ ತೆಗೆದುಹಾಕಿ
ಪ್ರಕಟಿತ ಪರಿಹಾರವು ನೀವು ಬಳಸಲಿರುವ ಸೆಷನ್ ಅನ್ನು ಕ್ಲೈಂಟ್ ಆರಂಭವಾಗುವ ಮೊದಲು utmp ನಲ್ಲಿ ಅದೃಶ್ಯಗೊಳಿಸುತ್ತದೆ. ಒಂದು ಸಣ್ಣ C ಪ್ರೋಗ್ರಾಂ getutent() ಅನ್ನು ಸಂಚರಿಸಿ, ut_line ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ನ TTY ಗೆ ಸಮವಾದ ದಾಖಲೆಯನ್ನು ಹೊಂದಿಸಿ, ನಂತರ ಆ ದಾಖಲೆಯನ್ನು ಮತ್ತೆ ಬರೆಯುತ್ತದೆ. ಕ್ರಮ ಉದ್ದೇಶಪೂರ್ವಕ: setutent(), ನಮೂದನ್ನು ಓದಿ, ಅದರ ut_id ಅನ್ನು ನಕಲಿಸಿ, ut_type ಅನ್ನು DEAD_PROCESS ಗೆ ಹೊಂದಿಸಿ, ಬಳಕೆದಾರ ಮತ್ತು ಸಾಲಿನ ಕ್ಷೇತ್ರಗಳನ್ನು ಖಾಲಿ ಮಾಡಿ, pututline() ನಿಂದ ಅದನ್ನು ಮತ್ತೆ ಬರೆಯಿರಿ, ನಂತರ endutent().
ಅದನ್ನು ಕಂಪೈಲ್ ಮಾಡಿ, ನಂತರ ಕ್ಲೈಂಟ್ ಪ್ರಾರಂಭಿಸುವ ಶೆಲ್ನಿಂದ ರೂಟ್ ಆಗಿ ಓಡಿಸಿ:
sudo ./utmpremove && /opt/cisco/anyconnect/bin/vpn -s connect vpn.example.eduಉಪಕರಣ ಏನನ್ನೂ ಮಾಡದಿರುವ ಬಹುತೇಕ ವರದಿಗಳಿಗೆ ಎರಡು ವಿಫಲತಾ ವಿಧಾನಗಳು ಕಾರಣ. ಇದು ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ಗೆ ಜೋಡಿಸಲಾದ TTY ಮೇಲೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಟರ್ಮಿನಲ್ ಇಲ್ಲದ ಸ್ಕ್ರಿಪ್ಟ್ ಅಥವಾ ಕ್ರಾನ್ ಕೆಲಸದಿಂದ ಓಡಿಸಿದರೆ ಹೊಂದಿಸಲು ಏನೂ ಉಳಿಯುವುದಿಲ್ಲ. ಮತ್ತು /run/utmp ಸಾಮಾನ್ಯ ಬಳಕೆದಾರರಿಗೆ ಬರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ, ಆದ್ದರಿಂದ ರೂಟ್ ಅಲ್ಲದ ರನ್ ನಿಶ್ಶಬ್ದವಾಗಿ ವಿಫಲವಾಗುತ್ತದೆ, ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸದಿದ್ದರೆ.
ಟನೆಲ್ ಮುಚ್ಚುವಿಕೆಯನ್ನು ತಾಳಿಕೊಳ್ಳುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ
ಕಾರ್ಯವಿಧಾನವನ್ನು ಊಹಿಸುವ ಬದಲು ಪರೀಕ್ಷಿಸಿ. ನೀವು ಉಳಿಸಿಕೊಳ್ಳಲು ಬಯಸುವ ಸೆಷನ್ನಿಂದ ಸಂಪರ್ಕಿಸಿ, ಎರಡನೇ ಟರ್ಮಿನಲ್ ತೆರೆಯಿರಿ, ಎರಡನೆಯದನ್ನು ಮುಚ್ಚಿ, ನಂತರ vpn state ಮತ್ತು ಇಂಟರ್ಫೇಸ್ ಪಟ್ಟಿಯನ್ನು ನೋಡಿ ಟನೆಲ್ ಇನ್ನೂ ಇದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿ. ಟನೆಲ್ ಉಳಿದರೆ, ಪ್ರಚೋದನೆ ಎಲ್ಲಾ ಸೆಷನ್ಗಳಿಗಿಂತ ನಿರ್ದಿಷ್ಟ ಸೆಷನ್ ಪ್ರಕಾರವಾಗಿತ್ತು, ಮತ್ತು ತೆರೆದಿರಬೇಕಾದ ಸೆಷನ್ ನಿಮಗೆ ಸಿಕ್ಕಿತು.
ಇನ್ನೂ ಕಡಿತವಾದರೆ, ಗಮನಿಸುತ್ತಿದ್ದ ಸೆಷನ್ ಬೇರೆಡೆಯಲ್ಲಿತ್ತು, ಬಹುಶಃ ನಿಮ್ಮ ಟರ್ಮಿನಲ್ ಹುಟ್ಟಿಸಿದ ಗ್ರಾಫಿಕಲ್ ಲಾಗಿನ್, ಮತ್ತು ಒಂದು TTY ನಮೂದನ್ನು ತೆಗೆಯುವುದು ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ. ಹೆಚ್ಚು ಶಸ್ತ್ರಚಿಕಿತ್ಸೆ ಮಾಡುವ ಬದಲು ಮೊದಲ ಹಂತದ ಪೂರ್ಣ ಪಟ್ಟಿಯೊಂದಿಗೆ ವೀಕ್ಷಣೆಯನ್ನು ಪುನರಾವರ್ತಿಸಿ.
utmp ಮರುಬರವಣಿಗೆ ತಪ್ಪು ಉತ್ತರವಾದಾಗ
utmp ಹಂಚಿಕೆಯ ಎಣಿಕೆ, ಖಾಸಗಿ ಕೋಷ್ಟಕವಲ್ಲ. ಇನ್ನೂ ಜೀವಂತವಿರುವ ಸೆಷನ್ನ ನಮೂದನ್ನು ಮರುಬರೆಯುವುದರಿಂದ who, w ಮತ್ತು ಕೆಲವು ಆಡಿಟ್ ಉಪಕರಣಗಳು ಅದನ್ನು ಕಡಿಮೆ ವರದಿ ಮಾಡುತ್ತವೆ, ಮತ್ತು ನಂತರ ಅದೇ ನಮೂದನ್ನು ಮುಚ್ಚುವ ಪ್ರೋಗ್ರಾಂ ಸಂಪೂರ್ಣವಾಗಿ ವಿಫಲವಾಗಬಹುದು. ಉಪಕರಣವನ್ನು ನಿಮ್ಮ ಸೆಷನ್ಗೆ ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸಿ, ಮೂಲ ಫೈಲ್ನ ಪ್ರತಿಯನ್ನು ಇಟ್ಟುಕೊಳ್ಳಿ, ಮತ್ತು ಪ್ರತಿ ದಾಖಲೆಯನ್ನೂ ತೆಗೆದುಹಾಕುವ ಬೂಟ್ ಸೇವೆಯಾಗಿ ಅದನ್ನು ಮಾಡಬೇಡಿ.
ನಿಮ್ಮ ಸಂಸ್ಥೆ ಅನುಪಾಲನೆಗಾಗಿ ಸೆಷನ್ ಎಣಿಕೆ ಸಂಗ್ರಹಿಸಿದರೆ, ಈ ಪರಿಹಾರ ಆ ಅಗತ್ಯಕ್ಕೆ ವಿರುದ್ಧವಾಗುತ್ತದೆ ಮತ್ತು ಬೆಂಬಲಿತ ಉತ್ತರ ಕ್ಲೈಂಟ್ ಆವೃತ್ತಿ ಅಥವಾ ಬೇರೆ ಪ್ರವೇಶ ವಿಧಾನ, ಪ್ಯಾಚ್ ಮಾಡಿದ utmp ಅಲ್ಲ. ಬಹುತೇಕರಿಗೆ ಕನಿಷ್ಠ ಆಕ್ರಮಣಕಾರಿ ಪರಿಹಾರ ಎಂದರೆ ದಿನವಿಡೀ ತೆರೆದಿರುವ ಸೆಷನ್ನಿಂದ ಕ್ಲೈಂಟ್ ಪ್ರಾರಂಭಿಸಿ ಆ ಕಿಟಕಿಯನ್ನು ಬಿಟ್ಟಿರುವುದು.
ಟಿಕೆಟ್ ಮುಚ್ಚುವ ಮೊದಲು, ಟನೆಲ್ ಆರಂಭವಾದಾಗ ಕ್ಲೈಂಟ್ ಯಾವ ಸೆಷನ್ ಗಮನಿಸುತ್ತಿತ್ತು ಎಂದು ದಾಖಲಿಸಿ. ಆ ಒಂದೇ ಸಾಲು ನಿಗೂಢ ಸಂಪರ್ಕ ಕಡಿತವನ್ನು ಯಂತ್ರದಲ್ಲಿನ ಮುಂದಿನ ವ್ಯಕ್ತಿಗೆ ಮರುಸೃಷ್ಟಿಸಬಹುದಾದ ಸ್ಥಿತಿಯಾಗಿ ಬದಲಿಸುತ್ತದೆ.