하지만

하지만

문제가 생겼는데 4일 동안 아무도 문제를 해결하지 못했습니다. 문제는 데이터 센터에 있을 수 있습니다.

문제는 한 서버가 다른 서버와 통신할 수 없다는 것입니다. 내 서버를 살펴보기 위해 두 소프트웨어 제공업체로부터 기술 지원을 받았지만 구성 오류를 찾을 수 없었습니다.

하지만 두 서버 모두 내 홈 네트워크에서 SSH를 통해 액세스할 수 있습니다. 그렇다면 홈 네트워크에서 다음을 수행하도록 VPN 터널을 (쉽게) 만드는 방법은 무엇입니까?

Server2 --> Home PC IP --> Server1

아니면 그 반대로 SSH가 작동하기 위한 내 홈 IP가 모든 종류의 NAT 차단이나 연결을 차단할 수 있는 모든 것을 우회하는 일종의 프록시 역할을 하도록 하시겠습니까?

문제는 두 번째 서버는 어차피 일시적일 뿐이므로 핵심 문제가 해결되지 않았더라도 이렇게 하면 문제가 해결된다는 것입니다. 한 서버에서 다른 서버로 직접 많은 양의 데이터를 가져오면 됩니다.

이 문제를 우회하기 위해 터널을 어떻게 설정할 수 있습니까?

답변1

집에서 Server1로 SSH 세션을 열고 원격 포트 2222를 로컬 포트 ​​2222로 전달하도록 지시해야 합니다.

ssh -Nt -g -4 -R *:2222:localhost:2222 server1.public.net # 1

그러면 Server1의 포트 2222에서 수신 대기 포트가 열립니다. 따라서 Server1에서 "ssh 127.0.0.5 -p 2222"를 실행한다면 실제로 실행 중인 모든 항목에 연결됩니다.당신의 가정용 기계포트 2222에서.

현재 이 포트에서는 아무것도 실행되고 있지 않습니다.

첫 번째 터널을 실행 중인 상태로 두고 Server2에 대해 다른 명령을 실행합니다.

ssh -Nt -g -4 -L 2222:localhost:22 server2.public.net # 2

즉, 가정용 컴퓨터의 포트 2222에 연결하는 사람은 이제 실제로 server2의 로컬 포트 ​​22에 연결됩니다.

이 두 프로세스가 실행되고 나면 Server1에 연결하면 수신 포트 2222를 찾을 수 있습니다. Server1의 이 포트에 연결하면 Server2가 응답합니다.

따라서 server1의 "/tmp"에서 server2의 "/var/tmp"로 server1의 파일을 복사하려면 다음을 수행합니다.

 scp -P 2222 /tmp/myfile [email protected]:/var/tmp

연결 속도는 상당히 느리고 최적화할 수 있지만 이렇게 하면 상황이 더 간단해집니다.

127.0.0.5 대신 127.0.0.5를 사용한 이유는 서버가 이미 "127.0.0.1" 헤더 아래에 자체 키를 가지고 있을 수 있고 SSH가 키 불일치를 감지하면 불만을 표시하기 때문입니다(포트 2222 서버는 server2에 응답하기 때문입니다). , 서버가 아님1).

처음 연결하면 포트 2222의 서버 127.0.0.5를 알 수 없으며 해당 키를 알려진 호스트에 저장하려는 경우 경고 메시지가 표시됩니다. 수용하다. 이것이 server2의 핵심입니다.

안전을 위해 더 이상 필요하지 않으면 사용자의 홈 디렉토리에서 ~/.ssh/known_hosts 파일을 찾을 수 있으며 그 안에 몇 줄이 있습니다. 마지막 줄은 다음과 같습니다.

server2.whatever,127.0.0.5 ssh-rsa AAAAB3...

("127.0.0.5"는 원하는 라인을 식별하는 중요한 부분입니다). 이 줄을 삭제하세요. 내 시스템은 127.0.0.1과 127.0.0.5를 혼동한 적이 없는데 왜 위험을 감수합니까?

하지만

...다음번,한 서버가 다른 서버와 통신할 수 없습니다.그다지 도움이 되는 설명은 아닙니다. 당신은 무슨 일이 일어나고 있는지 알고 있지만 명확하게 전달하지 않습니다. 다음 상황 중 하나가 발생할 수 있습니다.

  • server1은 server2를 ping할 수 없습니다(방화벽, 라우팅, IP 충돌).
  • server1이 server2에 연결할 수 없습니다(방화벽, DNS 문제).
  • server1이 연결되었지만 정지됨(비밀번호 불일치? ssh -vvvv 사용)
  • server1이 연결되었지만 거부되었습니다(잘못된 키, 사용자가 일반 텍스트 비밀번호로 로그인할 수 없음, sshrc 구성 오류...)
  • server1이 연결되지만 연결이 빨리 멈춥니다(MTU 불일치?)
  • 물론 아직 경험하지 못한 것들도 있지만

관련 정보