VirtualBox'da statik IP adresi ile NAT ve Yalnızca Sunucu ana ağı nasıl kurulur


22

VirtualBox’da bir dizi misafir kurmaya çalışıyorum, böylece her biri İnternet’e erişebildiği gibi birbirlerine ve ana bilgisayara da görünebilecek. Ayrıca konukların statik IP adresleri olmasını istiyorum.

İşte şimdiye kadar takip ettiğim prosedür:

  1. Bu kurulumda kullanılacak Yalnızca Host ağının DHCP Sunucusu özelliğini kapatın
  2. Ana bilgisayara atanan IP adresini 192.168.56.254 olarak değiştirin.
  3. 2 ağ arabirim kartıyla (NIC) misafir makinesi oluşturma
  4. NAT'ı kullanmak için 1. NIC'yi yapılandırın
  5. 2. Yalnızca NIC Ağını Kullanacak NIC'yi yapılandırma
  6. Her birine işletim sistemi (Ubuntu Server 13.10) yükleyin
  7. İşletim sistemini güncelleyin
  8. / Etc / network / interfaces komutunu kullanarak ağı aşağıdaki şekilde yapılandırı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. Dosya 'yı kaydet
  2. Yeniden Başlatma

Konuk yeniden önyüklendiğinde, Yalnızca Ana Bilgisayar ağı düzgün çalışır. Ev sahibi / misafir ve misafir / konuk çiftleri birbirlerini ping edebilir, ancak İnternet apt-getbaşarısız olarak çalışmaz.

Daha sonra bir service networking restartkomut verirsem , ağ olması gerektiği gibi çalışmaya başlar.

Neyi yanlış yapıyorum?

NIC'lerin /etc/network/interfacesdosyada göründüğü sırayı değiştirmeyi denedim . Ayrıca NAT / Host-Only Network'ü 2 NIC arasında değiştirdim. Hiçbir şey işe yaramadı.

Ev sahibi, Windows 8.1 ve misafir Ubuntu Server 13.10'dur. Aynı sonuçları Mac OS X'te de denedim.

Bu konuda herhangi bir yardım için çok teşekkür ederim.

Güncelleştirme:

Tanılamada yardımcı olması için aşağıdaki komutlardan gelen çıktıyı dahil ettim:

  • cat / etc / network / arayüzler
  • ifconfig -a
  • rota -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

Güncelleme 2:

Çalıştırdıktan sonra sudo service networking restart, çıktı route -n:

$ 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

Peki bu yapılandırmayı açılışta nasıl temin ederim?

Yanıtlar:


16

Harici bir adrese (kullandığınız Google DNS sunucuları gibi), mevcut ağ ayarlarına ve yönlendirme tablonuza ping işlemi yaparken elde ettiğiniz sonuçları kaydettiğinizde, sorunu gidermek daha kolay olacaktır.

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

Daha fazlasını bilmeden, bu karanlıkta bir çekimdir, ancak benim tahminime göre a) eth0'da bir DHCP adresi alamıyorsunuzdur veya b) eth1 için ağ geçidi ayarlarınız atanmış varsayılan rota DHCP ile karıştırılıyordur.

Eth0 için bir DHCP adresi almıyorsanız, muhtemelen VirtualBox'taki bir yanlış yapılandırma (adaptörlerinizi geri alma gibi).

Her iki durumda da, eth0 için DHCP tarafından atanacağı için özel olarak eth1 için atanmış bir ağ geçidi veya DNS ayarlarına ihtiyacınız yoktur, bu yüzden ağ geçidini, dns-search ve dns-nameservers satırlarını configinizden kaldırırım. Sanal makineleriniz, aynı ağdaysa ve Sanal Kutu doğru kuruluysa, ağ geçidi ayarı olmadan da iletişim kurabilir.

Düzenleme: Yeniden başlatmanın ardından eth1'de bir ağ geçidinizin olmadığından emin olmak için, eth1 bloğundan satırları şöyle görünecek şekilde kaldırın:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0

İşiniz bittiğinde, arabirimler dosyanızda herhangi bir ağ geçidi çizgisi olmayacak.


Teşhisi önerdiğin gibi ekledim. Bence doğru cevap (b) 'dir, yani, ağ geçidi ayarları eth1atanan varsayılan rota ile karışmaktadır. Bunun bir çözümü var mı?
Umar Farooq Khawaja

1
Eth1 bloğunuzun arayüzler dosyasına nasıl bakması gerektiğini göstermek için cevabımı düzenlemiştim. Ağa veya yayın hattına ihtiyacınız yoktur ve ağ geçidi hattınız olmamalıdır. O üçünü kaldır.
jkt123

3

@ Jkt123'ün cevabı ve @ Umar'ın sorusuyla aynı olan, fakat daha kısa olan bu çözüme ulaştım. Bu konuda geri bildirimde bulunmak isterim!

Sanal kutuda, NAT ve yalnızca ana bilgisayar ağlarını etkinleştirin . (BTW: Win7 sunucumda çalışıyor. Linux hostunda nasıl yapacağımı bilmiyorum).

Ana bilgisayarda - "yalnızca ana bilgisayar" arabiriminin ipini bulun

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

Konukta, / etc / network / interfaces öğesini düzenleyin . İşin püf noktası eth1 siparişini tersine çeviriyordu (yalnızca ana bilgisayar) eth0 ÖNCE gelir (internet / dhcp). Neden bilmiyorum.

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.

reboot.


0

Her şeyden önce, her iki ağda NAT'ı DHCP ile etkinleştirdim ve sadece ağ ile ev sahibi oldum static ip add 192.168.40.41.

Sonra bu komutu izledim:

nano cat /etc/network/interfaces

Bu sonucu aldım:

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

Ve yeniden başlatmadan önce aşağıdaki komutu yazdım:

sudo service networking restart

Sonra yeniden başlatıldı.

VM VirtualBox'a yükledikten sonra her iki ağ da çalışıyor. İnternete bağlanabiliyorum ve 192.168.40.41web tarayıcısından bağlanabiliyorum .

Umarım bu nanoeditör almak için yararlı olacaktır :

sudo apt-get update
sudo apt-get install nano

Sonra nanobaşlatmak için sadece terminali yazmanız yeterlidir.


0

Farklı NIC'lere atanmış birden fazla varsayılan ağ geçidiniz var. Genel olarak, "Varsayılan" önceden seçilmiş bir seçenek anlamına gelir. Bu durumda, her iki NIC için belirlenmiş bir varsayılan ağ geçidi tanımlanmışsa, önceden seçilmiş bir seçenek olmaz. Ayrıca, bu Asenkron yönlendirme gibi iletişim sorunlarına da yol açar. Her iki arayüzün de Metrik değerinin 0 olarak ayarlandığından emin değilim, ancak her iki NIC'nin de ağ geçitlerine sahip olmasından kaynaklanıyor olabilir. Microsoft'un bu konuda yazdığı makale burada bulunur ve Metrik özellik, öncelikleri belirleme konusunda nasıl belirlendiğini belirleyen bir dizi faktöre sahiptir. (Bağlantı: https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes )

Yanıtlanan cevapta @ jkt123'ü kabul ederek, atanması gereken yalnızca 1 varsayılan ağ geçidi vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.