억울한 상황이 생겨 전문가님들의 의견을 듣고 싶습니다
글쓴이: 허대건@Google / 작성시간: 수, 2024/02/07 - 5:14오후
상황 설명: VPN을 통해 SSH 서버에 접속한 상태에서, VPN 사용 로그에 따르면 첫 번째 세션의 시작 시간은 2020-12-18 22:40:28이고 종료 시간은 2020-12-18 23:02:24입니다. 다음 세션은 2020-12-19 00:40:11에 시작하여 2020-12-19 00:52:32에 종료되었습니다. 사용자의 실제 IP는 111.118.29.66이고, VPN을 통해 할당받은 IP는 183.111.73.199입니다.
문제 상황: VPN이 종료된 후에도 SSH 서버 접속 로그에는 VPN을 통해 할당받은 IP(183.111.73.199)로의 접속이 계속 유지되고 있음을 보여줍니다. VPN이 종료된 시점(2020-12-18 23:02:24)부터 다음 VPN 세션 시작 전까지(2020-12-19 00:40:11), 심지어 2020-12-19 01:02:20까지 접속이 유지되었다고 기록되어 있습니다.
문의 내용 요약:
VPN이 종료된 후에도 SSH 서버에 VPN 할당 IP로의 접속이 유지될 수 있는지 여부.
VPN 종료 후 접속이 몇 분 정도 유지되며, 시간이 지나면 로컬 IP로 재접속되는지, 그리고 로컬 네트워크가 끊어지면 모든 접속이 종료되는지에 대한 이해가 맞는지 의견 부탁드립니다.
Forums:
음 ..
ssh 로 연결된 tcp 세션이 명시적으로 종료 패킷을 받지 못했다면, 세션은 timeout 될 때 까지 계속해서 남아 있습니다. 가장 흔하게 볼 수 있는 게, 연결 된 상태에서 그냥 랜선 뽑는거죠..
그러면 내 PC 에서는 서버로 접속할 수 없지만, 서버는 계속 연결이 남아 있는 것으로 보이니까요..
tcp 연결된 상태에서 연결을 종료하기 전에 VPN 터널이 사라지면, tcp 세션으로는 아무런 패킷도 흐를 수 없게 되기 때문에, 서버는 timeout 될 때 까지 연결이 유지된 채로 남아 있게 될 겁니다.
대개는 tcp keepalive time 이 지나면 자동으로 끊어질 텐데.. 만약 ssh server 에 timeout 설정이 되어 있다면 얘도 알아서 끊을 거고, bash 같은 shell 에도 timeout 설정이 되어 있다면, 얘도 알아서 끊을 겁니다.
tcp keepalive 관련 설정은 'sudo sysctl -a | grep keepalive' 과 같은 명령으로 확인 가능하고, 나머지는 해당 서버의 설정에 따라 다릅니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
댓글 달기
감사합니다
저 현상이 나올려면 쉽게말해 로컬 네트워크가 끊어져야 한다는 것이죠?
음 ..
끊어진다는 표현이 꽤 범위가 넓은데..;; 하여튼 내 쪽의 랜선을 뽑거나, 중간에 방화벽으로 해당 세션의 패킷을 drop 하거나, 본문처럼 VPN 터널을 그냥 날리거나 해서.. 해당 tcp 세션이 연결된 상태에서, 패킷을 주고 받을 수 있는 방법을 없애버리면 됩니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
댓글 달기