OpenVPN을 통한 SSH 세션은 몇 줄 후에 차단 / 잠김


12

데비안 6 (ARM)을 실행하는 수많은 팬리스 PC가 있습니다. 이들 중 대부분은 comcast를 통해 연결되며 정상적으로 작동합니다. 'WiMax'모뎀에 연결되어 있고 통신 문제가있는 것이 있습니다.

특히 :이 중 하나에 ssh하고 'ps -ax'와 같은 명령을 시도하면 약 3 줄이 돌아가고 세션이 잠 깁니다. 내가 앉게하면 결국 '피어가 닫은 세션'으로 닫힙니다.

내가 시도한 것 :

  • ssh -vvv → 오류 메시지 없음
  • ssh <user@host> 'command'→ 때로는 명령의 전체 출력을 반환합니다. 때로는 전혀 연결되지 않습니다.

시도해 볼 다른 것들에 대한 제안?

나는 몇 가지 명령을 성공적으로 실행할 수 있음을 발견했다. cd ~그런 다음 lf작동합니다 df -h. 나는 df여러 번 성공적으로 실행할 수 있지만 더 많은 출력 (예 :)으로 무언가를 시도하자마자 ls /etc잠 깁니다.

OpenVPN을 사용 하여이 두 호스트간에 통신하려고한다는 점에서 차이가 있습니까?


경로 MTU가 구성된 인터페이스 MTU보다 낮지 않아야합니다. SSH는 조각화되지 않으므로 DF 비트가 설정되면 패킷이 대신 삭제됩니다. 훨씬 더 자세한 설명을 보려면 이것을 읽으십시오 .
Aaron Copley

1
모든 인터페이스에서 MTU를 1400으로 설정하려고 시도했지만 명백한 효과는 없습니다. 테스트 결과 ping -c 1 -s $((5000-28)) -M do machine-ip
1500-

1
tracepath -n <ip>이것을 확인합니다 : 1500은 전체적으로 허용됩니다.
ethrbunny

1
내 무지를 용서하지만 -T이 경우 어떻게 도움이됩니까?
Aaron Copley

2
<두 번째 단락을 읽습니다> MTU 문제입니다. <추가 정보> 네, MTU 문제입니다. 설명 은 이 스레드 를 참조하십시오 . 다른 스레드가 논의하지 않는 한 가지 문제가 있기 때문에 복제본으로 닫으려고하지 않습니다. 문제를 해결하기 위해 VPN 구성에서 변경해야 할 사항입니다.
Gilles 'SO- 악의를 멈춰라'

답변:


11

MTU 문제 의 증상이 있습니다. 일부 TCP 연결이 특정 명령이나 URL에 대해 어느 정도 재현 가능하지만 전체 패턴을 쉽게 식별 할 수 없습니다. 중요한 증상은 대화식 ssh 세션이 큰 출력으로 명령을 실행하지 않는 한 잘 작동한다는 것입니다. 설명 은 PPPoE통해 Linux에서 일부 https 사이트에 액세스 할 수 없음을 참조하십시오 .

OpenVPN에는 매뉴얼에서 "mtu"를 검색하는 몇 가지 MTU 관련 옵션이 있습니다. 어떤 옵션을 변경해야하는지 확신 할 수있는 충분한 경험이 없습니다. (Wimax 모뎀 구성에서 무언가를 변경할 수도 있습니다.) 가장 변경 가능한 옵션은 다음과 mssfix같습니다. 문제가 해결 될 때까지 값을 낮추십시오. 기본값은 1450입니다. 1400 정도가 문제를 해결할 수 있습니다. 시도하십시오 openvpn --fragment 1200 -mssfix; 도움이되는 경우 깨지기 시작할 때까지 값을 늘리십시오.


mssfix 1200서버에서 설정 하고 다시 시작하여 시작합니다. 여태까지는 그런대로 잘됐다. 이것이 작동하면 1300 또는 1400으로 올리고 어떤 일이 발생하는지 봅니다. 모든 원격 구성을 변경할 클라이언트가 너무 많으므로 서버 측에서 수행해야합니다.
ethrbunny

나는 그것이 MTU 라는 것을 알고 있었다!
Aaron Copley 14

3

Gilles의 답변은 완전히 맞지만 이것에 대한 또 다른 잠재적 원인이 있습니다.

OpenVPN 버전 2.3.0에는 많은 양의 데이터를 보낼 때 클라이언트 연결을 끊는 버그가있었습니다. https://community.openvpn.net/openvpn/ticket/263

이 문제는 TCP를 사용할 때만 발생했습니다. UDP는 완전히 영향을받지 않았습니다.


3

우리는 같은 문제가 있었고 실제로 MTU 문제였습니다. 그러나 우리에게는 문제가 openVPN 구성이 아니라 tun0 인터페이스에있었습니다.

해결 방법 : 먼저 통과 한 최대 패킷 크기를 찾으십시오.

ping <host> -s 1500 -M do

그리고 값이 통과 할 때까지 1500 값을 줄입니다 (1350).

올바른 값을 찾으면 tun0 인터페이스를 다음과 같이 변경하십시오.

sudo ip link set dev tun0 mtu 1350

등은 세바스찬에 의해 제안되었다 여기 . 그 후 VPN은 순조롭게 진행되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.