Ana içeriğe geç

Edge yönlendirici

Sorun ve amaç​

Bir VDC'deki (sanal veri merkezi) makinelerin yalnızca kendi ağlarına ihtiyacı olduğu sürece yönlendiriciye gerek yoktur. Trafiğin ağlar arasında ve VDC'nin dışına akması, tek tek servislerin farklı bir adres ve portta yayımlanması gerektiğinde ise bir bağlantı noktasına ihtiyaç duyulur: birden fazla ağı tanıyan ve trafik filtreleme ile adres dönüştürme kurallarını yöneten bir yönlendirici.

Bu bağlantı noktasını yazılım tanımlı bir yönlendirici olan Edge sağlar. Küme içinde çalışır, ağlara portları üzerinden bağlanır ve diğer vStack Center nesneleriyle aynı API çağrıları üzerinden yönetilir. Ayrı bir donanım cihazına veya yönetim konsoluna ihtiyaç duymaz: SDN (yazılım tanımlı ağ), yönlendiricinin tıpkı bir VM veya ağ gibi yönetilen bir küme nesnesi olduğu anlamına gelir.

Model ve varlıklar​

Edge, vStack Center tarafından yönetilen bir sanal makinedir. edge-create yöntemi sentetik bir vms-create isteği oluşturur ve bunu VM ajanına iletir. edge-start, edge-stop ve edge-restart yöntemleri vms-start, vms-stop ve vms-restart yöntemlerine, edge-remove ise vms-remove yöntemine karşılık gelir. Bunun pratik sonucu şudur: yönlendirici küme kaynaklarını bir VM olarak tüketir ve aynı kısıtlamalara tabidir. Örneğin, bir port yalnızca makine durdurulmuşken eklenebilir. API yanıtlarında VM tanımlayıcısını (vm_id) yalnızca Cluster master rolü görebilir.

Edge nesnesinin kendisi şu alanlarla tanımlanır:

AlanAnlamı
edge_idYönlendirici UUID'si. Tüm Edge yöntemlerinde anahtardır
ownerSahip. Tüm rollere döndürülür
vdc_idPaylaşılan Edge'in ait olduğu VDC
vm_idYönlendirici VM'sinin tanımlayıcısı. Yalnızca Cluster master rolü için kullanılabilir
oper_status, oper_progress, oper_tsSon işlemin durumu, yüzde olarak ilerlemesi ve zamanı
deploy_tsKuralların yönlendiriciye uygulanma zaman damgası
modifiedKaydın son değişiklik zamanı
base_version, ctrl_version, GI_objectDahili sürümleme ve GI federasyonu alanları

Edge, ağlara en fazla dört port üzerinden bağlanır. Bir port, ağ, yuva ve adresler arasındaki ilişkiyi tanımlar:

Port alanıNeyi belirtir
port_idPort tanımlayıcısı. edge-ratelimit ve edge-remove-nic tarafından kabul edilir; kurallar porta rule_ifname üzerinden başvurur
slotYuva numarası (4'ten büyük olamaz)
network_idPortun bağlı olduğu ağ
ifnamePort arabirim numarası
addressPortun IPv4 adresi veya IPv4 adresi atanmamışsa null
address_v6Portun IPv6 adresleri listesi (en fazla 8). IPv6 adresi atanmamışsa boş liste
macPortun MAC adresi
ip_guardIP guard bayrağı: devre dışı bırakmak için 0, etkinleştirmek için 1. Varsayılan: 1
ratelimit_mbitsMbps cinsinden bant genişliği sınırı. 0, sınır olmadığı anlamına gelir

Edge kuralları iki numaralı kümede saklanır: adres dönüştürme için nat ve trafik filtreleme (güvenlik duvarı) için fw. Bir küme içindeki anahtar kural numarasıdır; güvenlik duvarı kuralları için numara 100–32767 aralığındadır. Kümelerle birlikte incarnation alanı da döndürülür: bu, kurallarla birlikte yönlendiriciye gönderilen bir küme işaretidir.

Nasıl çalışır​

Kural yapılandırması ve yürütülmesi birbirinden ayrıdır. edge-add-fw-rule, edge-add-nat-rule, edge-remove-fw-rule ve edge-remove-nat-rule yöntemleri eşzamanlıdır ve yalnızca vStack Center veritabanıyla çalışır: kural kümede görünür veya kümeden kaldırılır, ancak henüz trafiği etkilemez. Ayrı bir çağrı olan edge-deploy-rules uygulamayı gerçekleştirir: veritabanından tam kümeyi (incarnation, nat, fw) derler ve bunu eksiksiz olarak Edge ajanına gönderir.

Bu ayrımın iki sonucu vardır. Birincisi, küme uygulanana kadar veritabanındaki küme yönlendiricideki kümeden farklıdır; bu nedenle kural düzenleme, kural eklemeyle değil uygulamayla sona erer. İkincisi, uygulama tek tek değişiklikleri eklemek yerine kümenin tamamını değiştirir: veritabanındaki küme her zaman istenen durumun tamamını içerir.

Eşzamansız Edge işlemleri ajanlar üzerinden yürütülür ve ajan, işlem türüne bağlıdır. Makine yaşam döngüsü işlemleri (başlatma, durdurma, yeniden başlatma, kaldırma) VM ajanına, port işlemleri (edge-add-nic, edge-remove-nic) Storage ajanına, kurallar ve paket filtresi günlüğü ise Edge ajanına gider. Böyle bir çağrı önce bir ara yanıt döndürür: {"message": "relayed"}. Bu, sonucu değil iletimin yapıldığını onaylar. Nihai yanıt, ajandan bir geri çağırma (callback) olarak gelir.

Yaşam döngüsü şöyle işler. edge-create, yönlendirici VM'sini oluşturur, Edge'i veritabanına kaydeder ve makineyi başlatır; oluşturmadan sonra ayrıca başlatmak gerekmez. Ardından işletim aşaması gelir: portlar eklenir ve kaldırılır, port bant genişliği sınırlanır, kural kümeleri düzenlenir ve uygulanır. Durdurma ve başlatma, yönlendiricinin yapılandırmasını değiştirmeden onu durumlar arasında taşır. edge-remove, Edge'i ve tüm kurallarını veritabanından kaldırır, ardından VM'yi siler.

Erişim, kapsamlı yetkilere dayanır. Cluster master rolü kümedeki herhangi bir Edge ile çalışabilir. Bir VDC yöneticisi kendi VDC'sinde yönlendirici oluşturur, oradaki her yönlendiriciyi görür ve kural kümelerini okur. Yalnızca kendi oluşturduğu yönlendiricileri yönetebilir: portlar, bant genişliği, başlatma ve durdurma, kuralları düzenleme ve uygulama ve kaldırma. Bu işlemlerin her biri, VDC'sinde başka birine ait bir yönlendirici için kaldırma dahil -403 döndürür.

VDC kullanıcıları ve gözlemciler kendi VDC'lerindeki yönlendiricilerin listesini, kartlarını ve kural kümelerini okuyabilir. Bu erişim için yönlendiricinin sahibi olmak gerekmez.

Paket filtresi günlüğü, kuralların davranışına ilişkin görünürlük sağlar. edge-get-pfloggs yöntemi günlüğü yönlendiriciden bir PCAP dosyası olarak alır. Kuralların gerçekte hangi paketlerle eşleştiğini görmek için dosyayı bir trafik çözümleyicide açın.

Sınırlamalar​

  • Bir Edge'in en fazla dört portu olabilir; yuva numarası 4'ü aşamaz.
  • Bir port yalnızca yönlendirici VM'si durdurulmuşken (veya hata ya da oluşturma durumundayken) eklenebilir. Çalışan bir Edge'de edge-add-nic çağrısı reddedilir.
  • Güvenlik duvarı kural numaraları 100–32767 aralığıyla sınırlıdır. NAT kural numaraları için bir aralık tanımlanmamıştır.
  • Port başına en fazla 8 IPv6 adresi elle atanabilir. Her adres biçim, ağın IPv6 alt ağına (net_cidr_v6) üyelik, ayrılmış (ippool_reserved_v6) ve zaten tahsis edilmiş (ippool_port_allocations) adresler arasında bulunmama ve istek içinde benzersizlik açısından denetlenir.
  • rule_action, rule_proto ve rule_direction değerleri eylem ve protokol adları değil, küme başvuru listelerindeki sayısal tanımlayıcılardır.
  • Kuralların uygulanması için %100 ilerlemeye sahip ve bootstrap işlemi tamamlanmış çalışan bir Edge gerekir. Durdurulmuş veya hâlâ başlamakta olan bir yönlendirici kuralları kabul etmez.
  • Paket filtresi günlüğü 24 saat saklanır ve ajan dışa aktarmaları 3000 paketle sınırlar. Yöntemin kendisi küme ayarlarındaki feature.edge_log_pcap özellik bayrağına bağlıdır.
  • Tüm Edge işlevselliği küme ayarlarındaki genel feature.edge özellik bayrağına bağlıdır. Bu bayrak devre dışıyken herhangi bir yönlendirici isteği -25030 koduyla "The edge feature has not been enabled" döndürür. Okuma işlemleri de engellenir: yönlendirici listesi, yönlendirici kartı ve kural kümeleri. Bu tür her ret, güvenlik günlüğüne feature.gate-denied olayı olarak kaydedilir.

Daha fazla bilgi​