Proxmox'ta Sanal Makineler için NAT Network Oluşturma

Erenalp Tekşen - Mar 18 - - Dev Community

NAT Nedir?

İnternet dünyasında, çok sayıda cihazın tek bir IP adresi üzerinden internete erişimini mümkün kılan bir teknolojidir. Genellikle, özel IP adreslerini (private IP) genel IP adreslerine (public IP) dönüştürerek çalışır. Bu işlem, iç ağdaki cihazların dış dünyayla iletişim kurmasına olanak tanırken, dışarıdan bu cihazlara doğrudan erişimi engeller. Bu yöntem, bir nevi güvenlik duvarı görevi görerek, ağ güvenliğini artırır.

NAT Network Nedir?

NAT Network, benzer bir temel üzerine kurulmuştur; ancak, aynı iç subnet üzerindeki cihazların birbirleriyle ve internetle iletişim kurmasına izin verir. NAT'ın aksine, NAT Network'te, tüm cihazlar tek bir NAT işlemi aracılığıyla internete erişebilirken, aynı zamanda birbirleriyle veri alışverişinde bulunabilirler. Bu, özellikle birden çok cihazın hem dış ağlara hem de kendi aralarında bağlantı kurmasını gerektiren durumlar için ideal bir çözümdür.

Nat-NatNetwork

Örnek NAT ve NAT Network Yapılandırması Şeması

Image description

Proxmox'da NAT Network Oluşturma Adımları

Proxmox Virtual Environment (VE), sunucu sanallaştırma yönetim platformudur. Bu platform üzerinde NAT Network kurulumu, sanal makinelerin hem birbirleriyle hem de internetle etkileşim kurabilmesini sağlar. Aşağıdaki adımlar, Proxmox üzerinde bir NAT Network oluşturma sürecini detaylandırmaktadır:

Özel IP Belirleme

NAT Network kurulumu için, özel IP adresi aralığı belirlemeniz gerekecektir. Bu seçim, genel olarak kullanılmayan ve internet üzerinde yönlendirilmeyen, özel olarak tanımlanmış IP blokları içerisinden yapılır. Örneğin, 10.0.0.0/8, 172.16.0.0/12 veya 192.168.0.0/16 gibi adres aralıkları tercih edilebilir.

Sanal Arayüz Oluşturma

Sanal makinelerin birbirleriyle ve internetle iletişim kurabilmesi için bir sanal arayüz oluşturulmalıdır. Proxmox arayüzünden, Linux Bridge olarak bilinen bir ağ cihazı oluşturarak bu işlem gerçekleştirilir.

  • "Network" sekmesinden "Create" butonuna tıklayarak bir Linux Bridge oluşturun.

Image description

  • Oluşturulan bu ağ cihazına bir IP adresi atayın ve gateway adresi belirleyin. Bu, makinelerin birbirleriyle iletişim kurabilmesi için gereklidir.

Image description

  • "Apply Configuration" butonuna basarak arayüzü aktifleştirin.

Image description

  • PVE host üzerinden arayüz bilgilerini görüntüleyin.

Image description

  • /etc/network dizininde interfaces dosyasını düzenleyerek NAT kurallarını tanımlayın.


sudo nano /etc/network/interfaces


Enter fullscreen mode Exit fullscreen mode


auto lo
iface lo inet loopback

iface enp0s3 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.15/24
        gateway 192.168.1.1
        bridge-ports enp0s3
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address 192.168.125.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

# Nat Kuralları
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.125.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -S '192.168.125.0/24' -o vmbr0 -j MASQUERĄDE


Enter fullscreen mode Exit fullscreen mode
  • 192.168.125.0/24 ağından herhangi bir trafik gelirse vmbr0 interface’i üzerinden NAT işlemine tabi tut ve internete çıkmasını sağla.


# Kurallar tanımlandıktan sonra network servisi yeniden başlatılır.
sudo systemctl restart networking


Enter fullscreen mode Exit fullscreen mode

Sanal Makine Oluşturma ve Arayüz Seçilmesi

Sanal makine oluştururken, yukarıda tanımlanan sanal arayüzü seçmeyi unutmayın.

Image description

  • Sanal makine kurulurken eğer mümkünse statik IP atanmalı ya da makine kurulduktan sonra işletim sistemine göre gerekli network dosyası düzenlenmeli.

  • Özellikle Ubuntu Server 22.04 LTS kullanıyorsanız, /etc/netplan/00-installer-config.yaml dosyasını düzenlemeniz gerekecektir. Bu dosyada yapacağınız değişiklikler, ağ yapılandırmanızı doğrudan etkileyecektir.



sudo nano /etc/netplan/00-installer-config.yaml


Enter fullscreen mode Exit fullscreen mode


network:
  ethernets:
    ens18:
      addresses:
      - 192.168.125.2/24
      nameservers:
        addresses:
        - 8.8.8.8
        - 8.8.4.4
        search: []
      routes:
      - to: default
        via: 192.168.125.1
  version: 2


Enter fullscreen mode Exit fullscreen mode
  • Yapılandırma dosyasını düzenledikten sonra, sudo netplan apply komutu ile değişiklikleri uygulayın. Bu adım, yeni ağ ayarlarının etkinleştirilmesini sağlar.
  • Sonrasında, ip a komutu ile sanal makinelerinizin ağa başarıyla dahil olup olmadığını kontrol edin.

Image description

Sanal Makinenin Internet'e Erişim Testi

Sanal makinelerinizin internete başarıyla erişip erişemediğini test ederek, NAT Network yapılandırmanızın işlevselliğini doğrulayın.

Image description

Sonuç

Yukarıdaki adımları takip ederek, Proxmox içerisinde etkileşimli bir NAT Network oluşturabilir ve sanal makinelerinizi bu network üzerinden hem internete erişebilir hem de birbirleriyle iletişim kurabilir hale getirebilirsiniz. Bu, sanal makinelerinizin yönetimini kolaylaştırırken, aynı zamanda ağ güvenliğinizi de artırır.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .