Cài đặt mạng trong VirtualBox: Hướng dẫn chi tiết

Trong thế giới kinh doanh hiện đại ngày nay, mạng máy tính là một thành phần quan trọng của các hoạt động máy tính tương tác. Thật khó để hình dung làm thế nào để trao đổi dữ liệu giữa các máy tính mà không có mạng trong một thế giới nơi mọi thứ đang thay đổi với tốc độ ngày càng nhanh. Một trong những ý tưởng cốt lõi đằng sau ảo hóa phần cứng là khả năng sử dụng máy ảo trong hầu hết các trường hợp mà máy tính vật lý cũng có thể được sử dụng.

Do đó, máy ảo phải có khả năng kết nối với mạng vật lý và mạng ảo thông qua bộ điều hợp mạng ảo của chúng. Các máy ảo chạy trên VirtualBox có thể được kết nối với các mạng khác nhau. VirtualBox cung cấp nhiều chế độ mạng cho máy ảo. Bài viết trên blog này trình bày về các thiết lập mạng của VirtualBox để giúp bạn cấu hình VirtualBox một cách tối ưu nhất, phù hợp với nhu cầu của bạn.

NAKIVO để sao lưu máy tính chạy Linux

NAKIVO để sao lưu máy tính chạy Linux

Sao lưu nhanh chóng và hiệu quả cho máy chủ và máy trạm Linux. Bảo vệ chống ransomware, nhiều đích sao lưu, các tùy chọn khôi phục linh hoạt và còn nhiều tính năng khác nữa!

Bộ điều hợp mạng ảo

Mỗi máy ảo VirtualBox có thể sử dụng tối đa tám bộ điều hợp mạng ảo, mỗi bộ trong số đó được gọi là bộ điều khiển giao diện mạng (NIC). Có thể cấu hình bốn bộ điều hợp mạng ảo trong giao diện người dùng đồ họa (GUI) của VirtualBox. Tất cả các bộ điều hợp mạng ảo (tối đa 8) có thể được cấu hình bằng lệnh VBoxManage modifyvm . VBoxManage là công cụ quản lý dòng lệnh của VirtualBox, có thể được sử dụng để cấu hình tất cả các thiết lập của VirtualBox, bao gồm cả thiết lập mạng. Các thiết lập bộ điều hợp mạng của VirtualBox có thể được truy cập trong phần cài đặt máy ảo (chọn máy ảo của bạn, nhấn Settings và chuyển đến phần Network trong cửa sổ cài đặt máy ảo).

VirtualBox Network Settings for Adapter 1

Tại đây, bạn sẽ thấy bốn tab bộ điều hợp. Một bộ điều hợp mạng ảo được kích hoạt theo mặc định sau khi tạo máy ảo. Bạn có thể đánh dấu vào ô chọn Enable Network Adapter để kích hoạt bộ điều hợp và bỏ chọn ô này để vô hiệu hóa (ô chọn này xác định liệu thiết bị bộ điều hợp mạng ảo có được kết nối với máy ảo hay không).

Nhấp vào Advanced để mở rộng các cài đặt nâng cao của bộ điều hợp mạng VirtualBox.

Các loại bộ điều hợp mạng ảo trong VirtualBox

Bộ điều hợp mạng ảo là một thiết bị vật lý được mô phỏng bằng phần mềm. Có sáu loại bộ điều hợp ảo có thể được ảo hóa bởi VirtualBox.

  • AMD PCnet-PCI II (Am79C970A). Bộ điều hợp mạng này dựa trên chip AMD và có thể được sử dụng trong nhiều tình huống. Đối với các hệ điều hành khách Windows, bộ điều hợp mạng này có thể được sử dụng cho các phiên bản Windows cũ hơn (chẳng hạn như Windows 2000) vì các phiên bản Windows mới hơn như Windows 7, 8 và 10 không có trình điều khiển tích hợp sẵn cho bộ điều hợp này. Ban đầu, thiết bị PCI Am79C970A chứa một bộ điều khiển 10-Mbit trên một chip duy nhất và bộ xử lý DMA được tích hợp sẵn. Bộ điều hợp mạng này cũng hỗ trợ công nghệ Magic Packet của AMD để đánh thức từ xa.
  • AMD PCnet-FAST III (Am79C973). Bộ điều hợp mạng ảo hóa này được hỗ trợ bởi hầu hết các hệ điều hành khách có thể chạy trên VirtualBox. GRUB (trình tải khởi động) có thể sử dụng bộ điều hợp này để khởi động qua mạng. Tương tự như bộ điều hợp mạng trước đó, bộ điều hợp này cũng dựa trên chip AMD.
  • Intel PRO/1000 MT Desktop (82540EM). Bộ điều hợp này hoạt động hoàn hảo với Windows Vista và các phiên bản Windows mới hơn. Hầu hết các bản phân phối Linux cũng hỗ trợ bộ điều hợp này.
  • Intel PRO/1000 T Server (82543GC). Windows XP nhận diện bộ điều hợp này mà không cần cài đặt trình điều khiển bổ sung.
  • Intel PRO/1000 MT Server (82545EM). Mẫu bộ điều hợp này rất hữu ích để nhập các mẫu OVF từ các nền tảng khác và có thể giúp đơn giản hóa quy trình nhập.
  • Bộ điều hợp mạng ảo hóa bán phần (virtio-net) là một trường hợp đặc biệt. Thay vì ảo hóa phần cứng mạng được hỗ trợ bởi hầu hết các hệ điều hành, hệ điều hành khách phải cung cấp một giao diện phần mềm đặc biệt cho các môi trường ảo hóa. Cách tiếp cận này cho phép bạn tránh được sự phức tạp của việc mô phỏng phần cứng mạng và do đó, có thể cải thiện hiệu suất mạng.

Các trình điều khiển mạng virtIO tiêu chuẩn công nghiệp được hỗ trợ bởi VirtualBox. Các trình điều khiển mạng virtIO là một phần của dự án KVM và là mã nguồn mở. Các trình điều khiển này có sẵn cho Linux với kernel 2.6.25 trở lên, và Windows bao gồm các phiên bản cũ hơn như Windows 2000, XP và Vista. Khung dữ liệu

Jumbo hỗ trợ

VirtualBox cung cấp hỗ trợ hạn chế cho các khung dữ liệu jumbo (các khung Ethernet có thể chứa các gói tin có kích thước lớn hơn 1.500 byte). Nếu bạn cần sử dụng các khung dữ liệu jumbo , hãy chọn bộ điều hợp mạng ảo hóa Intel và cấu hình bộ điều hợp đó để hoạt động ở chế độ cầu nối (bridged mode). Các bộ điều hợp mạng ảo dựa trên AMD không hỗ trợ các khung dữ liệu jumbo . Nếu bạn cố gắng kích hoạt các khung dữ liệu jumbo cho các bộ điều hợp mạng ảo dựa trên AMD, các khung dữ liệu jumbo sẽ bị loại bỏ một cách im lặng đối với lưu lượng vào và ra. Các khung dữ liệu Jumbo bị tắt theo mặc định.

Các chế độ mạng của VirtualBox

VirtualBox cung cấp một danh sách dài các chế độ mạng, đây là một trong những tính năng thú vị nhất của cài đặt mạng VirtualBox. Mỗi bộ điều hợp mạng ảo có thể được cấu hình riêng biệt để hoạt động ở một chế độ mạng khác nhau. Ví dụ: bạn có thể đặt chế độ NAT cho bộ điều hợp 1 và chế độ Host-only cho bộ điều hợp 2. Bạn có thể chọn chế độ mạng trong menu thả xuống Attached to .

VirtualBox network settings – selecting a network mode for the virtual network adapter

Hãy xem xét chi tiết từng chế độ mạng của VirtualBox.

Chưa kết nối

Một bộ điều hợp mạng ảo đã được cài đặt trong máy ảo, nhưng kết nối mạng bị thiếu, tương tự như khi bạn rút cáp mạng Ethernet khi sử dụng bộ điều hợp mạng vật lý. Chế độ này có thể hữu ích cho việc thử nghiệm. Ví dụ, bạn có thể bật chế độ mạng này trong một thời gian ngắn để mô phỏng việc rút cáp. Khi bạn tắt chế độ Not Attached bằng cách chuyển sang chế độ mạng khác, kết nối mạng sẽ hoạt động trở lại. Bạn cũng có thể kiểm tra xem máy khách DHCP có nhận được địa chỉ IP chính xác hay không, ứng dụng tương ứng có thể tiếp tục tải xuống sau khi bị gián đoạn kết nối hoặc mất gói tin hay không, v.v.

Thay vì sử dụng chế độ mạng Not Attached , bạn có thể sử dụng bất kỳ chế độ mạng nào khác mà không cần đánh dấu vào ô chọn Cable Connected . Bạn có thể đánh dấu hoặc bỏ chọn ô này khi máy ảo đang ở trạng thái đang chạy (xem ảnh chụp màn hình ở trên). Đừng quên nhấp vào OK để áp dụng các thay đổi trong cấu hình mạng của máy ảo.

NAT

Chế độ mạng này được bật mặc định cho bộ điều hợp mạng ảo. Hệ điều hành khách trên máy ảo có thể truy cập các máy chủ trong mạng cục bộ vật lý (LAN) bằng cách sử dụng thiết bị NAT ảo (Network Address Translation). Các mạng bên ngoài, bao gồm internet, có thể truy cập được từ hệ điều hành khách. Máy khách không thể truy cập được từ máy chủ hoặc từ các máy khác trong mạng khi sử dụng chế độ NAT cho mạng VirtualBox. Chế độ mạng mặc định này là đủ cho người dùng chỉ muốn sử dụng máy ảo để truy cập internet, ví dụ.

Địa chỉ IP của bộ điều hợp mạng máy ảo được lấy qua DHCP và các địa chỉ IP của mạng được sử dụng trong chế độ này không thể thay đổi trong giao diện người dùng (GUI). VirtualBox có máy chủ DHCP và bộ xử lý NAT tích hợp sẵn. Một thiết bị NAT ảo sử dụng bộ điều hợp mạng vật lý của máy chủ VirtualBox làm giao diện mạng bên ngoài. Địa chỉ mặc định của máy chủ DHCP ảo được sử dụng trong chế độ NAT là 10.0.2.2 (đây cũng là địa chỉ IP của cổng mặc định cho máy ảo). Mặt nạ mạng là 255.255.255.0.

Nếu bạn cấu hình các bộ điều hợp mạng của hai hoặc nhiều máy ảo (VM) để sử dụng chế độ ” NAT “, mỗi máy ảo sẽ nhận được địa chỉ IP 10.0.2.15 trong mạng riêng biệt của chính nó phía sau một thiết bị NAT ảo riêng tư. Cổng mặc định cho mỗi máy ảo là 10.0.2.2. Trong VirtualBox, địa chỉ IP không thay đổi khi sử dụng chế độ ” NAT “, như bạn có thể thấy bên dưới:

VirtualBox network modes – how the NAT mode works

Để kích hoạt chế độNATcho một máy ảo bằng VBoxManage, hãy thực thi lệnh sau:
VBoxManage modifyvm VM_name --nic1 nat
Trong đó:

  • VM_name là tên của máy ảo của bạn;
  • nic1 là số của bộ điều hợp mạng ảo;
  • nat là tên chế độ mạng VirtualBox mà bạn cần thiết lập.

Chuyển tiếp cổng có thể được cấu hình trực tiếp từ cửa sổ cài đặt mạng của máy ảo VirtualBox bằng cách nhấp vào nút Port forwarding (như trong ảnh chụp màn hình ở trên). Thông tin chi tiết về cách cấu hình chuyển tiếp cổng trong cài đặt mạng của VirtualBox, bạn có thể tìm thấy bên dưới sau phần Network Modes .

Mạng NAT

Chế độ này tương tự như chế độ NAT mà bạn sử dụng để cấu hình bộ định tuyến. Nếu bạn sử dụng chế độ NAT Network cho nhiều máy ảo, chúng có thể giao tiếp với nhau qua mạng. Các máy ảo có thể truy cập các máy chủ khác trong mạng vật lý và có thể truy cập các mạng bên ngoài, bao gồm cả internet. Bất kỳ máy nào từ các mạng bên ngoài cũng như các máy từ mạng vật lý mà máy chủ đang kết nối đều không thể truy cập các máy ảo được cấu hình để sử dụng chế độ NAT Network (tương tự như khi bạn cấu hình bộ định tuyến để truy cập internet từ mạng gia đình của bạn). Bạn không thể truy cập máy khách từ máy chủ khi sử dụng chế độ NAT Network (trừ khi bạn cấu hình chuyển tiếp cổng trong cài đặt mạng toàn cục của VirtualBox). Bộ định tuyến NAT tích hợp sẵn của VirtualBox sử dụng bộ điều khiển giao diện mạng vật lý của máy chủ VirtualBox làm giao diện mạng bên ngoài (giống như trong chế độ NAT ).

VirtualBox network settings – the NAT Network mode

Địa chỉ và tên mạng có thể được thay đổi trong cài đặt chung của VirtualBox (File > Preferences). Trong khung bên trái của cửa sổ Preferences , chọn Network để truy cập cài đặt mạng chung của VirtualBox, sau đó nhấp đúp vào mạng NAT hiện có để chỉnh sửa cài đặt (bạn cũng có thể thêm mạng mới hoặc xóa mạng hiện có bằng cách nhấp vào các biểu tượng + hoặc x ).

Global VirtualBox network settings – editing the settings of the NAT Network

Trong cửa sổ bật lên nhỏ sẽ xuất hiện, bạn cũng có thể bật/tắt DHCP, IPv6 và cấu hình chuyển tiếp cổng.

VirtualBox network settings – configuring the NAT Network

Địa chỉ mặc định củaNatNetworklà 10.0.2.0/24.

Địa chỉ IP cổng mặc định là 10.0.2. 1 (mẫu x.x.x.1 được sử dụng để gán địa chỉ IP cổng mặc định). Ví dụ: nếu bạn tạo một mạng ảo mới cho chế độ NAT Network trong VirtualBox và đặt địa chỉ mạng là 192.168.22.0/24, địa chỉ IP của cổng mặc định trong mạng này sẽ là 192.168.22. 1 . Bạn không thể thay đổi địa chỉ IP của cổng mạng cho mạng được sử dụng trong chế độ NAT Network cũng như thay đổi dải địa chỉ IP được cấp phát bởi máy chủ DHCP. Tương tự, địa chỉ IP của máy chủ DHCP mặc định là 10.0.2.3 (sử dụng mẫu x.x.x.3 ).

Cấu hình IP của máy ảo Windows 7 chạy trên VirtualBox với bộ điều hợp mạng ảo được cấu hình ở chế độ NAT Network được hiển thị trên ảnh chụp màn hình. A Windows 7 VM is configured to work in the NAT Network mode

Nếu bạn không muốn chỉnh sửa cài đặt mạng của VirtualBox trong giao diện đồ họa (GUI), bạn có thể thêm một mạng NAT mới bằng VBoxManage thông qua lệnh sau:
VBoxManage natnetwork add --netname natnet1 --network "192.168.22.0/24" --enable
Trong đó:

  • natnet1là tên của mạng NAT;
  • 192.168.22.0/24là địa chỉ của mạng NAT đó.

Nếu bạn muốn cấu hình bộ điều hợp mạng của máy ảo (VM) để sử dụng chế độNAT Networkbằng VBoxManage, hãy chạy lệnh sau:
VBoxManage modifyvm VM_name --nic1 natnetwork
Trong đó:

  • nic1là bộ điều hợp mạng ảo đầu tiên (bộ điều khiển giao diện mạng);
  • natnetwork là tên của chế độ mạng VirtualBox.

Bạn có thể cần tắt máy ảo trước khi áp dụng các cài đặt này.

Để tránh phải lặp lại cùng một lệnh với VBoxManage khi chọn chế độ mạng cho bộ điều hợp mạng ảo của máy ảo trong từng phần của bài viết, hãy xem xét tên của tất cả các chế độ mạng VirtualBox có thể có:none, null, nat, natnetwork, bridged, intnet, hostonly, generic.

Port forwarding là một tùy chọn khác có thể truy cập và cấu hình từ cửa sổ này. Chuyển tiếp cổng (Port forwarding) có thể được sử dụng để cấu hình quyền truy cập từ máy chủ và các máy chủ khác trên cùng một mạng vật lý đến các dịch vụ đang chạy trên hệ điều hành khách bên trong máy ảo (xem chi tiết bên dưới). Như bạn có thể thấy, vị trí của các thiết lập chuyển tiếp cổng cho chế độ NAT và chế độ NAT Network là khác nhau trong giao diện người dùng (GUI) của VirtualBox. Các thiết lập chuyển tiếp cổng cho chế độ NAT có sẵn tại VM > Settings > Network trong khi các thiết lập chuyển tiếp cổng cho chế độ NAT Network có thể được cấu hình tại File > Preferences > Network. Điều này là do các quy tắc chuyển tiếp cổng cho chế độ NAT là riêng lẻ cho từng máy ảo, trong khi các quy tắc chuyển tiếp cổng cho chế độ NAT Network là chung cho nhiều máy ảo có bộ điều hợp được kết nối với mạng NAT tương ứng. Xem chi tiết về việc cấu hình chuyển tiếp cổng bên dưới trong phần Port Forwarding .

Bộ điều hợp cầu nối

Chế độ này được sử dụng để kết nối bộ điều hợp mạng ảo của một máy ảo với mạng vật lý mà bộ điều hợp mạng vật lý của máy chủ VirtualBox được kết nối. Bộ điều hợp mạng ảo của máy ảo sử dụng giao diện mạng của máy chủ để kết nối mạng. Nói một cách đơn giản, các gói tin mạng được gửi và nhận trực tiếp từ/đến bộ điều hợp mạng ảo mà không cần định tuyến bổ sung. VirtualBox sử dụng một trình điều khiển bộ lọc mạng đặc biệt cho chế độ mạng bridged để lọc dữ liệu từ bộ điều hợp mạng vật lý của máy chủ. Chế độ mạng này có thể được sử dụng để chạy các máy chủ trên các máy ảo (VM) mà cần phải truy cập được hoàn toàn từ mạng cục bộ vật lý. Khi sử dụng chế độ mạng “ bridged ” trong VirtualBox, bạn có thể truy cập máy chủ, các máy chủ khác trong mạng vật lý và các mạng bên ngoài, bao gồm cả Internet, từ một máy ảo. Máy ảo cũng có thể được truy cập từ máy chủ và từ các máy chủ (và máy ảo) khác được kết nối với mạng vật lý.

Nếu máy chủ có nhiều bộ điều hợp mạng vật lý, bạn nên chọn bộ điều hợp phù hợp trong cài đặt mạng của VirtualBox. Trong ảnh chụp màn hình bên dưới, bạn có thể thấy hai bộ điều hợp mạng vật lý – bộ điều hợp Ethernet và bộ điều hợp Wi-Fi. Nếu bạn sử dụng chế độ cầu nối (bridged) cho bộ điều hợp mạng không dây, bạn sẽ không thể sử dụng các tính năng cấp thấp của bộ điều hợp Wi-Fi đó trong hệ điều hành khách. Ví dụ: bạn không thể chọn mạng Wi-Fi để kết nối, kích hoạt chế độ giám sát (monitoring mode), v.v. Thay vào đó, bạn cần kết nối với mạng Wi-Fi trên máy chủ. Nếu bạn cần sử dụng tất cả các tính năng của bộ điều hợp Wi-Fi trong hệ điều hành khách của máy ảo, hãy sử dụng bộ điều hợp Wi-Fi USB và tính năng USB Pass-through như đã giải thích trong bài viết trên blog về Cài đặt Kali Linux trên VirtualBox.

VirtualBox network settings – selecting an adapter for the Bridged network mode

Trong VirtualBox, địa chỉ IP của bộ điều hợp mạng ảo của máy ảo có thể thuộc cùng mạng với địa chỉ IP của bộ điều hợp mạng vật lý trên máy chủ khi sử dụng chế độ bridged . Nếu có máy chủ DHCP trong mạng vật lý của bạn, bộ điều hợp mạng ảo của máy ảo sẽ tự động nhận địa chỉ IP ở chế độ bridged (nếu tùy chọn “Nhận địa chỉ IP tự động” được thiết lập trong cài đặt giao diện mạng của hệ điều hành khách). Do đó, cổng mặc định cho bộ điều hợp mạng ảo hoạt động ở chế độ cầu nối sẽ giống với cổng mặc định của máy chủ. Hãy xem một ví dụ đơn giản về địa chỉ IP.

Địa chỉ mạng vật lý: 10.10.10.0/24

Địa chỉ IP của cổng mặc định trong mạng vật lý: 10.10.10.1

Địa chỉ IP của máy chủ DHCP trong mạng vật lý: 10.10.10.1

Cấu hình IP của máy chủ: Địa chỉ IP – 10.10.10.72; mặt nạ mạng – 255.255.255.0; cổng mặc định – 10.10.10.1.

Cấu hình IP của máy khách: Địa chỉ IP – 10.10.10.91; mặt nạ mạng – 255.255.255.0; cổng mặc định – 10.10.10.1.

VirtualBox network settings – bridged networking

Đôi khi, bạn có thể phát hiện ra rằng mạng vật lý của mình có nhiều cổng mặc định. Bạn có thể sử dụng máy chủ để kết nối với các mạng cần thiết thông qua một cổng mạng và sử dụng máy ảo để kết nối với các mạng khác thông qua cổng mạng thứ hai. Bạn cũng có thể chỉnh sửa bảng định tuyến trên máy ảo của mình và thêm các tuyến đường để sử dụng cả hai cổng mạng nhằm kết nối với các mạng tương ứng. Như bạn có thể thấy, chế độ mạng cầu nối (bridged network) là một tùy chọn mạnh mẽ trong cài đặt mạng của VirtualBox với rất nhiều trường hợp ứng dụng. Chế độ cầu nối (

Promiscuous mode) . Chế độ này cho phép một bộ điều hợp mạng chuyển tiếp toàn bộ lưu lượng nhận được, bất kể lưu lượng đó được gửi đến bộ điều hợp nào. Trong chế độ thông thường, một bộ điều hợp mạng chỉ nhận các khung dữ liệu (frame) có địa chỉ MAC của chính bộ điều hợp đó làm địa chỉ đích trong tiêu đề. Các khung dữ liệu được gửi đến một địa chỉ MAC khác với địa chỉ MAC của bộ điều hợp đã chọn (khi lưu lượng không phải là phát sóng) sẽ bị loại bỏ trong chế độ thông thường. Chế độ ” promiscuous mode ” cho phép một bộ điều hợp mạng vật lý có nhiều địa chỉ MAC, giúp toàn bộ lưu lượng đến đi qua bộ điều hợp mạng vật lý của máy chủ và đến được bộ điều hợp mạng ảo của máy ảo (VM), vốn có địa chỉ MAC riêng được thể hiện trên bộ điều hợp của máy chủ, ngay cả khi lưu lượng đó không được định địa chỉ đến bộ điều hợp mạng ảo của chính máy ảo đó.

Hầu hết các bộ điều hợp mạng không dây không hỗ trợ chế độ promiscuous. Việc kết nối cầu nối với các bộ điều hợp Wi-Fi được thực hiện như sau – VirtualBox thay thế các địa chỉ MAC tương ứng trong tiêu đề của các khung Ethernet cần được chuyển đến bộ điều hợp mạng ảo của máy ảo (địa chỉ MAC của bộ điều hợp Wi-Fi trên máy chủ phải được sử dụng cho lưu lượng đó). Chế độ promiscuous hữu ích cho việc kiểm thử mạng và kiểm toán bảo mật. Bạn có thể kích hoạt chế độ promiscuous trong cài đặt mạng của VirtualBox và theo dõi lưu lượng mạng bằng công cụ sniffer.

Có ba tùy chọn khi sử dụng chế độ promiscuous mode.

  • Deny. Mọi lưu lượng không dành cho bộ điều hợp mạng ảo của máy ảo (VM) sẽ bị ẩn khỏi máy ảo. Tùy chọn này được thiết lập mặc định.
  • Allow VMs. Tất cả lưu lượng đều bị ẩn khỏi bộ điều hợp mạng của máy ảo, trừ lưu lượng được truyền đến và từ các máy ảo khác.
  • Allow All. Chế độ này không có bất kỳ hạn chế nào. Bộ điều hợp mạng của máy ảo có thể nhìn thấy tất cả lưu lượng đến và đi.

Chế độ Promiscuous không chỉ có thể được sử dụng cho chế độ mạng Bridged , mà còn cho các chế độ NAT Network, Internal NetworkHost-Only Adapter.

Mạng nội bộ

Các máy ảo có bộ điều hợp mạng được cấu hình để hoạt động ở chế độ VirtualBox Internal Network sẽ được kết nối với một mạng ảo cách ly. Các máy ảo kết nối với mạng này có thể giao tiếp với nhau, nhưng không thể giao tiếp với máy chủ VirtualBox, cũng như với bất kỳ máy chủ nào khác trong mạng vật lý hoặc các mạng bên ngoài. Không thể truy cập các máy ảo kết nối với mạng nội bộ từ máy chủ hoặc bất kỳ thiết bị nào khác. Mạng nội bộ VirtualBox internal network có thể được sử dụng để mô phỏng các mạng thực tế.

Ví dụ, bạn có thể tạo ba máy ảo, mỗi máy đều có một bộ điều hợp mạng ảo (Adapter 1) kết nối với mạng nội bộ. Các địa chỉ IP của các bộ điều hợp mạng này được xác định từ mạng con được sử dụng cho mạng nội bộ VirtualBox (bạn cần định nghĩa mạng con này thủ công). Một trong các máy ảo này (VM1) còn có một bộ điều hợp mạng ảo thứ hai được cấu hình để hoạt động ở chế độ NAT . Máy ảo VM1 được cấu hình làm bộ định tuyến (một trong những giải pháp tốt nhất để tạo bộ định tuyến là cài đặt Linux và cấu hình IPTABLES, nhưng lần đầu tiên bạn có thể sử dụng các giải pháp định tuyến đơn giản hơn trong trường hợp thử nghiệm mạng VirtualBox).

Máy VM2VM3 , có các bộ điều hợp mạng chỉ kết nối với mạng nội bộ của VirtualBox, có thể truy cập vào các mạng bên ngoài nếu địa chỉ IP của bộ điều hợp mạng nội bộ của VM1 được đặt làm cổng mặc định trong cài đặt mạng của VM2 VM3 .

Cấu hình mạng được sử dụng trong ví dụ này:

VM1. Địa chỉ IP – 192.168.23.1 (chế độinternal network ); 10.0.2.15 (chế độNAT ), cổng mặc định 10.0.2.2 (địa chỉ IP của thiết bị NAT tích hợp sẵn trong VirtualBox).

VM2. Địa chỉ IP – 192.168.23.2 (mạng nội bộ), cổng mặc định – 192.168.23.1

VM3 . Địa chỉ IP – 192.168.23.3 (mạng nội bộ), cổng mặc định – 192.168.23.1

Mạng con nội bộ của VirtualBox: 192.168.23.0/24

Xem sơ đồ bên dưới để hiểu rõ hơn.

VirtualBox network settings – using the Internal network mode in a combination with the NAT mode

Lưu ý : Bạn cũng có thể triển khai cơ sở hạ tầng ảo như vậy để kiểm tra các quy tắc tường lửa tại IPTABLES trước khi triển khai chúng trong cơ sở hạ tầng mạng thực tế của bạn, nhưng tốt nhất là nên sử dụng chế độ bridged thay vì chế độ NAT cho bộ điều hợp mạng ảo thứ hai của VM1 khi kết nối đến/từ các mạng bên ngoài.

Bộ điều hợp chỉ dành cho máy chủ

Chế độ mạng này được sử dụng để giao tiếp giữa máy chủ và các máy khách. Một máy ảo (VM) có thể giao tiếp với các máy ảo khác được kết nối với mạng host-only và với máy chủ. Máy chủ VirtualBox có thể truy cập tất cả các máy ảo được kết nối với mạng host-only .

VirtualBox network settings – VMs use the host-only network

Bộ điều hợp mạng ảo VirtualBox Host-Only được tạo trong hệ điều hành máy chủ để sử dụng trong mạng host-only . Bạn có thể chỉnh sửa cài đặt mạng VirtualBox này bằng cách truy cập vào File > Host Network Manager.

VirtualBox network settings - configuring the Host-Only network

Trong trường hợp của chúng ta, địa chỉ mạng mặc định của mạng host-only là 192.168.56.0/24 và địa chỉ IP của bộ điều hợp mạng ảo trên máy chủ là 192.168.56.1. Bạn có thể chỉnh sửa các địa chỉ IP này thủ công trong tab Adapter . Máy chủ DHCP có thể được bật hoặc tắt bằng cách đánh dấu vào ô chọn tương ứng. Trong tab DHCP Server , bạn có thể thiết lập địa chỉ IP của máy chủ DHCP, mặt nạ mạng và dải địa chỉ IP sẽ được cấp phát cho các máy khách DHCP.

VirtualBox network settings – configuring a DHCP server for a Host-Only network

Các bộ điều hợp mạng ảo của các máy ảo (VM) không có cổng mặc định trong cấu hình IP của chúng vì chế độ Host-Only không cho phép kết nối với bất kỳ thiết bị nào bên ngoài mạng host-only . Bạn cũng có thể tạo nhiều hơn một bộ điều hợp mạng VirtualBox host-only để sử dụng các mạng host-only khác nhau — chỉ cần nhấn nút Create . Nếu không còn cần mạng chỉ dành cho máy chủ, chỉ cần chọn bộ điều hợp và nhấn Remove.

Trình điều khiển chung

Chế độ mạng này cho phép bạn chia sẻ giao diện mạng chung. Người dùng có thể chọn trình điều khiển thích hợp được phân phối trong gói tiện ích mở rộng hoặc được bao gồm trong VirtualBox.

Có hai chế độ con khả dụng cho VirtualBox Generic Driver chế độ – UDP TunnelVDE (Virtual Distributed Ethernet) Networking.

UDP Tunnel. Các máy ảo chạy trên các máy chủ khác nhau có thể giao tiếp một cách minh bạch bằng cách sử dụng cơ sở hạ tầng mạng hiện có.

VDE Networking. Các máy ảo có thể kết nối với một bộ chuyển mạch phân tán ảo trên các máy chủ Linux hoặc FreeBSD. Bạn cần biên dịch VirtualBox từ mã nguồn để sử dụng mạng VDE vì các gói VirtualBox tiêu chuẩn không bao gồm tính năng này.

So sánh các chế độ mạng của VirtualBox

Để thuận tiện hơn, hãy tổng hợp tất cả thông tin về các chế độ mạng được VirtualBox hỗ trợ trong bảng này:

VirtualBox network settings – Comparison oVirtualBox Network Modes

Chuyển tiếp cổng (Port Forwarding)

Chuyển tiếp cổng là quá trình chặn lưu lượng được gửi đến địa chỉ IP và cổng thích hợp, đồng thời chuyển hướng lưu lượng đó đến một địa chỉ IP và/hoặc cổng khác. Có thể sử dụng các ứng dụng chuyên dụng trên máy tính và các thiết bị định tuyến khác để cấu hình chuyển tiếp cổng. Một trong những trường hợp sử dụng phổ biến nhất của tính năng chuyển tiếp cổng là cho phép truy cập từ các mạng bên ngoài vào các dịch vụ mạng cụ thể đang bị ẩn sau NAT. Sau khi cấu hình các quy tắc chuyển tiếp cổng, các máy khách có thể truy cập các dịch vụ tương ứng từ bên ngoài bằng cách kết nối với địa chỉ IP bên ngoài của bộ định tuyến (máy chủ) và cổng được chỉ định.

Các gói tin trước tiên được chặn lại bởi một ứng dụng trên bộ định tuyến, sau đó ứng dụng này đọc địa chỉ IP đích và số cổng từ các tiêu đề tương ứng (tiêu đề gói tin IP, tiêu đề các phân đoạn TCP hoặc UDP). Nếu sự kết hợp giữa địa chỉ IP đích và/hoặc số cổng trong các tiêu đề khớp với điều kiện được đặt trong quy tắc chuyển tiếp cổng, ứng dụng định tuyến sẽ ghi đè thông tin tiêu đề (địa chỉ IP và/hoặc số cổng) và gửi gói tin/phân đoạn đến một giao diện mạng khác theo quy tắc chuyển tiếp cổng.

Theo mặc định, việc kết nối với các máy ảo (VM) VirtualBox có bộ điều hợp mạng được thiết lập để hoạt động ở chế độ ” NAT ” hoặc ” NAT Network ” là không thể thực hiện được từ máy chủ VirtualBox và các máy chủ khác trong mạng LAN; tuy nhiên, VirtualBox cung cấp tính năng chuyển tiếp cổng tích hợp sẵn để cho phép truy cập này.

Ví dụ 1 – Truy cập SSH

Bây giờ chúng ta hãy xem xét việc cấu hình chuyển tiếp cổng để kết nối với các máy ảo VirtualBox thông qua ví dụ kết nối với một máy chủ SSH đang chạy trên máy ảo Ubuntu Linux được kết nối với mạng theo chế độ NAT . Bạn có thể tham khảo cách cài đặt Ubuntu trên VirtualBox tạibài viết trên blog này.

Dữ liệu đầu vào:

Địa chỉ IP máy chủ: 10.10.10.72 (một bộ điều hợp mạng vật lý).

Địa chỉ IP của máy ảo Ubuntu: 10.0.2.15 (NAT )

Tên người dùng: user1

1. Cài đặt máy chủ SSH trên máy ảo Ubuntu.

apt-get install openssh-server

2. Chỉnh sửa tệp cấu hình máy chủ SSH.

vim /etc/ssh/sshd_config

3. Bỏ chú thích dòng lệnh để kích hoạt xác thực bằng mật khẩu.

PasswordAuthentication yes

4. Khởi động lại daemon (dịch vụ) SSH.

/etc/init.d/ssh restart

5. Kiểm tra xem máy chủ SSH có hoạt động không và thử kết nối với máy chủ SSH từ localhost (máy ảo Ubuntu).

ssh user1@127.0.0.1

6. Nếu mọi thứ đều ổn, bạn có thể bắt đầu cấu hình chuyển tiếp cổng trong VirtualBox.

Như bạn còn nhớ, bạn nên mởVM settingsvà chọn phầnNetwork. Chọn bộ điều hợp mạng ảo của bạn đã được cấu hình để hoạt động ở chế độNAT, mở rộng mụcAdvanced settings và nhấp vào nútPort Forwarding. Nhấp vào biểu tượng+để thêm quy tắc chuyển tiếp cổng mới trong cài đặt mạng VirtualBox của máy ảo.

VirtualBox network settings – configuring port forwarding for the NAT mode

Máy chủ SSH mặc định lắng nghe cổng TCP số 22. Hãy tạo một quy tắc cho phép chuyển tiếp tất cả các kết nối đến máy chủ VirtualBox trên cổng 8022 sang máy ảo Ubuntu trên cổng 22, nơi máy chủ SSH đang lắng nghe. Trước tiên, bạn có thể tạo một quy tắc chỉ cho phép các kết nối từ máy chủ VirtualBox.

Tên Giao thức IP máy chủ Cổng máy chủ IP máy ảo Cổng máy ảo
Ubuntu-SSH TCP 127.0.0.1 8022 10.0.2.15 22

Giao diện cửa sổ quy tắc chuyển tiếp cổng trong giao diện người dùng (GUI) của VirtualBox được hiển thị trong ảnh chụp màn hình bên dưới.

VirtualBox network settings – the SSH port forwarding rule is created

Mở một trình khách SSH (ví dụ: PuTTY nếu bạn sử dụng Windows) trên máy chủ VirtualBox của bạn và kết nối đến 127.0.0.1 trên cổng 8022.

Các máy chủ khác trong mạng vật lý của bạn sẽ có thể truy cập máy ảo Ubuntu qua SSH bằng cách kết nối với máy chủ VirtualBox trên cổng 8022 nếu bạn tạo một quy tắc chuyển tiếp cổng tương tự, trong đó địa chỉ IP thực của bộ điều hợp mạng vật lý trên máy chủ VirtualBox sẽ được định nghĩa thay vì địa chỉ IP localhost (127.0.0.1). Trong ví dụ này, địa chỉ IP của NIC vật lý trên máy chủ VirtualBox là 10.10.10.72.

Tên Giao thức IP máy chủ Cổng máy chủ IP máy khách Cổng máy khách
Ubuntu-SSH TCP 10.10.10.72 8022 10.0.2.15 22

Mở một trình khách SSH trên máy chủ VirtualBox của bạn hoặc trên một máy chủ khác kết nối với mạng LAN của bạn và kết nối đến địa chỉ IP máy chủ VirtualBox trên cổng 8022.

Ví dụ 2 – Truy cập HTTP

Nếu bạn muốn triển khai máy chủ web trên máy ảo (VM) và cho phép truy cập các trang web từ bên ngoài, bạn có thể thêm một quy tắc chuyển tiếp cổng khác. Hãy xem cách cấu hình quy tắc chuyển tiếp cổng này để truy cập một trang web được triển khai trên máy ảo Ubuntu từ máy chủ VirtualBox và các máy khác kết nối với mạng cục bộ vật lý (LAN). Trong ví dụ này, Apache được sử dụng làm máy chủ web.

Đầu tiên, hãy cài đặt Apache trên máy ảo Ubuntu đang chạy trên VirtualBox.

apt-get install apache2

Tường lửa ufw bị tắt theo mặc định trong Ubuntu. Nếu tường lửa được bật trên máy ảo Ubuntu của bạn, hãy đảm bảo rằng quyền truy cập vào cổng TCP 80 đã được mở.

Sau khi cài đặt Apache, hãy mở trình duyệt web trên máy ảo Ubuntu và truy cập trang mặc định của Apache bằng cách nhập http://127.0.0.1 vào thanh địa chỉ. Nếu mọi thứ đều ổn, bạn sẽ thấy địa chỉ Apache2 Ubuntu default page trong trình duyệt web của mình.

Điều này có nghĩa là bây giờ bạn có thể cấu hình quy tắc chuyển tiếp cổng trong cài đặt mạng của VirtualBox để truy cập trang web của bạn được lưu trữ trên máy ảo Ubuntu. Mở cửa sổ cài đặt Port Forwarding bằng cách truy cập vào VM settings > Network > [select your adapter] > Port Forwarding (tương tự như đã giải thích ở trên). Bạn có thể thêm một quy tắc mới bằng cách thực hiện như sau:

Tên Giao thức IP máy chủ Cổng máy chủ IP máy ảo Cổng máy ảo
Ubuntu-HTTP80 TCP 10.10.10.72 8080 10.0.2.15 80

Mở trình duyệt web trên máy chủ của bạn hoặc trên bất kỳ máy nào khác được kết nối với mạng vật lý của bạn và nhập địa chỉ IP của máy chủ VirtualBox cùng cổng được định nghĩa trong quy tắc chuyển tiếp cổng đã tạo ở trên:

http://10.10.10.72:8080

Trong ví dụ hiện tại, 10.10.10.72 là địa chỉ IP của máy chủ VirtualBox và 8080 là cổng TCP được lắng nghe trên máy chủ VirtualBox. Kết quả thành công của việc cấu hình chuyển tiếp cổng được hiển thị trên ảnh chụp màn hình bên dưới.

VirtualBox network settings – the HTTP port forwarding rule has been created successfully

Bạn cũng có thể tạo các quy tắc tương tự để truy cập máy ảo (VM) qua RDP, FTP và các giao thức khác.

Việc cấu hình chuyển tiếp cổng cho các máy ảo (VM) có bộ điều hợp mạng ảo hoạt động ở chế độ NAT Network cũng được thực hiện tương tự (xem phần trên giải thích về chế độ NAT Network để xác định vị trí cài đặt chuyển tiếp cổng cho chế độ NAT Network ).

Kết luận

VirtualBox là một giải pháp ảo hóa mạnh mẽ, linh hoạt và cung cấp nhiều tùy chọn cài đặt mạng đa dạng. Mỗi máy ảo (VM) có thể sử dụng tối đa tám bộ điều hợp mạng ảo, và mỗi bộ điều hợp mạng có thể được mô phỏng theo các mẫu bộ điều khiển giao diện mạng (NIC) thực tế của Intel và AMD. Cài đặt bộ điều hợp mạng của VirtualBox cho phép bạn thay đổi địa chỉ MAC của từng NIC ảo, cắm hoặc rút cáp mạng ảo, và chọn chế độ mạng. Việc thiết lập chế độ mạng cho bộ điều hợp mạng ảo là một trong những phần thú vị và quan trọng nhất trong cài đặt mạng của VirtualBox. Có sáu chế độ mạng, mỗi chế độ có thể được sử dụng cho các trường hợp khác nhau. Chức năng chuyển tiếp cổng (port forwarding) có thể được cấu hình để truy cập từ bên ngoài vào các máy ảo có bộ điều hợp mạng hoạt động ở chế độ ” NAT ” hoặc ” NAT Network“.

Dùng thử NAKIVO Backup & Replication

Dùng thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp này. 15 ngày miễn phí. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

Có thể bạn cũng quan tâm