내가 관리하지 않는 제한된 NAT 게이트웨이 뒤에 있는 컴퓨터에 어떻게 액세스합니까?

내가 관리하지 않는 제한된 NAT 게이트웨이 뒤에 있는 컴퓨터에 어떻게 액세스합니까?

저는 Linux 시스템을 가지고 있으며 SSH, FTP, HTTP 등을 통해 원격으로 액세스할 수 있기를 원합니다. No-IP.com을 통해 동적 DNS를 등록했지만 NAT 뒤의 대학 캠퍼스 네트워크에 있고 포트 전달을 설정하기 위한 라우터에 액세스할 수 없기 때문에 충분하지 않았습니다. 캠퍼스 라우터가 UPnP를 지원하는지 NAT-PMP를 지원하는지 모르겠지만 의심스럽습니다.

어쨌든, 이 문제를 해결하기 위해 VPN을 사용할 수 있는 방법이 있는지 궁금합니다. 예를 들어, 두 컴퓨터 모두에 VPN 소프트웨어를 설치하면 VPN을 통해 랩톱에서 Linux 상자에 액세스할 수 있다는 것을 알고 있습니다. 하지만 나는 소프트웨어를 설치하지 않고도 어느 컴퓨터에서나 내 리눅스 박스에 접근할 수 있기를 원합니다. 아니면 최소한 이 방법으로 HTTP 부분에 액세스할 수 있어야 합니다. 많은 VPN 서비스가 파일 전송 등을 위한 웹 인터페이스를 제공한다는 것을 알고 있지만 일반 FTP 및 SSH 클라이언트 소프트웨어를 사용하여 Linux 상자에 액세스할 수 있기를 바랍니다.

어쨌든, VPN으로 이런 일을 할 수 있나요? 아니면 VPN을 동적 DNS와 연결하는 방법이 있나요? Hamachi VPN 웹사이트를 보았는데, 모든 기능을 비기술적인 용어로 설명하고 있어서 알 수가 없었는데, 계정을 만들기 전에 알고 싶었습니다.

답변1

표면적으로 캠퍼스 방화벽은 캠퍼스 외부에서 컴퓨터로의 연결을 허용하지 않습니다. 따라서 컴퓨터에 연결하려면 내부에서 연결을 시작해야 합니다.

따라서 기숙사에 있는 컴퓨터 D와 캠퍼스 밖의 외부 컴퓨터 E 사이에 일종의 연결이 있어야 합니다. 그러다가 어떤 클라이언트 C에서 기숙사 컴퓨터로 접속하고 싶을 때, 대신 E에 접속하고 E가 연결을 중계하도록 설정해 줍니다.

D→E 연결의 경우 VPN을 사용할 수 있습니다. 이를 위해서는 D와 E에 대한 루트 수준 액세스가 필요합니다. VPN은 D와 E 사이에 IP 연결을 제공하므로 C에서는 E가 C와 D 사이를 라우팅하려는 D의 모든 네트워크 서비스에 액세스할 수 있습니다.

보다 가벼운 솔루션은 D와 E에서 SSH 연결을 설정하는 것입니다. 이를 위해서는 양쪽에 셸 계정만 필요합니다(물론 E는 SSH를 허용해야 함). D부터 시작하여 실행

ssh -R 2242:localhost:22 E sleep 999999999

이렇게 하면 E에서 D로 포트 전달이 생성됩니다. 포트 2242의 E에 대한 모든 연결은 포트 22의 D로 릴레이됩니다. 포트 22는 SSH 포트이므로 이것을 실행하면 ssh -p 2242 E로그인할 수 있는 D에 ​​연결됩니다. 이를 자동화하려면 다음과 같이 별칭을 정의할 수 있습니다 ~/.ssh/config(PuTTY의 설정도 비슷합니다. 설명서 참조).

Host dorm
UserName bob
HostName E
Port 2242

이 방법으로 여러 포트를 라우팅할 수 있습니다. 예를 들어 E의 포트 8042를 D의 포트 80으로 릴레이하려면 다음을 수행합니다.

ssh -R 2242:localhost:22 -R 8042:localhost:80 E sleep 999999999

D에서 네트워크 연결을 시작할 때마다 이 명령을 다시 실행해야 합니다.

답변2

컴퓨터가 NAT 뒤에 있지 않은 경우(즉, 인터넷에서 자유롭게 액세스할 수 있는 경우) sshNAT를 입력 할 수 있습니다.~에서옵션은 캠퍼스 컴퓨터에 대한 OpenSSH이며 해당 SSH 세션을 통해 원격 포트를 적절한 로컬(캠퍼스 컴퓨터) 포트로 전달하는 것입니다 -R. 그런 다음 비 NAT 시스템의 전달된 포트에 연결하고 캠퍼스 시스템의 SSH는 캠퍼스 NAT를 통해 데이터를 전송합니다. 조금 투박하지만 작동합니다.

답변3

VPN이 이 문제를 해결할 수 있습니다. 그렇습니다.

특히 포트 전달을 허용하는 VPN이 필요합니다. 경험이 있을 뿐입니다물와드VPN도 이 기능을 제공하지만 다른 많은 VPN도 이 기능을 제공할 것이라고 확신합니다.

대부분의 서비스에서는 임의의 포트(예: SSH의 경우 22)를 전달할 수 없으므로 번호가 높은 "무작위" 포트를 사용해야 합니다. 그러나 이를 위해 ssh/ftp를 구성하는 것은 매우 간단합니다.

관련 정보