SSH 및 ddns: 원격으로 연결할 수 있지만 로컬로는 연결할 수 없습니다.

SSH 및 ddns: 원격으로 연결할 수 있지만 로컬로는 연결할 수 없습니다.

나는IP 없음이 계정은 내 집에 있는 SSH 서버에 원격으로 액세스하는 데 사용되는데 myserver.ddns.net, 외부에서만 잘 작동합니다.

바깥으로부터:

원격 핑:

$ ping myserver.ddns.net # success

원격 SSH:

$ ssh myserver.ddns.net # success

현지에서:

로컬 핑:

$ ping 192.168.2.8 # success

로컬 SSH:

$ ssh 192.168.2.8 # success

원격 핑:

$ ping myserver.ddns.net # success, resolving to 90.113.108.192

원격 SSH:

$ ssh myserver.ddns.net # loOong time waiting, then..
Connection closed by 90.113.108.192 port 22

왜 그럴까요?

답변1

보다 정확하게 말하면 내부 네트워크에서 NAT에 액세스하는 것과 관련된 대답은 다음과 같습니다. 다음과 같은 이유로 그렇게 하고 싶지 않습니다.

  • 소비자급 기술의 한계;
  • 성능 이유 - NAT는 더 많은 CPU 리소스와 메모리를 사용합니다. 하지만 국내 규모에서는 문제가 되지 않습니다.
  • 라우팅은 더 복잡합니다. 이를 사용하거나 디버깅하십시오.

대안은 다음과 같습니다:

  • 로컬 서버에서만 액세스하는 경우 호스트 파일 항목을 만듭니다.
  • 네임서버를 생성하고 공개 DNS 이름에 대한 보기를 생성합니다. 귀하가 제시하는 경우는 아니지만 일반적으로 기업에서 사용됩니다.
  • 이름 서버를 만들고 ssh.home과 같은 사용자 정의 내부 이름을 만듭니다.
  • BIND+RPZ를 사용하고 외부 이름을 내부 IP 주소로 다시 정의하십시오.
  • 라우팅을 위해 Linux 시스템을 사용하는 경우 iptables+NAT를 사용하여 외부 IP에 대한 SSH 세션을 캡처하고 이를 내부 IP 주소에 NAT합니다.

IP 주소 캡처/호스트 파일 생성에 대한 내 의견은 집에서 DDNS 주소를 처리하는 방법에 대한 답변을 참조하세요.ISP 변경 IP 주소를 처리하는 더 나은 방법은 무엇입니까?

BIND+RPZ의 경우 다음을 참조하세요.

BIND를 전달자 전용(루트 프롬프트 없음), 암호화 + RPZ 블랙리스트/화이트리스트로 구성

Bind9의 대형 영역 파일: 광고 차단

답변2

좋아요 댓글과이 페이지, 내가 이해하는 바에 따르면 라우터가 이러한 것을 허용하지 않는 것은 "일반적인 보안 기능"입니다.NAT 루프백":로컬 컴퓨터에서 다른 로컬 컴퓨터로 연결통과하다외부 도메인 확인.

해결 방법으로 다음을 제안했습니다.

  • openwrt 또는 ddwrt와 같은 사용자 정의 이미지를 사용하여 기본 라우터 소프트웨어를 교체하십시오. (건배이프레 세세)
  • 로컬 DNS 서버를 설정하세요(안녕하세요)여우)

이 목록에 추가할 수 있는 다른 항목을 자유롭게 제안해 주세요 :)

관련 정보