네트워크의 각 컴퓨터에 고유 URL을 제공하는 방법은 무엇입니까?


2

대학에있을 때 기억 p1.someuniversity.edu하거나 p2.someuniversity.edussh를 통해 컴퓨터 실의 개별 워크 스테이션에 원격으로 액세스 할 수있었습니다 .

이제 집에서 다음과 같이 설정했습니다.

  • 고정 IP : 123.123.321.321
  • 도메인 : mydomain.com
  • 홈 서버를 포함한 여러 컴퓨터가 모두 라우터에 연결됨
  • 라우터는 dd-wrt로 구성됩니다

라우터에서 포트 포워딩을 사용하여 홈 서버로 원격 데스크톱을 전송 한 다음 도메인 등록 기관 www.mydomain.com에 내 정적 IP 를 가리 키 도록 지시 할 수 있습니다. 그러나 네트워크의 다른 컴퓨터에 액세스하려면 어떻게해야합니까? 예를 들어 네트워크에 우분투 데스크탑이 있다면 어떻게 그것을 통해 ssh 할 수 wkst1.mydomain.com있습니까? 또한 대학 컴퓨터 실에 있던 네트워크 설정 유형의 이름이 있습니까?

답변:


2

URL은 호스트뿐만 아니라 프로토콜, 호스트 및 해당 호스트의 리소스 위치 등 세 가지를 지정하기위한 것입니다. 모든 프로토콜이 URL을 사용하거나 의미가있는 것은 아닙니다. SSH는 그중 하나입니다 (물론 SFTP는 다릅니다).

실제로 묻는 것은 네트워크의 각 컴퓨터에 외부에서 확인할 수있는 고유 한 도메인 이름을 부여하는 방법입니다.

ISP가 제공 한 단일 IP를 가지고 있고 사설 IP 범위 LAN에있는 시스템과 NAT 라우터를 사용하는 표준 상주 ISP 고객 일 것입니다. 따라서 앞에서 언급 한 바와 같이 대학이 수행 한 작업을 수행 할 수 없습니다. 대학이 수행 한 작업은 자체 공용 IP 주소를 가진 각 컴퓨터에 따라 다릅니다. 일부 컴퓨터에는 큰 IP 블록이 할당되어 있으므로 대학에서 가능합니다. 그러나 이것은 주거용 ISP 고객에게는 일어나지 않을 것입니다.

라우터가 개인 DNS 서버를 "the"DNS 서버로 제공하고 네트워크의 각 컴퓨터에 내부적으로 액세스 가능한 도메인 이름을 할당하도록 라우터에 지시하는 것은 아무것도 없습니다. DNS 전달자를 설정하지 않는 한 google.com과 같은 외부 호스트를 확인하기 전까지는 집안에서 아름답게 작동하지만 다른 주제입니다.

필자는 DHCP "도메인"옵션을 너무 명확하게 밝히지 않았지만이 시나리오에서 네트워크 외부에서 도달 할 수있는 항목에는 영향을 미치지 않으며 영향을 줄 수 없습니다.

단일 공용 IP의 경우 도메인 이름을 얻을 수 있으며 no-ip.com과 같은 공급자에게 무료로 제공하는 공급자가 있습니다. 네트워크에서 어딘가에서 공급자를 변경하여 클라이언트를 변경해야합니다. 공개 IP 주소 no-ip.com을 사용하면 원하는 컴퓨터를 가리키는 최대 두 개의 도메인을 가질 수 있습니다. 그러나 둘 다 단일 공용 IP를 가리키면 도메인이 "이 문자열 =이 IP 주소"이상의 개념을 갖지 않기 때문에 실제로 동일한 위치를 가리 킵니다.

따라서 SSH와 같은 것들은 포트 포워딩에 붙어 있습니다. TCP 1000과 같은 트래픽을 첫 번째 worktaiton의 개인 IP 포트 22로 전달한 다음 TCP 1001을 두 번째 워크 스테이션의 개인 IP 포트 22로 전달하도록 라우터에 지시해야합니다.

HTTP를 사용하면 많은 웹 서버가 한 URL이 실제로 다른 웹 서버의 프런트 엔드 인 "역 프록시"라는 작업을 수행 할 수 있습니다. 따라서 워크 스테이션 1에서 웹 서버를 실행중인 경우 (예 : http : //mypublicname.no-ip.invalid)- "workstation2"디렉토리와 같은 프록시를 Apache를 실행중인 두 번째 워크 스테이션으로 리버스하도록 Apache를 구성 할 수 있습니다. 따라서 최종 결과는 http : //mypublicname.no-ip.invalid 가 워크 스테이션 1의 웹 서버와 통신하고 http : //mypublicname.no-ip.invalid/workstation2라는 것입니다.워크 스테이션 1의 웹 서버가 워크 스테이션 2의 웹 서버와 통신하고 결과를 다시 전달하도록합니다. 이것은 프로토콜에 따라 다르며 HTTP 이외의 다른 것이 "역 프록시"될 수 있는지 잘 모르겠습니다. 지원하지 않는 스크립트 나 Apache 플러그인이 없으면 HTTP 리버스 프록시를 통해 RDP를 수행 할 수 없습니다.

Adito 일명 OpenVPN ALS 와 같은 SSL VPN을 살펴볼 수도 있습니다 . 터널을 설정하고 매우 멋진 인터페이스를 제공합니다. 설정하는 것이 매우 편리하고 가치가 있습니다.


내가받은 모든 답변을 바탕으로, 나의 초기 질문은 대학 컴퓨터 실이 내 홈 네트워크와 비슷한 토폴로지를 가지고 있다는 (올 바르고 순진한) 가정에 근거한다는 것을 깨달았습니다. John과 Hennes가 제안한 포트 포워드 솔루션을 사용하게 될 것입니다. Btw, URL에 대한 설명에 감사드립니다. 실제로 네트워크에 대한 이해가 부족했습니다.
DaveS

3

대학 실험실은 완벽하게 표준이었습니다. 특별한 것은 없었습니다. 가정에서는 모든 머신에 도달하기 위해 단일 IP를 통과하므로 시작점이 좋은 것이지만 대체 포트를 다른 시스템으로 전달해야합니다. 예 : Ubuntu 데스크탑에서 포트 2022를 포트 22로 전달한 다음 포트 2022와 동일한 호스트 이름으로 ssh를 사용하여 Ubuntu 시스템의 SSH로 이동하십시오. 이 상황에서 Alex의 권장 사항을 따르고 정적 내부 DHCP 임대를 설정하는 것이 좋습니다.


0

dnsmasq 서비스 를 활성화 하고 컴퓨터에 정적 DHCP 임대 (선택 사항) 및 도메인 이름을 할당해야합니다.


따라서 관련 컴퓨터에 대한 정적 DHCP 임대가 있지만 dnsmasq의 도메인 설정이 구체적으로 무엇인지 이해하지 못했습니다. 네트워크의 컴퓨터에 호스트 이름이 "computer1"인 경우 computer1.mydomain.com을 사용하여 네트워크에서 컴퓨터를 참조 할 수 있습니까? 네트워크 외부에있는 경우에도 computer1.mydomain.com을 사용하여 참조 할 수 있습니까? 내 직감은 내가 할 수 없다는 것을 말해줍니다.
DaveS

여전히 원격 데스크톱 서버에 먼저 연결해야합니다. 로컬 DNS 이름을 사용할 수 있습니다. 외부에서 직접하지는 않음
Alex P.

0

대학의 컴퓨터는 대부분의 일반 인터넷처럼 작동했습니다. 각 컴퓨터에는 고유 한 IP가 있습니다. 또한 IP 번호를 입력하지 않고 이름 기반의 컴퓨터에 연결할 수 있도록 DNS를 구성했습니다.

이 전화 번호를 가진 모든 사람과 비교할 수 있습니다.

집에서도 비슷한 일을 할 수 있습니다. 그러나 대부분의 홈 설정에는 단일 IP v4 주소 만 제공됩니다. 즉, 다음 중 하나를 의미합니다.

  1. 한 대의 컴퓨터 만 동시에 사용하거나
  2. '속임수'를해야합니다.

여기에 속임수는 일반적으로 NAT를 보내고. 전화 비유는 단일 전화 번호를 갖는 것입니다. 문에 접수 원을 추가하십시오. 각 전화는 건물에있는 사람이 아니라 안내 원에게 전화를 겁니다. 그런 다음 내부 전화 중 하나에 연결하도록 요청합니다.

단일 번호 (단일 전화 번호 cq 단일 IP) 만 있기 때문에 전화만으로 내부의 특정 사람 (컴퓨터)을 지정할 수 없습니다. 속임수를 더 추가해야합니다. 예를 들어 전화 번호 A의 모든 전화는 즉시 영업에 연결됩니다. 전화 번호 B의 모든 전화는 즉시 법적으로 처리됩니다.

이 경우 putting the call though포트 포워딩입니다.

IP : 포트에 대한 연결은 방화벽에 의해 인식되며 로컬 연결을 설정하는 대신 컴퓨터 중 하나로 전달합니다.

각 IP : port 조합은 고유하기 때문에 단일 컴퓨터에만 전달할 수 있습니다.

NAT 네트워크 내의 여러 컴퓨터에 연결하려면 고유 한 포트에 대해 몇 가지 전달 규칙을 사용하여 방화벽을 구성해야합니다.

예 :
(my_ip : port_2022)에 대한
모든 연결 을 컴퓨터 A :, 포트 22로 전달하십시오. (my_ip : port_3022)에 대한
모든 연결을 컴퓨터 B :, 포트 22에 전달하십시오. (my_ip : port_4022)에 대한 모든 연결을 컴퓨터 C :, 포트 22.

이것에 대한 유일한 잠재적 실행은 HTTP입니다. IP : 포트에 요청을 보낼뿐만 아니라 패키지에 호스트 이름도 언급하기 때문입니다. 그러나 이것은 예외입니다. 대부분의 프로토콜은 대상 호스트 이름을 언급하지 않습니다.


domain-ip 변환기를 사용하여 조금 더 조사한 결과, 해당 컴퓨터 실의 모든 워크 스테이션에 IPv4 주소가있는 것 같습니다. 귀하의 솔루션을 사용하여 www.mydomain.com:2022와 같은 URL을 사용하여 컴퓨터에 연결합니다. 그 맞습니까? 이것은 각각의 IP 주소가없는 개별 컴퓨터에 자신의 URL을 부여 할 수있는 방법이 없다는 것을 의미합니까?
DaveS

1) 각각의 공개적으로 접근 가능한 IP 주소 (IP v4 또는 IPv6)를 제공하고 연결하십시오. 이것이 인터넷이 설계된 방식입니다. 또는 2) 모든 HTTP 트래픽을 단일 웹 서버로 리디렉션하고 호스트 이름을 기반으로 요청을 전달하십시오. (호스트 이름이 HTTP 요청 또는 3으로 전송된다는 사실을 사용) 각 컴퓨터마다 다른 포트를 사용하십시오. (포스트의 예에서와 같이).
Hennes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.