Cách thiết lập kết nối mạng NAT và Chỉ lưu trữ với địa chỉ IP tĩnh trong VirtualBox


22

Tôi đang cố gắng thiết lập một nhóm khách trong VirtualBox, sao cho mỗi người trong số họ có thể truy cập Internet cũng như hiển thị với nhau và cho chủ nhà. Tôi cũng muốn khách có địa chỉ IP tĩnh.

Đây là thủ tục mà tôi đã làm theo cho đến nay:

  1. Tắt tính năng Máy chủ DHCP của mạng Chỉ lưu trữ sẽ được sử dụng trong thiết lập này
  2. Thay đổi địa chỉ IP được gán cho máy chủ thành 192.168.56.254
  3. Tạo một máy khách với 2 thẻ giao diện mạng (NIC)
  4. Định cấu hình NIC thứ 1 để sử dụng NAT
  5. Định cấu hình NIC thứ 2 để sử dụng Mạng chỉ nóng
  6. Cài đặt HĐH (Ubuntu Server 13.10) trên mỗi hệ điều hành
  7. Cập nhật hệ điều hành
  8. Định cấu hình mạng như sau bằng cách chỉnh sửa / etc / mạng / giao diện
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.254
dns-search cloudspace.local
dns-nameservers 8.8.8.8 8.8.4.4
  1. Lưu các tập tin
  2. Khởi động lại

Khi khách khởi động lại, mạng Chỉ lưu trữ hoạt động tốt. Các cặp máy chủ / khách và khách / khách có thể ping nhau, tuy nhiên Internet không hoạt động như apt-getthất bại.

Nếu sau đó tôi đưa ra một service networking restartlệnh, mạng bắt đầu hoạt động như bình thường.

Tôi đang làm gì sai?

Tôi đã thử chuyển đổi thứ tự xuất hiện các NIC trong /etc/network/interfacestệp. Tôi cũng đã hoán đổi Mạng NAT / Chỉ lưu trữ xung quanh giữa 2 NIC. Không có gì làm việc.

Máy chủ lưu trữ là Windows 8.1 và khách là Ubuntu Server 13.10. Tôi đã thử tương tự trên Mac OS X với kết quả tương tự.

Tôi sẽ đánh giá rất cao bất kỳ sự giúp đỡ trong việc này.

Cập nhật:

Tôi đã bao gồm đầu ra từ các lệnh sau đây, để giúp chẩn đoán:

  • mèo / etc / mạng / giao diện
  • ifconfig -a
  • tuyến đường -n
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.254

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:75:47:64
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe75:4764/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1180 (1.1 KB)  TX bytes:1332 (1.3 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:93:98:d8
          inet addr:192.168.56.1  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe93:98d8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:140 errors:0 dropped:0 overruns:0 frame:0
          TX packets:225 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14418 (14.4 KB)  TX bytes:27378 (27.3 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.56.254  0.0.0.0         UG    0      0        0 eth1
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

Cập nhật 2:

Sau khi tôi thực thi sudo service networking restart, đầu ra từ route -ntrở thành:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

Vậy làm thế nào để tôi đảm bảo cấu hình này khi khởi động?

Câu trả lời:


16

Sẽ dễ dàng hơn để khắc phục sự cố của bạn nếu bạn đăng kết quả bạn nhận được khi cố gắng ping địa chỉ bên ngoài (như máy chủ DNS của Google bạn đang sử dụng), cài đặt mạng hiện tại và bảng định tuyến của bạn.

/sbin/ifconfig -a
/sbin/route -n

Không biết nhiều hơn, đây là một chút trong bóng tối, nhưng tôi đoán là a) bạn không nhận được địa chỉ DHCP trên eth0 hoặc b) cài đặt cổng cho eth1 của bạn đang bị rối với DHCP tuyến mặc định được gán.

Nếu bạn không nhận được địa chỉ DHCP cho eth0, thì đó có thể là cấu hình sai trong VirtualBox (như chuyển ngược lại bộ điều hợp của bạn).

Dù bằng cách nào, bạn không cần cài đặt cổng hoặc DNS được chỉ định cụ thể cho eth1 vì điều đó sẽ được DHCP gán trên eth0, vì vậy tôi sẽ xóa các dòng cổng, dns-search và dns-nameervers khỏi cấu hình của bạn. Các máy ảo của bạn vẫn có thể giao tiếp mà không cần cài đặt cổng nếu chúng ở trên cùng một mạng và VirtualBox được thiết lập đúng.

Chỉnh sửa: Để đảm bảo bạn không có cổng trên eth1 sau khi khởi động lại, hãy xóa các dòng khỏi khối eth1 của bạn để nó trông như thế này:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0

Khi bạn hoàn thành, bạn sẽ không có bất kỳ dòng cổng nào trong tệp giao diện của mình.


Tôi đã thêm các chẩn đoán như bạn đề nghị. Tôi nghĩ rằng câu trả lời đúng là (b), tức là các cài đặt cổng cho việc eth1gây rối với tuyến đường mặc định DHCP được chỉ định. Có một giải pháp cho điều này?
Umar Farooq Khawaja

1
Tôi đã chỉnh sửa câu trả lời của mình để hiển thị cách khối eth1 của bạn sẽ nhìn trong tệp giao diện. Bạn không cần mạng hoặc đường truyền phát và bạn không nên có đường cổng. Loại bỏ ba.
jkt123

3

Tôi đã đưa ra giải pháp này, giống như câu trả lời của @ jkt123 và câu hỏi của @ Umar, nhưng ngắn hơn. Tôi đánh giá cao phản hồi về nó!

Trong hộp ảo, kích hoạt cả mạng NAT và mạng chỉ lưu trữ . (BTW: Nó hoạt động trên máy chủ win7 của tôi. Tôi không biết làm thế nào trong máy chủ linux).

Trên máy chủ - tìm ip của giao diện "chỉ dành cho máy chủ"

ipconfig /all     # for windows host
ifconfig -a       # for linux host

Trong khách, chỉnh sửa / etc / mạng / giao diện . Thủ thuật đã đảo ngược thứ tự eth1 (chỉ lưu trữ) đến TRƯỚC eth0 (internet / dhcp). Tôi không biết tại sao.

auto lo                        # keep the original loopback settings
iface lo ...                   # yeah, i don't remember, just keep it.

# ----> Ok, this is my addition <-----
auto eth1                      
allow-hotplug eth1             # i think hotplug it helps. not sure.
iface eth1 inet static
address 192.168.56.100         # arbitrary IP address between 2 and 254

auto eth0                      # This is the original content
iface eth0 inet dhcp           #  of this file, now at the end.

khởi động lại.


0

Trước hết, tôi kích hoạt cả hai mạng NAT với DHCP và mạng chỉ lưu trữ với static ip add 192.168.40.41.

Sau đó, tôi làm theo lệnh này:

nano cat /etc/network/interfaces

Tôi đã nhận được kết quả này:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.41.4
netmask 255.255.255.0

Và trước khi khởi động lại, tôi đã gõ lệnh sau:

sudo service networking restart

Sau đó khởi động lại.

Sau khi tôi tải vào VM VirtualBox, cả hai mạng đều hoạt động. Tôi có thể kết nối với internet và tôi có thể kết nối 192.168.40.41thông qua trình duyệt web.

Tôi hy vọng điều này sẽ hữu ích để có được nano trình soạn thảo:

sudo apt-get update
sudo apt-get install nano

Sau đó chỉ cần gõ nanovào thiết bị đầu cuối để bắt đầu nó.


0

Bạn có nhiều cổng mặc định được gán cho các NIC khác nhau. Nói chung, "Mặc định" có nghĩa là một tùy chọn được chọn trước. Trong trường hợp này, nếu một cổng mặc định đã chỉ định được xác định cho cả hai NIC, thì đó sẽ không phải là một tùy chọn được chọn trước. Ngoài ra, điều này cũng sẽ dẫn đến các vấn đề giao tiếp như định tuyến không đồng bộ. Tôi không chắc chắn làm thế nào Số liệu của cả hai giao diện được đặt thành 0, nhưng có thể là do có cả hai NIC với các cổng. Bài viết của Microsoft về vấn đề này được đặt ở đây và tính năng Số liệu có một số yếu tố cung cấp cách xác định mức độ ưu tiên của nó. (Liên kết: https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes )

Theo thỏa thuận với @ jkt123 trong phản hồi đã trả lời, chỉ có 1 cổng mặc định sẽ được chỉ định.

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.