Ubuntu에서 실행되는 Virtualbox에서 Windows 가상 머신을 어떻게 분리합니까?

Ubuntu에서 실행되는 Virtualbox에서 Windows 가상 머신을 어떻게 분리합니까?

검색하고 검색했지만 이를 수행할 수 있는 방법을 찾지 못했습니다. 내가 찾은 답변은 두 번째 NIC를 구입하여 Windows 게스트에게 바친다는 것입니다. 내 호스트는 Linux Mint 16입니다.

게스트에 대한 네트워크 어댑터를 지정하는 방법을 확인했습니다. Windows 게스트가 인터넷에 액세스할 수 있지만 호스트 네트워크의 다른 컴퓨터에 액세스할 수 없도록 만드는 방법은 무엇입니까?

게스트의 IP 주소가 수동으로 변경되더라도 나머지 네트워크에 액세스할 수 없도록 하고 싶습니다. 이는 자신(그리고 어쩌면 호스트)만 볼 수 있어야 합니다.

답변1

이 작업은 VirtualBox에서 수행할 수 있습니다.

다음을 사용할 수 있는 연결을 선택해야 합니다.iptables패킷을 제어합니다. 따라서 NAT나 Bridge는 사용자가 액세스할 수 있는 NIC를 생성하지 않기 때문에 이를 수행하지 않습니다. 당신은 사용해야합니다호스트 전용 네트워크대신 vboxnet0이라는 사용자가 액세스할 수 있는 인터페이스를 호스트에 생성합니다.

이를 구성하려면 파일 -> 기본 설정 -> 네트워크 -> 호스트 전용 네트워크 -> 더하기 기호를 사용하여 생성한 다음 스크루드라이버 -> DHCP 서버, DHCP 서버를 활성화합니다. 설정을 저장하고 VM을 시작합니다.

이제 게스트에서 호스트를 게이트웨이로 설정해야 합니다. 호스트의 기본 IP는 192.168.56.1입니다. Windows에서 이 작업을 수행하는 방법에 대한 지침을 찾으려면 Google을 사용하세요. 그리고 DNS 서버를 설정해야 할 수도 있습니다.

호스트에서 이러한 모든 지침은 sudo로 수행됩니다.

1) IP 전달 활성화:

  echo "1" > /proc/sys/net/ipv4/ip_forward

2) 다음을 발행하십시오.iptables규칙:

  iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
  iptables -A FORWARD -m iprange --dst-range 192.168.1.2-192.168.1.254 -j DROP
  iptables -I FORWARD -m iprange --src-range 192.168.1.2-192.168.1.254 -j DROP

첫 번째 규칙은 VM의 인터넷에 대한 액세스를 허용합니다. 두 번째 쌍은 라우터 및 브로드캐스트 주소를 제외하고 VM이 LAN에 액세스하는 것을 금지합니다.

위의 규칙은 호스트가 다음을 통해 연결되어 있다고 가정합니다.eth0, 귀하의 LAN은192.168.1.0/24, 라우터 및 브로드캐스트 주소는 각각 192.168.1.1 및 192.168.1.255입니다. 그렇지 않은 경우 그에 따라 변경하십시오.

답변2

짧은 대답은 VirtualBox만으로는 원하는 격리를 얻을 수 없다는 것입니다. VM은 항상 호스트와 동일한 네트워크 가용성을 상속합니다(브리지 또는 NAT 네트워킹 모드 가정).

VirtualBox에는 네 가지 네트워킹 선택 사항이 있습니다.

  1. 브리지됨: 호스트의 어댑터 중 하나와 연결을 공유합니다. 이는 VM과 호스트가 모두 동일한 스위치에 연결된 것과 같습니다. VM은 호스트가 액세스할 수 있는 모든 것에 액세스할 수 있습니다.

  2. NAT: VirtualBox는 호스트 어댑터와 가상 네트워크 사이에 가상 NAT 방화벽을 배치합니다. VM은 호스트가 액세스할 수 있는 모든 것에 계속 액세스할 수 있습니다.

  3. 호스트만: VM은 호스트 컴퓨터하고만 통신할 수 있습니다.

  4. 내부: VM은 격리된 네트워크에 있으며 동일한 내부 네트워크에 있는 다른 VM과만 통신할 수 있습니다.

이러한 옵션 중 어느 것도 귀하의 요구 사항을 충족하지 않으므로 VirtualBox만으로는 이를 수행할 수 없습니다. 언급한 대로 추가 NIC를 추가하면 원하는 분리를 만드는 데 필요한 물리적 분리가 제공됩니다.

답변3

좋아, 호스트 OS에 네트워크 카드가 1개만 필요한 훌륭한 솔루션을 알아냈습니다.

  1. 게스트 OS에 호스트 전용 어댑터(기본 어댑터는 vboxnet0)를 제공하고 vboxnet0이 dhcp를 수행하는지 확인하세요.
  2. 오징어 프록시 설치(sudo apt-get install squid3
  3. /etc/squid3/squid.conf 파일을 열고 다음과 같이 변경합니다. A. "http_accessdeny all"이 있는 줄을 찾아 줄 시작 부분에 #을 배치하여 주석 처리합니다. B. 다음 두 줄을 파일에 붙여넣습니다.
    1. acl 모든 컴퓨터 src 192.168.56.0/255.255.255.0
    2. http_access는 모든 컴퓨터를 허용합니다
  4. 다음을 실행하여 Squid 3 서비스를 다시 시작합니다. sudo service squid3 restart
  5. 게스트 OS에서 네트워크 카드에 dhcp가 설정되어 있는지 확인하세요.
  6. Internet Explorer의 인터넷 옵션을 열고 연결 탭으로 이동하여 Lan 설정...을 클릭하고 프록시 서버 상자를 선택하고 주소를 192.168.56.1로 설정하고 포트를 3128로 설정하십시오.
  7. 이제 게스트에서 인터넷이 작동하며 게스트는 로컬 네트워크를 볼 수 없습니다.

이 게시물에 도움을 주셔서 감사합니다. Squid3를 찾을 수 있는 올바른 방향으로 나를 안내해주었습니다. 여기서 전체 설정은 5~10분 정도 걸리며 매우 쉽습니다.

관련 정보