Ana makineyi değiştiren ağlarla VM Ubuntu sunucusu üzerindeki ağ nasıl yapılandırılır?


2

Ana bilgisayarım bir Windows 7 dizüstü bilgisayarı ve VMware'de çalışan bir Ubuntu 11.04 sunucum var. Rails gelişimi için konuk sunucuyu kullanıyorum.

Dizüstü bilgisayarım ağa girip çıkıyor - ev ağım, iş ağım, 3G bağlantım, vb.

Ubuntu sunucusunu kurmak istiyorum ki:

  • Dizüstü bilgisayarımdaki ağdan bağımsız olarak, her zaman aynı IP adresinden (Samba, HTTPD ve SSH) erişebiliyorum. Yalnızca VM sunucusuna dizüstü bilgisayardan erişmek istiyorum. Bu bir geliştirme sunucusu. Sabit bir ana bilgisayar adı ve dinamik IP de yeterli olacaktır - dizüstü bilgisayara bir ağa bağlı olup olmamasına bakılmaksızın, ağa bakılmaksızın, dizüstü bilgisayarınızdan HTTP, SSH ve Samba üzerinden basabileceğim sürece.
  • Sunucu internete bağlanabilecektir (dizüstü bilgisayarım bağlantı varsayarak) apt-get.

Mümkün mü? Statik IP ayarlamayı denedim /etc/network/interfaces, ancak bu yalnızca ev ağım için işe yarıyor ve başka bir yere gidersem dizüstü bilgisayarım ev ağımda olmadığı zaman VM'ye erişemiyorum.


"Her zaman aynı IP adresinden ona erişebilirim (SAMBA, HTTPD ve SSH)" derken, sadece dizüstü bilgisayardan mı yoksa herhangi bir İnternet sunucusundan mı bahsediyorsunuz?
Ambroz Bizjak

İyi nokta @ Ammbroz - Netleştirmek için değiştirdim. Teşekkürler.
Stewart Johnson

Yanıtlar:


3

Temel probleminiz (statik IP'ye sahip), VM ile ilgisizdir. Bunun yerine bir kullanmanın köprülü ağ arabirim (yani misafir sistemini kendi ağ yapar) kullanarak, teoride NAT ve liman yönlendirmeyi kullanmak ve statik IP'ye sahip ev sahipliği sistemini yapılandırabilirsiniz.

Ne yazık ki, statik bir IPv4 adresi yapılandırmak mümkün değildir. Bir IPv4 ağında, her düğümün kendi yönlendirme tablosu vardır. Genellikle, çoğu düğüm yerel ağlarına (192.168., 10. veya 172.16-31. * İle başlayan) doğrudan hedef PC'ye trafik gönderir. Maalesef, ağda kullanılan adresler yukarıdakilerden herhangi biri olabilir ve tercih ettiğiniz adres önceden alınmış olabilir.

Bu bizi küresel bir IPv4 adresiyle bırakıyor. Bunlar için yönlendirme çekirdek internette ve bu yönlendirme ISS ve internete yerel ağ geçidi tarafından yapılandırılmalıdır. Bu mümkün değildir ve dinamik okumaya izin vermez.

Mobil IP böyle yeni rota belirleme sağlayacak standart yaygın uygulama görmemiştir. Mobil IPv4, bir sistemin genel IPv4 adresinizi yönetmesini ve mevcut konumunuza yönlendirmesini sağlayarak çalışır.

Bir kullanarak bu bugünkü gibi bir şey elde edebilirsiniz VPN : Set up yerde internet üzerinde statik IP ile VPN sunucusu, ve Ubuntu Sunucu VM bu cihaza bağlanmak zorunda. Ardından, söz konusu bağlantı noktalarını VPN sunucusundan istemciye yönlendirin.

Geçerli IP adresiyle eşleşen sabit bir ad yeterliyse, bir dyndns servisi kullanabilirsiniz . Bunlar, VM'nizde çalışan bir istemci yardımcı programı ile güncelleyebileceğiniz bir alan adı verir. Bu şekilde, my-ubuntu-vm.dyndns-provider.netkullanılmakta olan yerel adresi işaret edebilirsiniz .

Genel bir DNS adı kaydetmek yerine, avahi ile çok noktaya yayın DNS de kullanabilirsiniz . Konfigürasyondan sonra , VM'niz gibi bir isim altında erişilebilir olacaktır . Ne yazık ki, çok noktaya yayın DNS ek yazılım gerektirir. Çoğu Linux ve Mac OS X sistemi kutudan çıktığında, Windows sistemleri desteklemiyor. Apple'ın Bonjour'unu ( Apple Safari ile birlikte de verilir ) bu sistemlere yükleyebilirsiniz .my-ubuntu-vm.local

Dyndns sizin için işe yaramazsa (gerçekten bir IP'ye ihtiyacınız var, bir isme ihtiyacınız yok, ya da güncelleme süreleri çok sivilceli) ve neredeyse sabit bir internet bağlantınız varsa, VM sistemini bir ana makineye taşımanızı öneririm. genel IP adresi. Bu, VPN çözümü ile aynı dezavantajlara sahiptir (internete bağlı olmadığınız zaman çalışmaz ve sunucu ve genel adres için ödeme yapmanız gerekir), ancak kurulumu nispeten kolaydır.

Sanal Makineye yalnızca ana bilgisayardan erişmek istiyorsanız, NAT ve Bağlantı Noktası İletme özelliğini kullanabilirsiniz (Artık GUI'da, Devices-> ile Network Adapters). Bağlantı noktalarını yeniden yönlendirin (örneğin, istemcinin HTTP sunucusunu konukdaki bağlantı noktası 80'den ana bilgisayardaki bağlantı noktası 2080'e yeniden yönlendirin) ve sonra değiştirilen bağlantı noktasını kullanın. Adım adım:

  1. Ağ sekmesine gidin. VM çalışıyorsa Devices-> öğesini seçin Network Adapters. Değilse, sağ tıklayın, Ayarlar'ı seçin (veya Ayarlar butonuna tıklayın) ve sonra Ağ sekmesine gidin.
  2. Yalnızca bir adaptör olduğundan ve NAT olarak ayarlandığından emin olun. (Burada bir şey değiştirirseniz, Sanal Makineyi yeniden yapılandırmanız gerekir)
  3. Advancedağ sekmesinde.
  4. Tıklayın Port Forwarding.
  5. Bir kural ekleyin. Ana bilgisayar bağlantı noktasını yüksek bir bağlantı noktasına (2080 gibi) ve istemci bağlantı noktasını yönlendirmek istediğiniz bağlantı noktasına ayarlayın (HTTP için 80, ssh için 22).
  6. http://localhost:2080İstemci HTTP sunucusuna erişmek için ana sisteminizin tarayıcısına girin .

Hizmetlerin aynı bağlantı noktalarında çalıştırılması gerekiyorsa, ek bir arabirim de (NAT olanı dışında) ekleyebilir ve yalnızca ana bilgisayara ayarlayabilirsiniz . Bu, ana sisteminizde yeni bir arayüz ortaya çıkarır ve bu ağın konukla iletişim kurmak için özel IP VirtualBox rezervlerini kullanabilirsiniz. Adım adım:

  1. Sanal Makineyi kapatın.
  2. Yöneticide VM'yi sağ tıklayın ve öğesini seçin Settings.
  3. NetworkSekmeye git .
  4. İki arayüzü yapılandırın: Biri NAT (VM'nizin internete erişmesine izin vermek için), diğeri Yalnızca-Host (ana makinenizin konukla iletişim kurmasına izin vermek için).
  5. Sanal Makineyi önyükleyin /sbin/ifconfigve adresini bulmak için yazın . Birinden başlamasını istiyorsun 192.168..
  6. Ana sistemdeki bu adresi kullanın.

Cevap için teşekkürler. @Ambroz Bizjak'ın yorumuna dayanarak netleştirmek için soruyu düzenlemelerle güncelledim - bu sizin cevabınızı etkiler mi?
Stewart Johnson

@Stewart Johnson Evet, önemli derecede. İki paragraf eklendi.
phihag,

Açıklama için teşekkürler, ancak eklediğiniz parça ile ne demek istediğinizi tam olarak takip etmiyorum. VM'yi ana bilgisayarın IP adresini kullanacak şekilde ayarlamalı mıyım? Bağlantı noktası iletme yapılandırmasını nerede yaparım?
Stewart Johnson

@Stewart Johnson Ayrıntılı adım adım kılavuzlar eklendi. Bu açıklamalar yeterli mi? İkinci değişken (yalnızca bir ana bilgisayar ağ bağdaştırıcılı), daha kolay olabilir ve özellikle Samba'yı önemli ölçüde etkiler, ancak ana bilgisayar sistemine sanal bir ağ bağdaştırıcısı ekler.
phihag

Müthiş - bu harika. Yalnızca ana bilgisayar adaptörüyle birlikte gittim ve bu tam ihtiyacım olan gibi çalışıyor. Detaylı açıklama için teşekkürler!
Stewart Johnson

1

Sunucunuzu sağlayıcıların etrafında hareket ettirirseniz, statik bir IP adresine sahip olamazsınız. Her sağlayıcı istediği adresi size atar. Daha önce de belirtildiği gibi, bir IP adresi bir anda ne olursa olsun, bir alan adını işaret etmek için bir dyndns servisi kullanabilirsiniz. Ancak, bu genel olarak işe yaramaz, çünkü gelen bağlantıları engelleyen bir güvenlik duvarı veya NAT olabilir.

Güvenilir ancak karmaşık bir alternatif, zaten statik bir IP adresine (veya güncellenmiş bir dyndns etki alanına sahip) mevcut bir sunucuyu kullanmaktır. Başka bir şey değilse, muhtemelen evde bir tane kurabilirsiniz (Linux olsa iyi olur). Böyle bir sunucunuz olduğunda, statik sunucu ile dolaşımdaki Ubuntu sunucunuz arasında bir Sanal Özel Ağ (VPN) kurun. Bu, statik sunucunuza ve dolaşım sunucunuza, dizüstü bilgisayarınız nerede olursa olsun, iletişim kurabilecekleri özel IP adreslerini verir. Başka bir deyişle, statik sunucu ve dolaşım sunucusu aynı LAN’ın bir parçası gibi görünecektir. Artık dolaşım sunucusunun İnternet'e VPN ve statik sunucu üzerinden erişebilmesi için NAT ve yönlendirmeyi statik sunucu üzerinde ayarlayabilirsiniz. Belirli portları statik sunucudan dolaşım sunucusuna yönlendirmek için statik sunucuya port yönlendirme kuralları ekleyebilirsiniz, VPN üzerinden. Bu, bu hizmetler statik sunucunun IP adresinde bulunuyormuş gibi görünmesini sağlarken, dolaşım sunucusu tarafından yanıtlanacak VPN'i gerçekten kullanacaklar.

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.