Ubuntu VM에 원격으로 SSH 경험이 많지 않지만 홈 네트워크 외부에서 Ubuntu

네트워킹이나 Linux에 대한 경험이 많지 않지만 홈 네트워크 외부에서 Ubuntu 가상 머신으로 ssh하려고합니다. 데비안 데스크탑에서 우분투 가상 머신 (VirtualBox)을 실행하고 있습니다. 몇 가지 조사를 수행 한 후 포트 22를 라우터에서 가상 머신으로 전달해야한다는 것을 알았습니다.

  • VM의 네트워크 설정을 브리지로 변경했습니다.
  • 포트를 VM으로 전달하고 있습니다.
  • 포트를 열린 것으로 표시하기 위해 ( http://www.yougetsignal.com/ )을 확인했습니다 .

그러나 연결을 시도해도 여전히 작동하지 않습니다. ssh username @-연결이 거부되었습니다

들어오는 연결을 허용하기 위해 가상 머신 내부에서해야 할 일이 있습니까? 아니면 어떤 포트를 전달 하시겠습니까?

내가 잘못하고있는 것이 있습니까, 어떤 도움이라도 대단히 감사하겠습니다!!



답변

기본적으로 VirtualBox는 “NAT”모드에서 작동합니다. 즉 “가상”네트워크를 구축하고 VM에서 네트워크 액세스를 외부 세계로 변환하여 실제 컴퓨터에서 온 것처럼 보입니다.

VirtualBox는 VM이 ​​네트워크에 연결되어 있다고 생각하지만 실제로 VirtualBox는 미니 DHCP 서버를 포함한 네트워크 서비스를 제공하고 있습니다. 그런 다음 VirtualBox는 VM을 대신하여 네트워크 액세스를 수행하여 PC에서 실행중인 다른 응용 프로그램으로 나타납니다.

그러나 이것은 외부 세계가 실제로 VM에 대해 알지 못하고 직접 액세스 할 수 없음을 의미합니다.

포트 리디렉션이 홈 라우터에서 VM이 아닌 PC로 리디렉션되었다고 생각합니다. VirtualBox 측에서 일부 구성이 누락되었을 수 있습니다. 이미이 작업을 수행 한 경우 사과하지만 이에 대한 질문은 명확하지 않습니다.

기본적으로 VM의 네트워크 구성을 변경하고 “브리지”로 설정해야합니다. 이것이하는 일은 PC에 가상 인터페이스를 만들고 VM을 사용하여 외부 세계에 액세스하도록하는 것입니다. 해당 인터페이스로 들어 오거나 들어가는 모든 것은 VM으로 파이프됩니다. 따라서 VM은 PC가 연결된 네트워크에 고유 한 MAC 주소가있는 다른 컴퓨터로만 표시됩니다.

그런 다음 네트워크 구성에 따라 VM이 라우터에 연결된 다른 PC와 같은 DHCP 주소를 얻거나 고정 IP 주소를 구성해야 할 수 있습니다. 네트워크 설정 방법에 따라 다릅니다.

VM에 “실제”주소가 있으면 라우터에서 발견 한 지침에 따라 포트 22를 VM의 IP 주소로 라우팅 할 수 있습니다. 예상대로 작동합니다.

그렇지 않은 경우 :

  • VM의 방화벽 구성 (iptables -L -n)을 확인하십시오. 아무것도 막고 있습니까?
  • 로컬 네트워크에 다른 컴퓨터를 설정하고 VM의 IP 주소로 SSH를 시도하십시오. 가능하면 라우터에서 전달 구성을 다시 확인해야합니다. 그렇게 할 수 없으면 VM의 SSH 및 방화벽 구성을 다시 확인해야합니다.

답변

내가 수집 할 수있는 것에서 문제는 서버 컴퓨터 네트워크에 있습니다 .VM 네트워크를 브리지 모드로 설정하면 이동하는 것이 좋습니다 ( ssh <your.vm.ip.number>vm이 아닌 서버 명령 줄에서 확인 ).

머신에서 NAT를 사용하는 vm처럼 서버가 라우터 뒤에 있습니다.

vm의 로컬 IP 주소를 포트 / 포트 범위로 전달할 수 있도록 서버 네트워크 관리자에게 문의해야합니다 (vm에 고정 IP 주소가 있는지 확인).

서버 게이트웨이에 권한이 있으면 직접 할 수 있습니다.

약간의 시각화 :

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            |
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5