Từ hướng dẫn VirtualBox :
Định cấu hình chuyển tiếp cổng với NAT
Vì máy ảo được kết nối với mạng riêng bên trong VirtualBox và ẩn với máy chủ, các dịch vụ mạng trên máy khách không thể truy cập được vào máy chủ hoặc với các máy tính khác trên cùng mạng. Tuy nhiên, giống như một bộ định tuyến vật lý, VirtualBox có thể cung cấp các dịch vụ được chọn cho thế giới bên ngoài khách thông qua chuyển tiếp cổng. Điều này có nghĩa là VirtualBox lắng nghe một số cổng nhất định trên máy chủ và gửi lại tất cả các gói đến đó cho khách, trên cùng hoặc một cổng khác.
Đối với một ứng dụng trên máy chủ hoặc các máy vật lý (hoặc ảo) khác trên mạng, có vẻ như dịch vụ đang được ủy quyền thực sự đang chạy trên máy chủ. Điều này cũng có nghĩa là bạn không thể chạy cùng một dịch vụ trên cùng một cổng trên máy chủ. Tuy nhiên, bạn vẫn có được những lợi thế khi chạy dịch vụ trong máy ảo - ví dụ: các dịch vụ trên máy chủ hoặc trên các máy ảo khác không thể bị xâm phạm hoặc bị hỏng do lỗ hổng hoặc lỗi trong dịch vụ và dịch vụ có thể chạy trong một hệ điều hành khác với hệ thống máy chủ.
Bạn có thể thiết lập một dịch vụ khách mà bạn muốn ủy quyền bằng công cụ dòng lệnh VBoxManage; để biết chi tiết, vui lòng tham khảo phần có tên là VBoxManage redirectvm.
Bạn sẽ cần biết cổng nào trên máy khách mà dịch vụ sử dụng và quyết định sử dụng cổng nào trên máy chủ (thường nhưng không phải lúc nào bạn cũng muốn sử dụng cùng cổng trên máy khách và máy chủ). Bạn có thể sử dụng bất kỳ cổng nào trên máy chủ chưa được sử dụng bởi một dịch vụ. Ví dụ: để thiết lập các kết nối NAT đến máy chủ ssh trong máy khách, hãy sử dụng lệnh sau:
VBoxManage sửa đổi "tên VM" --natpf1 "Guestsh, tcp ,, 2222 ,, 22"
Với ví dụ trên, tất cả lưu lượng TCP đến trên cổng 2222 trên bất kỳ giao diện máy chủ nào sẽ được chuyển tiếp đến cổng 22 trong máy khách. Tên giao thức tcp là thuộc tính bắt buộc xác định giao thức nào sẽ được sử dụng để chuyển tiếp (udp cũng có thể được sử dụng). Tên khách mời hoàn toàn mô tả và sẽ được tạo tự động nếu bị bỏ qua. Số sau --natpf biểu thị card mạng, giống như trong các phần khác của VBoxManage.
Để loại bỏ quy tắc chuyển tiếp này một lần nữa, hãy sử dụng lệnh sau:
VBoxManage sửa đổi "tên VM" --natpf1 xóa "guestsh"
Nếu vì lý do nào đó, khách sử dụng địa chỉ IP được gán tĩnh không được thuê từ máy chủ DHCP tích hợp, thì bắt buộc phải chỉ định IP khách khi đăng ký quy tắc chuyển tiếp:
VBoxManage sửa đổi "tên VM" --natpf1 "Guestsh, tcp ,, 2222,10.0.2.19,22"
Ví dụ này giống hệt với ví dụ trước, ngoại trừ việc động cơ NAT được thông báo rằng khách có thể được tìm thấy tại địa chỉ 10.0.2.19.
Để chuyển tiếp tất cả lưu lượng truy cập đến từ một giao diện máy chủ cụ thể đến khách, chỉ định IP của giao diện máy chủ đó như sau:
VBoxManage sửa đổi "tên VM" --natpf1 "Guestsh, tcp, 127.0.0.1,2222 ,, 22"
Điều này chuyển tiếp tất cả lưu lượng TCP đến trên giao diện localhost (127.0.0.1) qua cổng 2222 đến cổng 22 trong máy khách.
Không thể định cấu hình các kết nối NAT đến trong khi VM đang chạy. Tuy nhiên, bạn có thể thay đổi cài đặt cho VM hiện đang được lưu (hoặc tắt khi chụp nhanh).