IPv6

IPv6

Bu bölüm aşağıdaki elemanları tanımlar:

  • Çift-yapı (IPv4 ve IPv6 etkin) sunucuları nasıl etkinleştirilir.
  • Bu sunucular nasıl IPv6 adresi alırlar.
  • Bu sunucular bir yönlendirici üzerinden diğer alt ağlara veya internete nasıl iletişirler.
  • Bu sunucular diğer OpenStack servisleriyle nasıl etkileşime girer.

OpenStack Ağ’da ikili-yığın ağı etkinleştirmek sadece ip_version alanını 6` olarak ayarlayarak bir alt ağ oluşturmayı, ardından IPv6 özniteliklerini (ipv6_ra_mode ve ipv6_address_mode) ayarlamayı gerektirir. ipv6_ra_mode ve ipv6_address_mode bir sonraki bölümde ayrıntılı olarak açıklanacaktır. Son olarak, cidr alt ağları sağlanmalıdır.

Bu bölümde aşağıdaki öğeler bulunmamaktadır:

  • Tek yığınlı IPv6 proje ağı
  • OpenStack, bir IPv6 ağı üzerinden sunucular ve hizmetler arasındaki iletişimi kontrol eder.
  • Bir IPv6 aktarım ağı vasıtasıyla OpenStack API’lerine bağlantı
  • IPv6 çoklu gönderim
  • Fiziksel veya sanal biçim faktörlerine bakılmaksızın ağaç yönlendiricilerinin, anahtarların, servislerin veya temsilcilerin herhangi biriyle bağlantılı olarak IPv6 desteği.

Neutron alt ağları ve IPv6 API öznitelikleri

Juno’dan beri, OpenStack Ağ Hizmeti (neutron), alt ağ nesnesine API yeni kullanıcıların IPv6 alt ağlarını yapılandırmasına olanak tanıyan iki yeni özellik sunar.

İki tane IPv6 özniteliği vardır:

  • ipv6_ra_mode
  • ipv6_address_mode

Bu öznitelikler aşağıdaki değerlere ayarlanabilir:

  • slaac
  • dhcpv6-stateful
  • dhcpv6-stateless

Öz nitelikler ayarlanmadan bırakılabilir.

IPv6 adresleme

ipv6_address_mode özelliği, adreslemenin OpenStack tarafından nasıl işlendiğini kontrol etmek için kullanılır. Misafir sunucularının bir IPv6 adresi edinebileceği çeşitli yollar vardır ve bu özellik bu seçenekleri Ağ API’sinin kullanıcılarına sunar.

Yönlendirici tanıtımları

Bir alt ağ için yönlendirici reklamları kontrol etmek için ipv6_ra_mode özelliği kullanılır.

IPv6 Protokolü, ağ hakkında bilgi dağıtmanın bir yolu olarak Internet Kontrol Mesajı Protokolü paketlerini (ICMPv6) kullanır. Tür bayrağı 134 olarak ayarlanmış ICMPv6 paketlerine, yönlendirici ve konuk sunucuları tarafından ağ trafiğini göndermek için kullanılabilecek yol hakkında bilgi içeren “Yönlendirici Tanıtımı” paketleri adı verilir.

ipv6_ra_mode, Ağ hizmetinin bir alt ağ için Yönlendirici Tanıtım paketleri oluşturması gerekip gerekmediğini belirtmek için kullanılır.

ipv6_ra_mode ve ipv6_address_mode kombinasyonları

ipv6 ra kipi ipv6 adres kipi radvd A,M,O Harici Yönlendirici A,M,O Açıklama
N/S N/S Kapalı Tanımlanmamış Pre-Juno IPv6 davranışı ile geriye dönük uyumluluk.
N/S slaac Kapalı 1,0,0 Misafir sunucu, SLAAC kullanarak OpenStack dışındaki yönlendiriciden IPv6 adresini alır.
N/S dhcpv6-stateful Kapalı 0,1,1 Şu anda referans uygulamasında uygulanmamaktadır.
N/S dhcpv6-stateless Kapalı 1,0,1 Şu anda referans uygulamasında uygulanmamaktadır.
slaac N/S 1,0,0 Kapalı Şu anda referans uygulamasında uygulanmamaktadır.
dhcpv6-stateful N/S 0,1,1 Kapalı Şu anda referans uygulamasında uygulanmamaktadır.
dhcpv6-stateless N/S 1,0,1 Kapalı Şu anda referans uygulamasında uygulanmamaktadır.
slaac slaac 1,0,0 Kapalı Konuk örneği, SLAAC kullanarak OpenStack tarafından yönetilen radvd’ten IPv6 adresini alır.
dhcpv6-stateful dhcpv6-stateful 0,1,1 Kapalı Misafir sunucu DHCPv6 durumlu ve DHCPv6 kullanarak dnsmasq’tan isteğe bağlı bilgi kullanarak dnsmasq’tan IPv6 adresini alır.
dhcpv6-stateless dhcpv6-stateless 1,0,1 Kapalı Misafir sunucu, OpenApp yönetilen radvd’ten SLAAC kullanarak IPv6 adresini ve DHCPv6 kullanarak dnsmasq’tan isteğe bağlı bilgi alır.
slaac dhcpv6-stateful     Geçersiz kombinasyon.
slaac dhcpv6-stateless     Geçersiz kombinasyon.
dhcpv6-stateful slaac     Geçersiz kombinasyon.
dhcpv6-stateful dhcpv6-stateless     Geçersiz kombinasyon.
dhcpv6-stateless slaac     Geçersiz kombinasyon.
dhcpv6-stateless dhcpv6-stateful     Geçersiz kombinasyon.

Proje ağı ile ilgili değerlendirmeler

Dataplane

Hem Linux köprüsü hem de Open vSwitch dataplane modülleri, misafirler ve yönlendirici bağlantı noktaları arasında IPv6 paketlerini iletmeyi desteklemektedir. IPv4’e benzer şekilde, dataplane’nin, IPv6’yı kullanarak kaynaktan hedefe doğru paketleri doğru şekilde iletmesini sağlamak için özel bir yapılandırma veya kurulum gerekli değildir. Bu dataplane’lerin bağlantı noktaları birbirine bağlı olduktan ve MAC adresleri öğrenildikten sonra OpenStack bileşenleri tarafından herhangi bir katılım veya kurulum olmaksızın aynı ağdaki ana bilgisayarlar arasında Bağlantı Yerel Adres (LLA) paketlerini iletirler.

Alt ağlar için adresler

Şu anda bir alt ağ için OpenStack’te cidr almak için uygulanan üç yöntem vardır:

  1. Komut satırı veya Horizon aracılığıyla alt ağ oluşturma sırasında doğrudan atama
  2. Alt ağ oluşturma sırasında bir alt ağ havuzuna başvurma
  3. PD sunucusundan bir alt ağ için bir önek istemek için bir Önek Yetkilendirme (PD) istemcisi kullanma

Gelecekte, alt ağları projelere tahsis etmek için ek teknikler kullanılabilir, örneğin, harici bir IPAM modülünün kullanılması.

Bağlantı noktaları için adres kipleri

Not

Teoride harici bir DHCPv6 sunucusu, OpenStack’ın EUI-64 adresine dayanan tam adresini geçersiz kılabilir, ancak sistem ile tutarlı olmayacağı için akıllıca olmayacaktır.

IPv6, adres yapılandırması ve isteğe bağlı ağ bilgisi sağlamak için üç farklı adresleme düzenini desteklemektedir.

Tabiyetsiz Adres Otomatik Yapılandırması (SLAAC)
Yönlendirici Tanıtımı kullanarak adres yapılandırması (RA).
DHCPv6-stateless
RA’ı kullanarak adres yapılandırmasını ve isteğe bağlı bilgileri DHCPv6 kullanarak adresleyin.
DHCPv6-stateful
Yapılandırma ve isteğe bağlı bilgileri DHCPv6 kullanarak adresleyin.

OpenStack, OpenStack Networking’in kendi ağları için doğrudan RA, DHCP geçiş ve DHCPv6 adresi ve isteğe bağlı bilgi sağlaması için kurulabilir veya bu, kullanılan yönlendiricilere dayanan harici yönlendiriciler ve servislere devredilebilir. IPv6 adresleme ve ağ bilgilerinin proje sunucuları nasıl sağlandığını belirleyen - ipv6_ra_mode ve ipv6_address_mode – iki neutron alt ağ niteliği vardır:

  • ipv6_ra_mode: RA’yi kimin gönderdiğini belirler.
  • ipv6_address_mode: Örneklerin IPv6 adresini, varsayılan ağ geçidi veya isteğe bağlı bilgileri nasıl elde ettiğini belirler.

Yukarıdaki iki niteliğin etkili olması için, alt ağ nesnesinin enable_dhcp değeri True olarak ayarlanmalıdır.

Adresleme için SLAAC kullanılması

SLAAC kullanılırken, şu anda desteklenen ipv6_ra_mode ve ipv6_address_mode kombinasyonları aşağıdaki gibidir.

ipv6_ra_mode ipv6_address_mode Sonuç
Belirtilmedi. SLAAC Adresler EUI-64 kullanılarak atanır ve yönlendirme için harici bir yönlendirici kullanılacaktır.
SLAAC SLAAC Adres, EUI-64 kullanılarak atanır ve OpenStack Networking yönlendirme sağlar.

ipv6_ra_mode parametresini slaac olarak ayarlamak OpenStack Networking yönlendiricilerinin RA paketlerini oluşturacak şekilde yapılandırılmasına neden olur. Bu, RA iletilerindeki adres yapılandırma bayrakları için aşağıdaki değerleri ayarlar:

  • Otomatik Yapılandırma Bayrağı = 1
  • Yönetilen Yapılandırma Bayrağı = 0
  • Diğer Yapılandırma Bayrağı = 0

SLAAC etkin IPv6 alt ağını içeren yeni veya mevcut neutron ağları, IPv6 adresleri alan ağa bağlı tüm neutron bağlantı noktaları ortaya çıkmasına neden olur. Bunun nedeni, RA yayını mesajları bir neutron ağı üzerinden gönderildiğinde, bunlar ağdaki tüm IPv6 özellikli bağlantı noktaları tarafından alınır ve her bağlantı noktası daha sonra RA paketinde yer alan bilgilere dayanarak bir IPv6 adresi yapılandıracaktır. Bazı durumlarda, bir IPv6 SLAAC adresi bir bağlantı noktasına eklenirken, bağlantı noktasının zaten atandığı diğer IPv4 ve IPv6 adresleri de eklenir.

DHCPv6

DHCPv6 için, mevcutta desteklenen kombinasyonlar aşağıdaki gibi:

ipv6_ra_mode ipv6_address_mode Sonuç
DHCPv6-stateless DHCPv6-stateless Adresler, RA’lar vasıtasıyla atanır (bkz. yukarıdaki SLAAC) ve isteğe bağlı bilgiler DHCPv6 aracılığıyla teslim edilir.
DHCPv6-stateful DHCPv6-stateful Adresler ve isteğe bağlı bilgiler, DHCPv6 kullanılarak atanır.

DHCPv6-stateless’i ipv6_ra_mode için ayarlamak radvd aracısı ile neutron yönlendiriciyi RA’lar göndermek üzere yapılandırır. Aşağıdaki liste, bu senaryoda RA paketindeki adres yapılandırma bayrakları için ayarlanan değerleri yakalar. Benzer şekilde, DHCPv6-stateless’i ipv6_address_mode için ayarlamak, ek ağ bilgilerini sağlamak için neutron DHCP uygulamasını yapılandırır.

  • Otomatik Yapılandırma Bayrağı = 1
  • Yönetilen Yapılandırma Bayrağı = 0
  • Diğer Yapılandırma Bayrağı = 1

DHCPv6-stateful’u ipv6_ra_mode` için ayarlamak radvd aracısıyla neutron yönlendiriciyi RA’ları göndermek üzere yapılandırır. Aşağıdaki liste, bu senaryoda RA paketindeki adres yapılandırma bayrakları için ayarlanan değerleri yakalar. Benzer şekilde, ipv6_address_mode için DHCPv6-stateful ayarı, DHCPv6 aracılığıyla adresler ve ek ağ bilgileri sağlamak için neutron DHCP uygulamasını yapılandırır.

  • Otomatik Yapılandırma Bayrağı = 0
  • Yönetilen Yapılandırma Bayrağı = 1
  • Diğer Yapılandırma Bayrağı = 1

Yönlendirici desteği

IPv6 için neutron yönlendiricisinin davranışı birkaç yönden IPv4’ten farklıdır.

Bir ağ için varsayılan ağ geçidi bağlantı noktaları görevi gören iç yönlendirici bağlantı noktaları, ağla ilişkili tüm IPv6 alt ağları için ortak bir bağlantı noktasını paylaşır. Bu, ağ ile ilişkili IPv6 alt ağlarının her birinden birden fazla IPv6 adresi olan bir IPv6 dahili yönlendirici arabirimi ve IPv4 alt ağ için ayrı bir IPv4 dahili yönlendirici arabirimi olacağı anlamına gelir. Öte yandan, harici yönlendirici bağlantı noktalarının kendilerine atanmış bir IPv4 ve bir IPv6 adresi olan ikili yığın yapılandırmasına sahip olmalarına izin verilir.

Global Tek Noktaya Yayın Adresi (GUA) önekleri ve adresleri atanan Neutron proje ağları, dış dünyaya erişmek için Neutron yönlendiricinin dış ağ geçidi bağlantı noktasında NAT gerektirmez. NAT eksikliğinden dolayı harici yönlendirici bağlantı noktası, bir dış bağlantılar ağına (GUA) göndermek ve almak için dış ağlara ihtiyaç duymaz. Bu, bir GUA IPv6 alt ağ önekinin, Neutron harici ağ için mutlaka gerekli olmadığı anlamına gelir. Varsayılan olarak, yönlendirme amacıyla harici ağ geçidi bağlantı noktasına bağlı bir IPv6 LLA kullanılabilir. Bu senaryoyu ele almak için, Neutron’da router-gateway-set API’nin uygulanması, neutron yönlendiriciyle ilişkili harici ağ için bir IPv6 alt ağının gerekli olmadığı şekilde değiştirildi. Upstream yönlendiricinin LLA adresi iki şekilde öğrenilebilir.

  1. Bir upstream RA desteğinin bulunmaması durumunda, ipv6_gateway bayrağı, neutron L3 ajan yapılandırma dosyasında harici yönlendirici ağ geçidi LLA ile ayarlanabilir. Bu, aynı zamanda, bu bağlantı noktasına herhangi bir alt ağın ilişkilendirilmemesini gerektirir.
  2. Üst akış yönlendirici bir RA gönderebilir ve neutron yönlendirici, hiçbir alt ağın atanmadığını ve ipv6_gateway bayrağı ayarlanmadığından, sonraki atlama LLA’sını otomatik olarak öğrenecektir.

Etkili olarak “ipv6_gateway” bayrağı, üst yönlendiriciden gelen bir RA’dan önceliklidir. Harici yönlendirici bağlantı noktasına bir alt ağ atayarak ve alt ağ için ağ geçidi olarak GUA adresini üst yönlendiricileri atayarak gerçekleştirilen bir GUA sonraki atlamayı kullanmak isteniyorsa.

Not

Projelerin, izole edilmiş bir ağda (yönlendirici bağlantı noktası olmayan bir ağ) birbirleriyle iletişim kurması, OpenStack’ın katılımı az veya hiç yapılmayacak şekilde LLA’yı kullanarak mümkün olmalıdır. Bu bölümün yazarları, tüm senaryolar için doğru olduğunu kanıtlamış değiller.

Not

Neutron L3 ajanını, bir IPv6 adresini otomatik olarak SLAAC vasıtasıyla yapılandıran bir yapılandırmada kullanırken ve ajan, varsayılan IPv6 rotasını ICMPv6 Yönlendirici Tanıtımından öğreniyorsa, net.ipv6.conf.<physical_interface>.accept_ra dosyasını ayarlamanız gerekebilir. sysctl değerini “2`` değerine ayarlayın. Daha detaylı bir açıklama için bug ye bakın.

Neutron’un Dağıtılmış Yönlendirici özelliği ve IPv6

IPv6, Dağıtılmış Sanal Yöneltici işlevi etkinleştirildiğinde çalışır, ancak tüm giriş/çıkış trafiği merkezi yönlendirici aracılığıyladır (dolayısıyla dağıtılmamıştır). Bu işlevselliği tamamen etkinleştirmek için daha fazla çalışma gereklidir.

Gelişmiş servisler

VPNaaS

VPNaaS, IPv6’yı desteklemektedir, ancak Kilo’daki ve önceki sürümlerin desteği, bunun nasıl kullanılacağını sınırlayabilecek bazı hatalarla karşı karşıya kalacaktır. Liberty sürümünün bir parçası olarak daha eksiksiz ve eksiksiz testler ve hata düzeltmeleri yapılmaktadır. IPv6 tabanlı bir VPN Hizmeti, IPv4 yapılandırmasına benzer şekilde yapılandırılmıştır. Bir veya her iki peer_address ve peer_cidr bir IPv6 adresi olarak belirtilebilir. Yukarıda açıklanan adresleme modları ve yönlendirici modlarının seçimi desteğe etki etmemelidir.

LBaaS

YAPILACAK

FWaaS

FWaaS IPv6 tabanlı kuralların oluşturulmasına olanak sağlar.

NAT & Yüzen IP’ler

Şu an OpenStack Ağ servisi, NAT’ın herhangi bir flavor’ını IPv6 ile destekleyen herhangi bir olanak sağlamıyor. IPv4’ten farklı olarak, IPv6 ile kayan IP’ler için mevcut gömülü destek yok. Projeler arasında IPv6 adreslemesinin, projelerde örtüşme yapmadan GUA kullandığı varsayılmaktadır.

Güvenlik değerlendirmeleri

Misafirin arabiriminin yapılandırılması

OpenStack, şu anda RFC 4941 tarafından tanımlanan gizlilik uzantılarını desteklemiyor. Arayüz tanımlayıcısı ve kullanılan DUID, doğrudan RFC 2373’te açıklandığı şekilde MAC’den türetilmelidir. Hesaplama ana makinelerinin, arabirim tanımlayıcılarını oluştururken gizlilik uzantılarını kullanacak şekilde ayarlanmaması gerekir.

IPv4 için sağlanana benzer bir IPv6 tabanlı metadata hizmeti için herhangi bir hüküm yoktur. Çift yığınlı konuklar olması durumunda bunun yerine IPv4 metadata servisini kullanmak her zaman mümkündür.

Pv4’den farklı olarak, verilen bir ağın MTU’su, yönlendirici tarafından gönderilen RA iletilerinde olduğu kadar DHCP iletilerinde de iletilebilir.

OpenStack kontrol & yönetim ağı değerlendirmeleri

Kilo sürümünden itibaren, proje ağının yukarıda açıklanan çeşitli yapılandırmalarda çift yığın IPv6 ve IPv4 taşımacılığını üstlenebilmesi için önemli gayret sarf edildi. OpenStack kontrol ağı çift yığın yapılandırmada çalıştırılabilir ve OpenStack API uç noktalarına bir IPv6 ağı üzerinden erişilebilir. Şu anda Open VSwitch (OVS) tünel türleri - STT, VXLAN, GRE, hem IPv4 hem de IPv6 uç noktalarını destekliyor.

Önek yetkilendirme

Liberty sürümünden bu yana, OpenStack Networking IPv6 önek yetkilendirmesini desteklemektedir. Bu bölüm, alt ağ CIDR’lerinin otomatik olarak atanmasını sağlamak için IPv6 önek temsilciliğini kullanmak için gereken yapılandırmayı ve iş akışı adımlarını açıklar. Bu, OpenStack yöneticisinin, proje ağ öneklerini yönetmek için harici (OpenStack Ağ hizmeti) DHCPv6 sunucusuna güvenmesini sağlar.

Not

Önek yetkilendirme Liberty sürümünde mevcuttu, Kilo sürümünde mevcut değildir. HA ve DVR yönlendiricileri şu anda bu özellik tarafından desteklenmiyor.

Önek yetkilendirme için OpenStack Ağını yapılandırma

Önek yetkilendirmeyi etkinleştirmek için /etc/neutron/neutron.conf dosyasını düzenleyin. OpenStack Liberty’i çalıştırıyorsanız, aşağıdaki değişikliği yapın:

default_ipv6_subnet_pool = prefix_delegation

OpenStack Mitaka’yi çalıştırıyorsanız, bu değişikliği yapın:

ipv6_pd_enabled = True

Not

Önek yetkilendirme için varsayılan dibbler-tabanlı sürücüleri kullanmıyorsanız, /etc/neutron/neutron.conf dosyasında sürücüyü ayarlamanız gerekiyor:

pd_dhcp_driver = <class path to driver>

Varsayılanın dışındaki sürücüler fazladan bir yapılandırma gerektirebilir, lütfen bakın Ek yapılandırmalar

Bu, kullanıcı bir alt ağ oluştururken bir CIDR veya alt ağ havuzu kimliği sağlamazsa, OpenStack Ağına alt ağ tahsisi için önek yetkilendirme mekanizmasını kullanmasını söyler.

Gereksinimler

Bu özelliği kullanmak için, OpenStack Ağ Oluşturma düğümlerinden erişilebilen bir önek delegasyon yeteneğine sahip DHCPv6 sunucusuna ihtiyacınız vardır. Bu, OpenStack Networking düğümleri veya başka yerlerde çalışan bir yazılım veya bir fiziksel yönlendirici olabilir. Bu kılavuzun amaçları doğrultusunda, açık kaynaklı DHCPv6 sunucusu Dibbler kullanıyoruz. Dibbler birçok Linux paket yöneticisinde veya tomaszmrugalski/dibbler adresindeki kaynaktan temin edilebilir.

OpenStack Ağ önek yetkilendirme sürücüsünün referans uygulamasını kullanırken, DHCPv6 istemcisi olarak hizmet vermek için Dibbler OpenStack Networking düğümlerinize de kurulmalıdır. Sürüm 1.0.1 veya üstü gereklidir.

Bu kılavuz, dış ağ köprüsünün bulunduğu ağ düğümünde bir Dibbler sunucusu çalıştığını varsaymaktadır. Önceden bir ajan seçebilme yeteneğine sahip DHCPv6 sunucusu varsa, aşağıdaki bölümü atlayabilirsiniz.

Dibbler sunucusunu yapılandırma

Dibbler’i kurduktan sonra /etc/dibbler/server.conf dosyasını düzenleme:

script "/var/lib/dibbler/pd-server.sh"

iface "br-ex" {
    pd-class {
        pd-pool 2001:db8:2222::/48
        pd-length 64
    }
}

Yukarıdaki yapılandırma dosyasında kullanılan seçenekler şunlardır:

  • script Bir önek devredildiğinde veya serbest bırakıldığında çalıştırılacak bir betiğe işaret eder. Bu yalnızca, alt ağlarınızdaki örneklerin harici ağ erişimine sahip olmasını istiyorsanız gereklidir. Bu konuda daha fazlası aşağıda.
  • iface önek yetkilendirme mesajlarının dinlenildiği ağ arabiriminin adı.
  • pd-pool Temsilci öneklerinizin gelmesini istediğiniz daha büyük önek. Verilen örnek, harici ağ erişimine ihtiyacınız yoksa yeterlidir, aksi takdirde benzersiz bir genel yönlendirilebilir önek gereklidir.
  • pd-length Temsil edilen öneklerin uzunluğu. Mevcut OpenStack Networking referans uygulamasıyla çalışmak için bu 64 olmalıdır.

Örneklerinize harici ağ erişimi sağlamak için, Dibbler sunucunuzun da temsil edilen her önek için yeni yollar oluşturması gerekir. Bu, yukarıdaki yapılandırma dosyasında adı geçen komut dosyası kullanılarak yapılır. /var/lib/dibbler/pd-server.sh dosyasını düzenleyin:

if [ "$PREFIX1" != "" ]; then
    if [ "$1" == "add" ]; then
        sudo ip -6 route add ${PREFIX1}/64 via $REMOTE_ADDR dev $IFACE
    fi
    if [ "$1" == "delete" ]; then
        sudo ip -6 route del ${PREFIX1}/64 via $REMOTE_ADDR dev $IFACE
    fi
fi

Yukarıdaki komut dosyasında kullanılan değişkenler şunlardır:

  • $PREFIX1 öneki Dibbler sunucusu tarafından eklenir/silinir.
  • $1 işlemi gerçekleştirilir.
  • $REMOTE_ADDR istenen Dibbler istemcisinin IP adresi.
  • $IFACE hangi isteğin alındığına bağlı olarak ağ arabirimi.

Yukarıdaki tüm senaryodur, ancak Dibbler’ı kurma, yapılandırma ve çalıştırma hakkında daha fazla bilgiye Dibbler kullanım kılavuzunda, Dibbler – taşınabilir DHCPv6.

Dibbler sunucusu başlatmak için, şunu çalıştırın:

# dibbler-server run

Veya kafasız kipte çalıştırmak için:

# dibbler-server start

DevStack’i kullanırken, gerekli ağ arabirimlerinin oluşturulduğundan emin olmak için stack.sh komut dosyası bittikten sonra sunucunuzu başlatmanız önemlidir.

Kullanıcı iş akışı

Önce bir ağ ve IPv6 alt ağı oluşturun:

$ openstack network create ipv6-pd
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | UP                                   |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2017-01-25T19:26:01Z                 |
| description               |                                      |
| headers                   |                                      |
| id                        | 4b782725-6abe-4a2d-b061-763def1bb029 |
| ipv4_address_scope        | None                                 |
| ipv6_address_scope        | None                                 |
| mtu                       | 1450                                 |
| name                      | ipv6-pd                              |
| port_security_enabled     | True                                 |
| project_id                | 61b7eba037fd41f29cfba757c010faff     |
| provider:network_type     | vxlan                                |
| provider:physical_network | None                                 |
| provider:segmentation_id  | 46                                   |
| revision_number           | 3                                    |
| router:external           | Internal                             |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tags                      | []                                   |
| updated_at                | 2017-01-25T19:26:01Z                 |
+---------------------------+--------------------------------------+

$ openstack subnet create --ip-version 6 --ipv6-ra-mode slaac \
--ipv6-address-mode slaac --use-default-subnet-pool \
--network ipv6-pd ipv6-pd-1
+------------------------+--------------------------------------+
| Field                  | Value                                |
+------------------------+--------------------------------------+
| allocation_pools       | ::2-::ffff:ffff:ffff:ffff            |
| cidr                   | ::/64                                |
| created_at             | 2017-01-25T19:31:53Z                 |
| description            |                                      |
| dns_nameservers        |                                      |
| enable_dhcp            | True                                 |
| gateway_ip             | ::1                                  |
| headers                |                                      |
| host_routes            |                                      |
| id                     | 1319510d-c92c-4532-bf5d-8bcf3da761a1 |
| ip_version             | 6                                    |
| ipv6_address_mode      | slaac                                |
| ipv6_ra_mode           | slaac                                |
| name                   | ipv6-pd-1                            |
| network_id             | 4b782725-6abe-4a2d-b061-763def1bb029 |
| project_id             | 61b7eba037fd41f29cfba757c010faff     |
| revision_number        | 2                                    |
| service_types          |                                      |
| subnetpool_id          | prefix_delegation                    |
| updated_at             | 2017-01-25T19:31:53Z                 |
| use_default_subnetpool | True                                 |
+------------------------+--------------------------------------+

Alt ağ, önek yetkilendirme tarafından atanmadan önce başlangıçta geçici bir CIDR ile oluşturulur. Bu geçici CIDR’ye sahip herhangi bir sayıda alt ağ, örtüşme hatası oluşturmadan mevcut olabilir. subnetpool_id otomatik olarak prefix_delegation olarak ayarlanır.

Önek delegasyonu sürecini tetiklemek için, bu alt ağ ile harici ağda etkin bir arabirime sahip bir yönlendirici arasında bir yönlendirici arabirimi oluşturun:

$ openstack router add subnet router1 ipv6-pd-1

Önek temsilci mekanizması, dış ağ üzerinden, temsilci öneki ile yanıt veren önek temsilci sunucusuna bir istek gönderir. Alt ağ, daha sonra, tüm bağlantı noktalarına yeni IP adresleri verilmesi de dahil olmak üzere yeni önek ile güncellenir:

$ openstack subnet show ipv6-pd-1
+-------------------+--------------------------------------+
| Field             | Value                                |
+-------------------+--------------------------------------+
| allocation_pools  | 2001:db8:2222:6977::2-2001:db8:2222: |
|                   | 6977:ffff:ffff:ffff:ffff             |
| cidr              | 2001:db8:2222:6977::/64              |
| created_at        | 2017-01-25T19:31:53Z                 |
| description       |                                      |
| dns_nameservers   |                                      |
| enable_dhcp       | True                                 |
| gateway_ip        | 2001:db8:2222:6977::1                |
| host_routes       |                                      |
| id                | 1319510d-c92c-4532-bf5d-8bcf3da761a1 |
| ip_version        | 6                                    |
| ipv6_address_mode | slaac                                |
| ipv6_ra_mode      | slaac                                |
| name              | ipv6-pd-1                            |
| network_id        | 4b782725-6abe-4a2d-b061-763def1bb029 |
| project_id        | 61b7eba037fd41f29cfba757c010faff     |
| revision_number   | 4                                    |
| service_types     |                                      |
| subnetpool_id     | prefix_delegation                    |
| updated_at        | 2017-01-25T19:35:26Z                 |
+-------------------+--------------------------------------+

Önek temsilci sunucusu, genel yönlendirilebilir önekleri ve kurulum yollarını temsil edecek şekilde yapılandırıldıysa, bu alt ağdaki bir bağlantı noktasına sahip herhangi bir örneğe, harici ağ erişimine sahip olmalıdır.

Yönlendirici arabirimini silmek, alt ağın geçici CIDR’ye dönmesine ve tüm bağlantı noktalarının IP’lerinin güncellenmesine neden olur. Ön ek kiralamalar serbest bırakılır ve gerektiğinde otomatik olarak yenilenir.

Kaynaklar

Şu bağlantı OpenStack ile IPv6 yapılandırması üzerine muhteşem bir adım adım kılavuzu sağlar: OpenStack Kilo sürümünde kiracı IPv6 kurulumu.

Ek yapılandırmalar

Neutron dhcpv6_pd_agent

dhcpv6_pd_agent için sürücüyü etkinleştir, /etc/neutron/neutron.conf dosyasındaki pd_dhcp_driver buna ayarlayın:

pd_dhcp_driver = neutron_pd_agent

neutron-pd-agent önek temsilci sunucularıyla iletişim kurmasına izin vermek için, dış iletişim için hangi ağ arabirimini kullanmanız gerektiğini ayarlamanız gerekir. DevStack’te bunun için varsayılan ``br-ex``dir:

pd_interface = br-ex

neutron-pd-agent ajanını başlatmak için aşağıdaki komutu ilk çalıştırma:

neutron-pd-agent --config-file /etc/neutron/neutron.conf
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.