
네트워킹이나 Linux에 대한 경험이 많지 않지만 홈 네트워크 외부에서 Ubuntu 가상 머신에 SSH를 통해 연결하려고 합니다. Ubuntu 가상 머신(VirtualBox)이 Debian 데스크탑에서 실행되고 있습니다. 몇 가지 조사를 한 결과 포트 22를 라우터에서 가상 머신으로 전달해야 한다는 사실을 발견했습니다.
- VM의 네트워크 설정을 브리지로 변경했습니다.
- 포트를 VM으로 전달하고 있습니다.
- 나는 확인했다(http://www.yougetsignal.com/) 포트가 열린 것으로 표시됩니다.
그런데 연결하려고 해도 여전히 작동하지 않습니다. ssh 사용자 이름@ -- 연결이 거부되었습니다.
들어오는 연결을 허용하기 위해 가상 머신 내부에서 수행해야 하는 작업이 있습니까? 아니면 어떤 포트를 전달하시겠습니까?
내가 잘못하고 있는 것이 있나요? 어떤 도움이라도 주시면 감사하겠습니다!!
답변1
기본적으로 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 및 방화벽 구성을 다시 확인해야 합니다.
답변2
내가 수집한 바에 따르면 문제는 서버 컴퓨터 네트워크에 있습니다. 일단 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
답변3
현재 상황을 살펴보면 다음을 사용하여 VM에 대한 방화벽을 구성해야 할 것 같습니다. $ sudo ufw allow ssh
답변4
"NAT 모드"에서도 이 작업을 수행할 수 있으며, Found Oracle VM Virtualbox에는 포트 전달 기능이 있습니다.
Virtualbox 설정 > 네트워크 > 어댑터(NAT) > 고급 > 포트 전달로 이동하세요.