Linux

VirtualBox’da Sanal Sunucuya Nasıl Bağlanılır

March 6, 2019

author:

VirtualBox’da Sanal Sunucuya Nasıl Bağlanılır

VirtualBox, Vmware gibi programlar bilgisayarımıza farklı işletim sistemlerini kullanmamıza olanak sağlayan ‘sanallaştırma (virtualization) uygulamasıdır.

Yeni işletim sistemi öğrenmek için veya bilgisayarımızda bir lab ortamı kurmak için bu programlara işletim sistemi kurarak testlerimizi gerçekleştirebiliriz.

Ben de Udemy’den aldığım Red Hat Eğitimi için VirtualBox’a Centos sunucu kurdum. Sunucunun internete çıkması için default gelen ethernet kartını NAT olarak seçtim. VirtualBox kendi içindeki DHCP servisi ilk kurulan sunucuya 10.0.2.15 IP adresini veriyor.

Bilgisayarımdaki terminalden SSH yapmaya çalıştığımda sunucuya erişemiyorum.

VirtualBox kullanıcı kılavuzunda hostunuzdan sanal makinaya erişmeniz için aşağıdaki tablo paylaşmış.

Tablodan gördüğünüz gibi NAT yapılan bir networkten çıkmak için Port Forwarding özelliği kullanılmalı. Aslında kolay ve başka bir yolu daha var. Önce Port Forwarding ile başlayalım.

Port Forwarding için VirtualBox’da aşağıdaki adımları izleyin.

  1. Devices > Network > Network Settings
  2. “Port Forwarding” tıklayın.
  3. Daha sonra aşağıdaki şekilde port ayarlarınızı yapın.

Port forwarding ayarlarından sonra SSH yapabildim.

Ali-Kemal-MacBook-Pro:~ aa$ ssh -p 2222 root@127.0.0.1
root@127.0.0.1's password:
Last login: Mon Mar  4 18:49:04 2019 from 10.0.2.2
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[root@localhost ~]#

Port forwarding’i sadece SSH için değil sunucunuzda çalışan tüm uygulamalar için kullanabilirsiniz. Mesela sunucuda çalışan postgres ve web sunucusu için yaptığım port forwarding ayarları aşağıdaki gibi.

Hostunuzdan sanal makinaya erişmenizin ikinci yolu ise sanal sanal makinanıza ilave bir Network Adapter’ü eklemek. İkici ekleyeceğiniz adapter’ü host-only seçerseniz tüm uygulamalarınıza doğrudan erişebilirisiniz.

Network Adapter 1

Sonrasında sunucuda aktif ettiğimiz bu ikinci adapter için virtulbox’da yeni bir network oluşturmalıyız. Bu network’te adaptöre vereceğimiz IP adres aralığını belirteceğiz. DHCP servisinin çalışıp çalışmayacağını belirleyebiliriz.

Adapter’i oluşturduktan sonra sunucuya verdiğimiz Adapter 2 seçineğindeki Name kısmından VirtulBox’da oluşyurduğumuz yeni networkü seçmeliyiz.

Bu postta amacım virtualbox’ta çalışan bir sanal makinaya erişim yolunu anlatmaya çalışmaktı. NAT ve port forwarding’i atlatsaydım konu sapacak ve uzayacaktı. Merak edenler için buraya linkleri bırakıyorum.

https://gns3vault.com/network-services/nat-port-forwarding

İlave

Artık kendi client’ınızdan SSH yapabildiğinize göre VirtulaBox’ın GUI’si ile uğraşmak ve masaüstününzde yer kalplamsasını istemeyebilirsiniz. Bu durumda aşağıdaki komut ile sanal makinanızı arka planda çalıştırabilirsiniz.

VBoxManage startvm "SanalMakinaİsmi" --type headless
6 Comments
  1. Ertuğrul

    Güzel bir anlatım olmuş.Bu yöntemle sadece ssh ile sanal sunucuya bağlanabiliyoruz. Diyelimki ben sanal sunucu üzerinde farklı hizmetler çalıştırmak istiyorum, örneğin mysql, postgresql, apache web server. Her hizmet için port forwarding mi yapmam gerekiyor ? O yüzden sürekli bunları kontrol etmem gerekiyor. Bunun daha kolay bir yolu yokmuydu ?

    • alikemal

      Merhaba Ertuğrul Bey, yorumunuz için teşekkür ederim. Maalesef her servis için port forwarding yapmalısınız. Birtualbox'ın sadece standart virtulabox'a izin vermesinden dolayı. Gelişmiş network cihazlarında farklı yöntemleri var. (dynamic port forwarding gibi) Port forwarding ile tüm uygulamalarınıza erişebilirsiniz. Port forwarding amacı local ağdaki (LAN network) uzak bilgisayarların (örneğin evinizde Internet'e bağlu bilgisayarınız) herhangi herhangi bir servisine bağlanmasını sağlamaktır. Örneğin 8080 çalışan web sunucusunuzu 80 portundan map'lerek açabilirsiniz. Örneğini makalenin devamına koyuyorum. (yorumlara resim koymadığım için) İyi çalışmalar dilerim.

  2. Ertuğrul

    Bence bunun yöntemi var, iki tane network kartı tanımlayarak çözebiliriz. İki tane adapter, birini NAT diğerini Host-Only Adapter yaparak çift yönlü iletişimi sağlayabiliriz. Böylece her defasında bir şey yapmamıza gerek kalmaz.

    • alikemal

      Katkılarınız için teşekkürler Ertuğrul Bey, postu güncelledim.

      • Ertuğrul

        Resim aynı kalmış, her iki Network Adapter da aynı resim var.

        • alikemal

          Değiştirdim şimdi.

Leave a comment

Your email address will not be published. Required fields are marked *