Proxmox'ta Sanal Makineler için NAT Network Oluşturma
Tags: proxmox, nat, network, virtualmachine
Published: 2024-03-18 04:49:48

# 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1erx4q38shsdg6lhxcnd.png)





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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wxbp7p2ufkwzffhbxvjw.png)



## 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6sxp4ofx0fdfq5iyt57e.png)


* 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dn62lsnchvpnq21afb4k.png)

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9t8irefehmbebhunarg.png)

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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ln9fz3lbs1cnqzn7f7l.png)



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

```bash
sudo nano /etc/network/interfaces
```

```bash
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
```


* 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.

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

## 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/acx3cwqwq5z1eaa4swny.png)

* 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.

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

```yaml
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
```

* 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/is90o5dz4s9uu4hikywa.png)



## 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nlfr9x5bjjckvieta08n.png)



## 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.