Đây là bài viết thứ tư về quản lý VirtualBox. Hôm nay, tôi sẽ dạy cho bạn mọi thứ bạn cần biết về kết nối và chia sẻ VirtualBox.
Tôi sẽ chỉ cho bạn ba phương pháp khác nhau để định cấu hình máy ảo của bạn và ba cách khác nhau để chia sẻ dữ liệu giữa máy chủ và máy ảo. Sau khi thành thạo hướng dẫn này, bạn sẽ biết tất cả những điều cần biết về cách sử dụng VirtualBox một cách vui vẻ và tự tin. Theo tôi.
Giới thiệu
Để biết thêm chi tiết, bạn nên đọc các bài viết sau. Chúng sẽ cung cấp cho bạn nền tảng cần thiết để theo dõi nội dung ngày nay một cách dễ dàng và thích thú:
Cách cài đặt VirtualBox Guest Additions - Hướng dẫn
VirtualBox 3 thật tuyệt vời!
Trình chiếu VirtualBox 3 Compiz
DirectX trong VirtualBox 3 - Niềm vui thuần khiết là đây
Tương tự như vậy, bạn nên đọc ba phần đầu tiên của loạt bài này:
Cách sao chép đĩa trong VirtualBox - Hướng dẫn
Cách thêm đĩa cứng trong VirtualBox - Hướng dẫn
Cách mở rộng/thu nhỏ ổ đĩa trong VirtualBox - Hướng dẫn
Bây giờ, chúng ta hãy bắt đầu.
Tùy chọn mạng VirtualBox
Đối với bất kỳ máy ảo nào đã cài đặt của bạn, hãy nhấp vào Cài đặt> Mạng. Ở đây niềm vui bắt đầu. Đây là chế độ xem mặc định. Bất kỳ máy ảo nào cũng có thể có tối đa bốn bộ điều hợp mạng. Bạn có thể kích hoạt chúng một cách có chọn lọc khi bạn thấy phù hợp. Hầu hết mọi người sẽ chỉ yêu cầu một.
Loại bộ điều hợp xác định phần cứng ảo hóa mà VirtualBox sẽ hiển thị cho máy ảo của bạn. Nếu bạn gặp sự cố với một trong các loại Bộ điều hợp, bạn có thể thử loại khác. PCnet-FAST III là lựa chọn mặc định.
Bạn cũng có PCnet-FAST II cho các máy cũ hơn và ba loại thẻ Intel PRO/1000, bao gồm hai phiên bản Máy chủ, sẽ hữu ích cho những người chạy VirtualBox trong môi trường sản xuất. Đối với người dùng gia đình, sự lựa chọn khá minh bạch.
Phần thú vị nhất là Đính kèm với:phần. Danh mục này xác định cách bộ điều hợp mạng của bạn sẽ giao tiếp với phần cứng vật lý hiện có. Các thiết lập khác nhau sẽ dẫn đến kết quả khác nhau rõ rệt.
Các loại mạng
Chúng tôi có bốn tùy chọn ở đây:NAT (mặc định), Cầu nối, Mạng nội bộ và Chỉ lưu trữ. Tất nhiên, Không đính kèm cũng là một loại, nhưng không phải là loại mà chúng ta thực sự có thể sử dụng.
Dịch địa chỉ mạng (NAT)
NAT có nghĩa là các máy ảo sẽ có địa chỉ IP riêng không thể định tuyến từ bên ngoài.
Ví dụ:Host của bạn là 192.168.1.1. Thiết bị VirtualBox NAT sẽ được đánh dấu là 10.0.2.1. Do đó, các máy ảo sẽ được cung cấp bất kỳ địa chỉ nào trong phạm vi 10.0.2.x. Vì không có gì để định tuyến quyền truy cập vào các máy trong mạng con 10.0.2.x/24 nên chúng sẽ không thể truy cập được từ máy chủ của bạn.
Thiết lập này hữu ích khi bạn không thực sự quan tâm đến địa chỉ IP mà khách của mình có, mỗi địa chỉ có một địa chỉ riêng. Tuy nhiên, sẽ không tốt nếu bạn yêu cầu chuyển tiếp hoặc nếu bạn cần đưa dịch vụ ra thế giới bên ngoài. Tương tự như vậy, thiết lập này không tốt cho việc chia sẻ qua truy cập mạng.
Điểm cộng:đơn giản &ẩn dật.
Nhược điểm:không có đường đến máy ảo, không chia sẻ mạng.
Bộ chuyển đổi cầu nối
Bộ điều hợp cầu nối có nghĩa là bất kỳ máy ảo nào đang chạy sẽ cố gắng lấy địa chỉ IP từ cùng một nguồn mà địa chỉ mạng mặc định, hiện đang hoạt động của bạn đã lấy địa chỉ IP của nó. Do đó, thuật ngữ bắc cầu, vì cả hai được kết nối.
Nếu bạn có nhiều thiết bị mạng đang hoạt động, bạn có thể chọn thiết bị nào bạn muốn kết nối với VirtualBox. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng Bộ điều hợp không dây wlan0.
Ví dụ:Máy chủ của bạn đã thuê một địa chỉ 192.168.1.100 từ bộ định tuyến. Máy ảo thuê địa chỉ 192.168.1.103 từ bộ định tuyến. Hai máy hiện chia sẻ cùng một mạng và áp dụng tất cả các quy tắc tiêu chuẩn. Đối với tất cả các mục đích thực tế, máy ảo là một địa chỉ IP khác trên mạng LAN của bạn.
Nói kỹ hơn, người dẫn chương trình:
Và vị khách:
Thiết lập này không thể hoạt động nếu thiết bị của bạn (bộ chuyển mạch, bộ định tuyến, ISP, v.v.) không cho phép bạn thuê nhiều hơn một địa chỉ IP. Do đó, các máy tính có truy cập Internet trực tiếp có thể không sử dụng được kết nối mạng Bridged.
Điểm cộng:Cho phép quản lý mạng linh hoạt với các dịch vụ và chuyển tiếp cổng được bật. Cho phép chia sẻ mạng theo cách cổ điển.
Nhược điểm:Có thể không hoạt động với truy cập Internet trực tiếp (yêu cầu bộ định tuyến), khó hiểu hơn đối với người dùng mới, khiến máy tiếp xúc với mạng có thể có ý nghĩa bảo mật.
Bộ điều hợp chỉ dành cho máy chủ
Bộ điều hợp chỉ lưu trữ rất thú vị. Nó rất giống với Bridged Adapter, ngoại trừ việc sử dụng một thiết bị mạng chuyên dụng, được gọi là vboxnet0, để thuê địa chỉ IP.
Máy chủ của bạn là bộ định tuyến VirtualBox thực tế, có địa chỉ IP là 192.168.56.1. Bộ điều hợp không được sử dụng nếu không có máy ảo nào chạy với thiết lập Chỉ lưu trữ. Tuy nhiên, khi chúng xuất hiện, bộ điều hợp này sẽ cung cấp địa chỉ IP cho các máy ảo, tạo ra một mạng LAN nội bộ, trong mạng của chính bạn.
Ví dụ:Host của bạn có địa chỉ IP là 192.168.56.1. Máy ảo của bạn có địa chỉ IP là 192.168.56.101.
Nói kỹ hơn, chủ nhà:
Và vị khách:
Điều này khá giống với những gì VMware Server làm. VMware Server có hai bộ điều hợp ảo được gọi là vmnet1 và vmnet8, được sử dụng để gán địa chỉ IP NAT và máy chủ lưu trữ cho khách. However, unlike the VirtualBox NAT adapter, VMware Server always bridges the default network device on your hosts and therefore you have direct network access to NAT-ed machines. You don't have this luxury on VirtualBox (yet).
But the addition of vboxnet0 in VirtualBox 3 has significantly simplified network usage in this phenomenal product. If you wish to recall the trouble I've had to deal with in earlier release of VirtualBox, do take a look at my VMGL tutorial. I had to manually configure everything. BTW, you can change the default IP address allocation, if you want.
Very importantly, please note that using the Host-only adapter does not mean your guests will have Internet access. In fact, they won't. vboxnet0 does not have a default gateway. To make vboxnet0 also serve queries outside the local network, you will have to configure it to use another adapter for that, enable forwarding and possible reconfigure your firewall rules. At the end, you will have achieved Bridged networking, so why bother?Host-only Adapter is useful for creating private networks, where machines need access to one another, but not necessarily outside this subnet.
Pluses:Useful for noisy software testing, penetration testing. Allows classic network sharing via IP address.
Minuses:As difficult to understand as Bridged networking for new users, no Internet access in the virtual machines. May introduce a security risk to other machines on the private network.
Internal network
Internal network is not very interesting, in my opinion. It's similar to Host-only + NAT, except the networking takes place inside the virtual network of guest machines, without any access for the host, plus there is no real NAT. What you get is a private LAN for your guests only, without any access to the external world.
Sharing in VirtualBox
Now that we understand networking options, let's try some sharing. There are two ways you can share your data in VirtualBox, either by direct network access, using IP addresses, or by using the Shared Folders feature.
Personally, I prefer the network solution, because this is how things work in the real world. You send requests to other machines via the network. If they have sharing services, like NFS or Samba listening and if you're properly authenticated, you'll be given the list of shares and allowed to exchange files with this server. Another way of sharing is by FTP or SSH, again, using the classic network channels.
Shared Folders is a feature where you create a folder on your host and then mount it inside your virtual machines. It works for all network setups and uses an internal VirtualBox sharing server to allow guest access to the shared data.
Sharing via network
Earlier, we mentioned that sharing via network is only possible for Bridged and Host-only network. Let's see two examples. The first step is to allow sharing in the guest machine.
Then, you access the virtual machine via its IP address.
On Windows:
On Windows, use Start> Run> \\XXX.XXX.XXX.XXX and replace the triplets of Xs with the actual IP of the virtual machine.
On Linux:
Type smb://XXX.XXX.XXX.XXX in the address bar of the file manager. smb:// stands for the Samba network protocol. The triplets of Xs stand for the IP address of our guest machine.
With Bridged networking, it looks like this:
With Host-only, it looks like this:
Ignore the title Windows shares. Samba is usually used to share with Windows hosts. NFS is more typically used for Linux machines. Samba is preferred, because it works with both. For more about Samba sharing, please take a look at this tutorial.
Shared Folders
Tái bút All of the above is identical for Windows and Linux guests, by the way. To this end, I decided to take the last set of screenshots demonstrating Shared Folders on a Windows machine.
Now, Shared Folders are quite simple to setup. Your first step is to configure a folder on your host that you wish to share. For any virtual machine, open the Settings menu and go to Shared Folders.
In the right pane, you will have a list of all shared folders on the machine. You can add and remove them as you see fit. The little icons to the right are used for that purpose.
Folder Path:
This is the actual, physical path that you wish to share. On Windows, the folder path will be something like C:\shared. On Linux, it will look something like /home/roger/shared.
Folder Name:
This is the name of the share that your guests will see. Please use names without spaces, something like Shared-folder or Banana. This name can be identical to the actual folder you're sharing, but it does not have to be. But please note, this is not a path! It's a symbolic name for virtual machines to use, as they do not see your physical hardware.
Once you've created the path, boot you virtual machine.
On Windows:
If your virtual machine is a Windows host, you can access the network share either via the command line or using the Tools> Map Network Drive option in the Explorer menu.
On the command line, you need to use the net use command.
net use
net use is the command for mounting network drives.
\\vboxsvr\share-name is the path to the share. \\vboxsvr is the VirtualBox sharing server. share-name is the actual folder name from earlier. So if you called your share Rambo, then the path reads \\vboxsvr\Rambo.
The command then looks like:
net use h:\\vboxsvr\Rambo
Via the Tools menu in the Explorer, it looks like this:
You can check Reconnect at logon, so you don't have to repeat this task every time you power on the virtual machine. Once you click Finish, you will have a new drive under your My Computer. Opening this new drive letter will take you into the Shared folder.
On Linux:
This is done by a simple command in a terminal windows:
mount -t vboxsf share mount_point
vboxsf is the pseudo-filesystem type used to mount the Shared Folder. It's an abstract translation layer for the virtual sharing service used by VirtualBox.
share is the name of the folder from earlier. Remember, the name and not the path! For example, if our share is called Banana then share =Banana.
mount_point is any directory in your Linux tree where you wish to mount the Shared folder to. For example, /home/roger/shares-go-here.
Thus, our command looks like:
mount -t vboxsf Banana /home/roger/shares-go-here
And then, everything that is inside the shared folder on your host will be visible inside the virtual machine by going to the above path.
To automate the task, you can add the mount option to the /etc/fstab menu. Again, for more details on how to do this, please refer to my Linux commands tutorial.
BTW, notice the help in the Settings menu, explaining how to achieve this!
Và đó là tất cả.
Kết luận
Now, you know everything you need to know about VirtualBox network &sharing. Windows, Linux, bridged, host-only, NAT, sharing via network, sharing via Shared Folders, you name it, you have it all. I hope you have enjoyed this tutorial.
Stay tuned for more good stuff.
Chúc mừng.