Không có quyền truy cập Internet trên máy ảo trong mạng NAT trong VirtualBox


12

Tôi đã tạo một mạng NAT trong VirtulBox 5 Trong Ubuntu 14.04 LTS với các cài đặt sau

Tên Natework: NatNetwrok1
Mạng CIDR: 10.0.2.0/24
Hỗ trợ DHCP: đã bật
Hỗ trợ IPv6: bị vô hiệu hóa
mà không cần chuyển tiếp cổng

Ngoài ra, tôi có hai máy ảo (Cả hai bản sao Xubfox), tôi đã đặt cài đặt Mạng để bật hai máy ảo trên mỗi máy ảo với các cài đặt sau trong cả bốn bộ điều hợp:

Đã đính kèm với: mạng NAT NAT
Tên của tên: xông NatNetwrok1

Khi tôi chạy cả hai máy ảo, tôi có thể thấy các cài đặt sau khi chạy lệnh ifconfig

kết quả ifconfig trên Xubfox1

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

kết quả ifconfig trên Xubutracentu2

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

Ping giữa 4 IP này hoạt động tốt
Nhưng tôi không thể truy cập Internet trên một trong hai máy ảo này
Trong khi nếu thay đổi mạng NAT NAT mạng thành mạng NAT thì tôi có thể truy cập mạng nhưng dường như nó trở thành một phần của mạng ảo khác và tôi không thể ping Họ
có thể giúp tôi xác định và khắc phục sự cố

Bất cứ ai cũng có thể giải thích sự khác biệt giữa NATNAT Network


Vấn đề tương tự ... Ai đó có thể giúp đỡ?
màn hình35

Gần đây tôi gặp vấn đề này khi sử dụng hộp ảo 5.0.40 từ repo ubfox mặc định. Để giải quyết vấn đề này, tôi đã cấu hình mỗi VM với hai giao diện. Một cái có NatNetwork nội bộ, và cái kia sử dụng chế độ cầu. Trong hệ điều hành khách (ubfox 16.04), bạn sẽ cần điều chỉnh / etc / mạng / giao diện để giao diện thứ hai hiển thị trong máy khách. Điều đó giúp mỗi VM có thể ở trong NAT nội bộ và có thể truy cập internet cùng một lúc.
JulioHM

Câu trả lời:


7

Tại sao không làm việc?

Trong 16.04 (và có thể là 14.04), tính năng Mạng NAT của phiên bản đóng gói chính của VirtualBox (5.0.36) đã bị lỗi .

Kiểm tra nó!

Bạn có thể tự kiểm tra: nếu ls /usr/lib/virtualbox/VBoxNetNATthực thi có mặt, thì bạn có thể có một số loại vấn đề khác.

Sửa nó!

Lỗi này được sửa trong các phiên bản mới hơn. Vì vậy, bạn nên cài đặt một phiên bản mới:

Xóa phiên bản cũ

Ví dụ: nếu bạn đã cài đặt bằng cách sử dụng, aptbạn có thể chạy:

sudo apt remove virtualbox --auto-remove

Cài đặt phiên bản mới

Bản sửa lỗi có sẵn cho các phiên bản mới hơn (Ubuntu yakkety +). Đối với phiên bản cũ hơn:

  • Truy cập virtualbox.org và tải xuống phiên bản mới nhất theo cách thủ công
  • HOẶC LÀ
  • Sử dụng tập lệnh sau:

    # add the official repository
    wget -q -O - https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo apt-key add -
    echo deb http://download.virtualbox.org/virtualbox/debian `lsb_release -cs` non-free contrib | sudo tee /etc/apt/sources.list.d/virtualbox.org.list
    # install the newer version
    sudo apt install virtualbox-5.1
    

1
Nếu bạn đã cài đặt phiên bản hộp ảo trước đó, hãy đảm bảo bạn cũng gỡ cài đặt virtualbox-dkmsđể sửa lỗi này hoạt động. Nếu không, bạn vẫn có thể bị mắc kẹt mà không có internet
Barak Itkin

7

Tôi đã sử dụng VirtualBox 5.0.40 từ kho apt mặc định. Để giải quyết vấn đề này, tôi đã cấu hình mỗi VM để sử dụng hai giao diện mạng.

  • Bộ điều hợp 1: Add Add Bridge (với nic thực sự của bạn)
  • Bộ điều hợp 2: Mạng NAT (bạn chọn)

Trong hệ điều hành guets (Ubuntu 16.04), bạn sẽ cần phải điều chỉnh /etc/network/interfacesđể giao diện thứ hai hiển thị. Trong trường hợp của tôi, tôi cần máy ảo để sử dụng IP tĩnh bên trong Mạng NAT, vì vậy đây là những gì tôi nhận được.

## Bridge to Internet
auto enp0s3
iface enp0s3 inet dhcp

## NAT Network among VMs
## Static is optional
## DHCP if you don't need it
auto enp0s8
iface enp0s8 inet static
  address 10.10.11.100
  netmask 255.255.255.0

Tất nhiên, điều này giả sử Mạng NAT của tôi sử dụng mạng con 10.10.11.0/24. Thích ứng số với kịch bản của bạn hoặc chỉ để nó cho dhcp, như bạn muốn.

LƯU Ý: Một điều quan trọng cần lưu ý trong cấu hình tĩnh là, đối với trường hợp cụ thể này, bạn KHÔNG THỂ gán cho nó một cổng mặc định. Đưa ra enp0s8một mặc định (như 10.10.11.1) sẽ khiến HĐH tạo tuyến đến cổng này và tuyến đó cũng có thể làm hỏng truy cập internet của bạn. Bạn chỉ cần làm điều đó khi giao diện cụ thể này cần các tuyến đến các mạng khác, ngoài giao diện được cấu hình cho nó.

Để tìm ra tên giao diện được gán bởi Ubuntu cho môi trường của bạn, bạn có thể dmesg | grep eth.

nhập mô tả hình ảnh ở đây


Của tôi hoạt động tốt hơn khi tôi sử dụng 'dhcp' cho cả eth0 và eth1. Nó chỉ tự động gán 10.0.2.15 cho NAT và eth1 internet công cộng của tôi không có IP, nhưng tôi có thể ping internet từ VM!
Milean

6

Theo hướng dẫn của VirtualBox, đây là các khả năng mạng cho máy ảo của bạn:

  • NAT: Mạng nội bộ giữa VM và máy chủ. Bên cạnh đó bạn có thể truy cập Internet. Hai hoặc nhiều VM trong chế độ NAT không có kết nối giữa chúng, chỉ với máy chủ và Internet.

  • Nội bộ: Tất cả các máy ảo có cấu hình này sẽ có kết nối giữa chúng nhưng không có máy chủ cũng như Internet.

  • Chỉ lưu trữ: Một mạng ảo sẽ được tạo giữa máy chủ và tất cả các VM có cấu hình này, nhưng bạn sẽ không có quyền truy cập Internet.

  • Mạng NAT: Bạn có thể tiếp cận tất cả các máy ảo trong cùng một mạng NAT được xác định trước và máy chủ lưu trữ, nhưng bạn sẽ không thể kết nối với Internet.

  • Cầu nối: VM của bạn sẽ ở trong cùng một mạng mà máy chủ của bạn giống như máy tính / máy chủ khác trong mạng này, và do đó, nó sẽ có điểm truy cập Internet nếu máy chủ của bạn có.

  • Chung: Cấu hình nâng cao và cụ thể hơn hiếm khi được sử dụng.

Vì vậy, nếu bạn muốn tạo một mạng nội bộ có kết nối với máy chủ, hãy chọn Mạng NAT, nhưng lưu ý rằng bạn sẽ không có quyền truy cập Internet. NAT chỉ được đặt khi bạn chỉ muốn truy cập Internet từ VM và không có gì khác.

Tuy nhiên, không có cài đặt nào trong số này phù hợp với bạn nếu bạn muốn có kết nối giữa cả VM và Internet. Theo tôi biết, lựa chọn duy nhất của bạn là cấu hình cả hai máy ảo ở chế độ bắc cầu, vì vậy chúng sẽ là các máy tính 'khác nhau' trong mạng máy chủ của bạn và bạn sẽ có thể ping tất cả chúng và Internet từ bất kỳ máy chủ nào.

Mặt khác, có vẻ như bạn đã sao chép một VM từ máy kia vì cả hai máy có cùng một địa chỉ MAC ( HWaddr trong thông tin lệnh ifconfig), lưu ý rằng bạn nên đánh dấu vào hộp kiểm có nội dung " Reinitialize địa chỉ MAC của tất cả các card mạng "Khi nhân bản. Hai thiết bị có cùng địa chỉ MAC luôn tạo ra sự cố.

Tôi không phải là chuyên gia về VirtualBox nên có thể những người dùng khác có thể cho bạn biết các cấu hình rõ ràng khác để có được những gì bạn muốn. Tôi hy vọng bạn tìm thấy thông tin này hữu ích.

Để biết thêm thông tin bạn có thể đọc này .


3
Sự thật là NAT Network sẽ ngăn khách của bạn kết nối với internet. Tôi có thể kết nối với internet từ các khách VM trên Mạng NAT. Theo nhận xét cuối cùng trên forum.virtualbox.org/viewtopic.php?f=3&t=69504 , "Chế độ NAT có nghĩa là mỗi VM được cách ly phía sau bộ định tuyến của chính nó ... Mạng NAT giống như NAT ngoại trừ việc bạn có thể có một số VM kết nối với cùng một bộ định tuyến nội bộ. "
eebbesen

2

Đây có thể là một lỗi trong VirtualBox. Tôi đã trải nghiệm tương tự (Ubuntu 16.04.2 LTS, VirtualBox 5.0.32_Ub Ubuntu r112930): Thiết lập Mạng NAT, được định cấu hình cho hai máy ảo Ubuntu. Mỗi VM có thể ping / SSH vào nhau và thông qua chuyển tiếp cổng tôi có thể SSH từ máy chủ vào từng VM. Nhưng không có quyền truy cập Internet từ bên trong máy ảo. Một đồng nghiệp đã thử tương tự với máy chủ Windows, VirtualBox (phiên bản không xác định) và cùng các máy ảo và nó đã hoạt động.

Như một giải pháp thay thế, tôi đã cấu hình một card mạng thứ hai cho mỗi VM: Cái đầu tiên sử dụng NAT để truy cập Internet, cái thứ hai sử dụng "Mạng NAT" để truy cập (các) khách khác. Tôi đã phải thiết lập chuyển tiếp cổng SSH trên thẻ (NAT) đầu tiên và định cấu hình một cổng SSH khác trên một VM (tức là 2222 -> 22 trên VM1, 2223 -> 23 trên VM2).

Dựa trên tài liệu này , cả NAT và NAT Network đều có thể truy cập Internet. Sự khác biệt là lần đầu tiên có máy chủ tách biệt kết nối khách, vì vậy khách không thể truy cập lẫn nhau, chỉ có máy chủ. Các nhóm sau gộp tất cả khách vào một mạng duy nhất (và cung cấp các dịch vụ như DHCP) để họ có thể truy cập lẫn nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.