VPN을 통한 SSH의 터미널 문제

VPN을 통한 SSH의 터미널 문제

Linux Ubuntu 클라이언트 시스템에서 SSH를 통해 Linux Ubuntu 서버에 액세스하려고 합니다.

클라이언트와 서버가 동일한 네트워크에 있으면 모든 것이 잘 작동합니다. VPN(openVPN)을 통해 원격으로 서버에 액세스하려고 하면 mc- Midnight Commander와 같은 전체 화면 응용 프로그램이 제대로 표시되지 않습니다. 즉, 오른쪽 상단 모서리만 표시됩니다. 표시된 화면의 문자가 표시되고 키보드 상호 작용이 작동하지 않는 것 같습니다.

또한 간단한 텍스트 파일에 대해 실행된 cat 명령은 출력을 표시하지 않고 터미널을 정지시킵니다.

이상하게도 Android OpenVPN 클라이언트와 Android SSH 클라이언트를 사용하여 내 안드로이드 휴대폰에서 VPN을 통해 동일한 서버에 액세스하면 모든 것이 잘 작동합니다.

내 Ubuntu 클라이언트 컴퓨터에서는 TERM 환경 변수가 "xterm-256color"로 설정되어 있고 Android 휴대폰에서는 "linux"로 설정되어 있습니다. SSH 세션을 시작하기 전에 Ubuntu 클라이언트에서 "linux"로 설정하려고 하면 작동합니다. 즉, SSH 세션 내에서 터미널이 실제로 "linux"로 설정되어 있지만 아무런 효과가 없다는 것을 의미합니다.

Ubuntu 클라이언트에서도 Putty를 통해 연결을 시도했지만 결과는 동일합니다.

이런 일이 발생하는 이유에 대한 단서가 있습니까?

미리 감사드립니다!

답변1

글쎄요, 저는 결국 여기에 있는 OpenVPN 매뉴얼을 읽고 이에 대한 해결책을 찾았습니다.

https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/

이 문제는 제대로 작동하지 않는 경로 MTU 검색과 관련된 것으로 보입니다.

"--fragment 및 --mssfix는 모두 OpenVPN 피어 간의 네트워크 경로에서 경로 MTU 검색이 중단되는 경우를 해결하도록 설계되었습니다.

이러한 고장의 일반적인 증상은 OpenVPN 연결이 성공적으로 시작되었지만 활성 사용 중에 중단되는 것입니다. --fragment와 --mssfix를 함께 사용하는 경우 --mssfix는 --fragment max 옵션에서 기본 최대 매개변수를 가져옵니다.

따라서 다음 옵션을 사용하면 최대 UDP 패킷 크기를 1300(MTU 관련 연결 문제를 해결하기 위한 좋은 첫 번째 시도)으로 낮출 수 있습니다.

--tun-mtu 1500 --fragment 1300 --mssfix "

서버와 클라이언트 측 모두에 이 두 가지 옵션을 추가하면 문제가 해결되었습니다.

이게 도움이 되길 바란다.

관련 정보