Linux Sistemleri

Linux Ağ Yapılandırması için Netplan ve FRR Kullanımı Ubuntu 24.04

Veri merkezlerinde ağ trafiğinin düzenli olması zorunludur. Bir ağdaki sorun diğer ağları etkilememelidir. Bunun sağlanabilmesi için yönlendirme yapısının baştan doğru kurulması gerekir. Küçük yapılandırma hataları büyük kesintilere neden olabilir.

Bu rehber Ubuntu 24.04 üzerinde ağ yapısını adım adım ele alır. Netplan ile temel yapı kurulacaktır. VRF ile ağlar ayrılacaktır. FRR ile yönlendirme dinamik hale getirilecektir.

Ağ Tasarımı ve Katman Mantığının Önemi

Ağ tasarımı bir sistemin temel taşıdır. Doğru şekilde planlanmayan ağ yapıları sistem büyüdükçe karmaşıklığa ve güvenlik açıklarına neden olur.

Katman 2 Seviyesinde Ağın Bölümlendirilmesi

Katman 2 seviyesinde temel hedef, fiziksel altyapının mantıksal ağlara ayrılmasıdır. Bu senaryoda üç temel VLAN grubu yer almaktadır:

VLAN 10/20/30: Mikroservisler ve konteynerler için tanımlanmış iç ağ bölgeleri.

VLAN 4001-4003: Gateway, Router ve ISP gibi dış bağlantılara ayrılmış uplink hatları.

Bu yapı kapsamında üç ana VLAN grubu bulunmaktadır. İlk VLAN grubu yönetim trafiğini taşır. İkinci VLAN grubu iç ağdaki konteyner trafiğini barındırır. Üçüncü VLAN grubu ise dış dünyaya açık servislerin erişimini sağlar. Bu ayrım, ağlar arasında güvenlik risklerinin doğrudan yayılmasını önler.or.

Katman 3 Mimarisi ve VRF Kullanımı

Linux’un varsayılan ağ yapısında tüm trafik tek bir ana yönlendirme noktası üzerinden geçer. VRF (Virtual Routing and Forwarding) ile sistem içinde birbirinden bağımsız yönlendirme tabloları oluşturulur. Bu yapı güvenlik ihlallerinin ilgili VRF dışına taşmasını engeller. Kernel seviyesinde izolasyon sağlanarak ağ bölgeleri net biçimde ayrılır. Aynı IP adres blokları farklı VRF’lerde güvenle kullanılabilir.

Ayrı VM Yaklaşımı mı, VRF Kullanımı mı?

Ağ bölgeleri ayrı sanal makineler üzerinde çalıştırılabilir. Buna karşın VRF kullanımı tek bir sistem üzerinde aynı ayrımı sağlamayı mümkün kılar. Bu sayede gereksiz kaynak tüketimi önlenir. Yönetilebilirlik artar ve yapı daha sade hale gelir. İzolasyon ise doğrudan çekirdek seviyesinde sağlanır.


Dışa açık bir web sunucusunun PUB VRF üzerinde çalıştığını düşünelim. Bu sunucu ele geçirilse bile saldırgan INT VRF içerisindeki veritabanına yönlendirme üzerinden erişemez. Çünkü her VRF kendi routing tablosuna sahiptir. Trafik VRF sınırlarının dışına çıkamaz. Bu durum donanımsal bir firewall davranışına eşdeğerdir.

Netplan ile Ağ Yapılandırmasının Oluşturulması

Ubuntu 24.04 sürümünde ağ yapılandırmaları /etc/netplan/ altında bulunan YAML dosyaları ile yönetilir. Bu yaklaşım eski yapılandırma yöntemlerinin yerini almıştır. Fiziksel kartlar bu yapı içerisinde taşıyıcı olarak tanımlanır. VLAN ve bridge yapıları bu kartlar üzerinde inşa edilir. VRF bağlaması da aynı yapılandırma içinde gerçekleştirilir.

Netplan Dosyasını Oluşturalım

sudo nano /etc/netplan/01-netcfg.yaml

Fiziksel Kartları Tanımlayalım

Fiziksel kartlara doğrudan IP vermiyoruz. Bunları yalnızca VLAN taşıyıcısı olarak kullanıyoruz.

ethernets:
ens18: {} # Dış dünya (Gateway / Router)
ens19: {} # İç  (konteyner / VM trafiği)

VLAN Yapılarını Oluşturalım

vlans:
vlan10: { id: 10, link: ens19 }
vlan20: { id: 20, link: ens19 }
vlan30: { id: 30, link: ens19 }
vlan4001: { id: 4001, link: ens18 }
vlan4002: { id: 4002, link: ens18 }
vlan4003: { id: 4003, link: ens18 }

Bridge Mantığı ve Kullanımı

Bridge’ler, konteynerler ile sanal makinelerin bağlandığı yazılımsal switch’lerdir. Fiziksel switch davranışı birebir taklit edilir. Trafik, bridge üzerinden ilgili ağ segmentine aktarılır. Bu sayede sanal ortamlar fiziksel ağla entegre olur.

bridges:
  br10:
    addresses: [10.10.0.1/24, "2001:DB8:1234:A000::1/64"]
    interfaces: [vlan10]

  br20:
    addresses: [10.11.0.1/24, "2001:DB8:1234:B000::1/64"]
    interfaces: [vlan20]

  br30:
    addresses: [10.9.0.1/24, "2001:DB8:1234:9000::1/64"]
    interfaces: [vlan30]

  br4002:
    addresses: ["FE80::4002:3/64"]
    interfaces: [vlan4002]

  br4003:
    addresses: ["FE80::4003:3/64"]
    interfaces: [vlan4003]

VRF Tanımı ve Bridge’lere Bağlama

vrfs:
  INT:
    table: 120
    interfaces: [br4002, br20]

  PUB:
    table: 130
    interfaces: [br4003, br30]

Bu yapı kurulduktan sonra INT VRF iç ağ trafiğini taşır. PUB VRF dışa açık trafiği yönetir. Yönlendirme tabloları birbirinden tamamen ayrılmıştır. Bir VRF içindeki trafik diğerine geçemez. Ağlar bağımsız şekilde çalışır.

Yapılandırmayı Uygulama

sudo netplan apply

FRR Tabanlı Yönlendirme Yapısı

Netplan altyapıyı hazırlar. FRR ise bu altyapı üzerinde yönlendirme mantığını uygular. Trafiğin izleyeceği yollar FRR tarafından belirlenir. Ağ davranışı bu sayede merkezi olarak yönetilir. Ubuntu sistemi kurumsal router özellikleri kazanır.

FRR Kurulumu

curl -s https://deb.frrouting.org/frr/keys.gpg | sudo tee /usr/share/keyrings/frrouting.gpg
echo deb '[signed-by=/usr/share/keyrings/frrouting.gpg]' https://deb.frrouting.org/frr $(lsb_release -s -c) frr-stable | sudo tee /etc/apt/sources.list.d/frr.list
sudo apt update
sudo apt install frr frr-pythontools

Servislerin Aktif Edilmesi

/etc/frr/daemons dosyasında ilgili protokolleri yes konumuna getirelim.

bgpd=yes
ospfd=yes
ospf6d=yes
staticd=yes

Burada ospf6d protokolü IPv6 yönlendirmesi için hayati önem taşır. IPv4 için ospfd yeterlidir ancak güncelde IPv6 her zaman önceliklidir.

FRR Yönlendirme Mantığı

FRR yapılandırmaları vtysh adı verilen ve Cisco cihazlara benzer bir kabuk üzerinden yapılır. Bu yapılandırma yöntemi ağ yöneticilerine tanıdık bir çalışma ortamı sunar. Yapının doğru çalışması için her VRF altında ayrı bir OSPF süreci başlatılması gerekir. Yönlendirme protokolünün çalışabilmesi için komşuluk ilişkilerinin kurulması şarttır. Bu nedenle arayüz bazlı ayarlar vtysh içerisinde tanımlanır.

ipv6 forwarding
!
vrf INT
 ipv6 route 2001:db8:1234:2000::/60 blackhole
exit-vrf
!
interface br20
 ipv6 ospf6 area 1
 ipv6 ospf6 network broadcast
 ipv6 ospf6 passive
exit
!
router ospf6 vrf INT
 ospf6 router-id 10.2.0.1
 redistribute static
 area 1 stub
exit

Sık Sorulan Sorular

Bu yapı hangi senaryoda kullanılmalı?

Tek ağlı ve basit altyapılarda bu mimari gereğinden fazla karmaşık hale gelir. Sadece tek VLAN ve tek uplink kullanılan sistemlerde VRF ek değer üretmez. Statik yönlendirme bu tür senaryolar için yeterlidir. DNS ve izleme servisleri ekstra konfigürasyon gerektirir. Bu yapı ölçeklenmeyecek sistemler için uygun değildir.

VRF kullanmazsan ne bozulur?

VRF kullanılmadığı senaryolarda tüm ağ trafiği tek bir yönlendirme tablosuna bağımlı kalır. Bu durum özellikle asimetrik routing sorunlarına neden olur. Farklı uplink bağlantıları birbirinin trafiğini etkileyebilir. Firewall ve policy yapılandırmaları giderek karmaşıklaşır. Ağ yapısı mantıksal olarak ayrılmış olsa bile kernel seviyesinde izolasyon gerçekleşmez.

Bu mimari hangi ölçekte mantıklı, nerede overkill?

Hangi Senaryolarda Bu Mimari Tercih Edilmelidir

Bu mimari özellikle karmaşık ağ yapılarında tercih edilmelidir. Üçten fazla VLAN ve birden fazla uplink kullanılan sistemlerde kontrol sağlar. Birden fazla müşteri veya farklı ağ bölgeleri barındıran altyapılar için uygundur. IPv6 desteği olan ya da IPv6’ya geçiş planı bulunan ortamlarda avantaj sunar. Konteyner ve mikroservis mimarilerinde ağ ayrımını netleştirir. Dinamik routing veya BGP kullanılan yapılarda mimariyi sadeleştirir.

Hangi Senaryolarda Uygun Değildir

Basit yapılarda bu mimari gereksiz yük oluşturur. Tek uplink ve tek ağ yapısına sahip sistemlerde statik yönlendirme yeterli olur. Kısa süreli test ve geliştirme ortamlarında yönetim maliyeti artar. Linux routing bilgisi sınırlı ekipler için sürdürülebilir değildir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir