VPN을 통한 파일 복사 중 SCP 정지 문제 파일 사본은 거의 몇

매일 밤 VPN을 통해 SCP를 통해 원격 리눅스 서버에 복사해야하는 일련의 파일이 있습니다. 파일 크기는 크지 않습니다. 여기서는 수십 메가 바이트에 대해 이야기하고 있지만 파일 사본은 거의 몇 초 후에 거의 항상 정지됩니다. -vvv를 사용하여 SCP 명령을 실행하면 시도한 복사 과정에서 다음과 같은 사항이 반복적으로 나타납니다.

debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072

이견있는 사람? 나는이 질문이 여러 곳에서 묻는 것을 보았지만 결코 대답하지 않았습니다. 도움을 주시면 감사하겠습니다.



답변

VPN을 통해 ICMP를 허용합니까? “몇 초 후 TCP 연결이 중단됨”은 종종 ” PMTU 블랙홀 “로 해석됩니다 .


답변

@Gerald의 답변과 유사하게이 페이지 http://www.netheaven.com/pmtu.html 은이 문제에 직면했을 때 MTU 검색 및 옵션에 대한 좋은 설명을 제공합니다.

또한 IPSec VPN 터널과 관련된 IP 조각화, MTU 검색 및 MSS에 대해 설명하는 Cisco 백서도 있지만 유사한 상황에도 동일하게 유효합니다. http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml


답변

사용중인 모든 ssh 서버 및 클라이언트의 최신 버전을 실행 중입니까? 또한 다소 모호한 것처럼 이메일 목록을 조회하는 것이 좋습니다.


답변

우리는 scp와 비슷한 spurios 문제를 일부 Linux 서버와 비슷했습니다 (Debian, 2.6.24-etchnhalf).

원격 서버에서 TCP 변수 tcp_sack ( “tcp 선택적 승인”)을 비활성화하여 스톨을 제거 할 수있었습니다.

sysctl -w net.ipv4.tcp_sack=0

데비안에서는 기본적으로 tcp_sack이 활성화되어 있습니다. http://www.frozentux.net/ipsysctl-tutorial/chunkyhtml/tcpvariables.html을 읽으면 이 옵션을 비활성화하는 것이 의미가 없지만 우리의 경우 도움이되었습니다.

net.ipv4.tcp_sack=0/etc/sysctl.conf (다른 Linux 시스템 YMMV)에 행 을 추가하여이 변경을 영구적으로 만들 수 있습니다 .


답변

  1. Path MTU를 찾으십시오

    ping -M do -s 1472 host.domain
    PING host.domain (10.0.0.1) 1472(1500) bytes of data.
    ping: sendmsg: Message too long
    ping: local error: Message too long, mtu=1196
    ^C
    ping -M do -s 1168 host.domain
    PING host.domain (10.0.0.1) 1168(1196) bytes of data.
    1176 bytes from 10.0.0.1: icmp_seq=1 ttl=60 time=283 ms
    ^C
    
  2. 네트워크 연결을 위해 해당 MTU를 설정하십시오.

    ip link set eth0 mtu 1196
    

    (이것은 일시적입니다)