매일 밤 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)에 행 을 추가하여이 변경을 영구적으로 만들 수 있습니다 .
답변
-
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
-
네트워크 연결을 위해 해당 MTU를 설정하십시오.
ip link set eth0 mtu 1196
(이것은 일시적입니다)