BGP dinamik yönlendirmesi, yönlendiriciler gibi BGP’yi destekleyen fiziksel ağ aygıtlarına self-servis (özel) ağ ön eklerinin tanıtımını sağlar ve böylece statik yollara geleneksel bağımlılığı ortadan kaldırır. Bu özellik şunlara dayanıyor adres alanları ve doğru kurulum için işlemlerinin bilinmesi gerekir.
BGP dinamik yönlendirme, bir hizmet eklentisinden ve bir ajandan oluşur. Hizmet eklentisi Ağ hizmet uzantısını uygular ve aracı BGP gözlemci oturumlarını yönetir. Bir bulut yöneticisi CLI veya API kullanarak bir BGP hoparlörü oluşturur ve yapılandırır ve aracıyı çalıştıran bir veya daha fazla ana makineye el ile zamanlar. Ajanlar, diğer Ağ servisleri ajanları olsun olmasın, ana makinelerde ikamet edebilir. Önek ilanı, harici ağların bir BGP hoparlörüne bağlanması ve dış ve iç IP adres aralıklarının veya alt ağlarının adres alanına bağlıdır.
Not
Self-servis ağlar IPv4 alt ağları için genellikle özel IP adres aralığı (RFC1918) kullanmalarına rağmen, BGP dinamik yönlendirme herhangi bir IPv4 adres aralığını ilan edebilir.
Örnek yapılandırma aşağıdaki bileşenleri içerir:
Not
Örnek yapılandırma, Ağ servisi, yönlendirme ve BGP hakkında yeterli bilgiyi üstlenir. Ağ servisinin temel dağıtımı için, aşağıdakilerden birine başvurun:ref:deploy. BGP üzerideki daha fazla bilgi için, RFC 4271 belgesine bakınız.
neutron.conf
dosyasında, bilinen katman-3 ve BGP dinamik yönlendirme servis eklentilerini etkinleştir:
[DEFAULT]
service_plugins = neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin,neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
bgp_dragent.ini
dosyasında:
Sürücüyü yapılandır.
[BGP]
bgp_speaker_driver = neutron_dynamic_routing.services.bgp.agent.driver.ryu.driver.RyuBgpDriver
Not
Ajan mevcutta sadece Ryu BGP sürücüsünü destekler.
Yönlendirici ID’yi yapılandır.
[BGP]
bgp_router_id = ROUTER_ID
ROUTER_ID
‘yi uygun benzersiz tipik olarak ajanın çalıştığı sunucuda bir IPv4 adresi 32-bit numara ile değiştir. Örneğin, 192.0.2.2.
Yönetimsel proje kimlik bilgilerini kaynak olarak verin.
Her bir BGP dinamik yönlendirme aracının varlığını ve çalışmasını doğrulayın.
$ neutron agent-list --agent-type="BGP dynamic routing agent"
+--------------------------------------+---------------------------+------------+-------------------+-------+----------------+---------------------------+
| id | agent_type | host | availability_zone | alive | admin_state_up | binary |
+--------------------------------------+---------------------------+------------+-------------------+-------+----------------+---------------------------+
| 37729181-2224-48d8-89ef-16eca8e2f77e | BGP dynamic routing agent | controller | | :-) | True | neutron-bgp-dragent |
+--------------------------------------+---------------------------+------------+-------------------+-------+----------------+---------------------------+
Bir adres alanı oluşturun. Hizmet sağlayıcı (dış) ve kendi kendine hizmet ağları, aracının bu self servis ağ öneklerini tanıtması için aynı adres alanına ait olmalıdır.
$ openstack address scope create --share --ip-version 4 bgp
+------------+--------------------------------------+
| Field | Value |
+------------+--------------------------------------+
| headers | |
| id | f71c958f-dbe8-49a2-8fb9-19c5f52a37f1 |
| ip_version | 4 |
| name | bgp |
| project_id | 86acdbd1d72745fd8e8320edd7543400 |
| shared | True |
+------------+--------------------------------------+
Alt ağ havuzları oluşturun. Sağlayıcı ve self-servis ağları farklı havuzlar kullanmaktadır.
Sağlayıcı ağ havuzu oluşturun.
$ openstack subnet pool create --pool-prefix 203.0.113.0/24 \
--address-scope bgp provider
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| address_scope_id | f71c958f-dbe8-49a2-8fb9-19c5f52a37f1 |
| created_at | 2017-01-12T14:58:57Z |
| default_prefixlen | 8 |
| default_quota | None |
| description | |
| headers | |
| id | 63532225-b9a0-445a-9935-20a15f9f68d1 |
| ip_version | 4 |
| is_default | False |
| max_prefixlen | 32 |
| min_prefixlen | 8 |
| name | provider |
| prefixes | 203.0.113.0/24 |
| project_id | 86acdbd1d72745fd8e8320edd7543400 |
| revision_number | 1 |
| shared | False |
| updated_at | 2017-01-12T14:58:57Z |
+-------------------+--------------------------------------+
Self servis ağ havuzu oluşturun.
$ openstack subnet pool create --pool-prefix 10.0.1.0/24 \
--pool-prefix 10.0.2.0/24 --address-scope bgp \
--share selfservice
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| address_scope_id | f71c958f-dbe8-49a2-8fb9-19c5f52a37f1 |
| created_at | 2017-01-12T15:02:31Z |
| default_prefixlen | 8 |
| default_quota | None |
| description | |
| headers | |
| id | 8d8270b1-b194-4b7e-914c-9c741dcbd49b |
| ip_version | 4 |
| is_default | False |
| max_prefixlen | 32 |
| min_prefixlen | 8 |
| name | selfservice |
| prefixes | 10.0.1.0/24, 10.0.2.0/24 |
| project_id | 86acdbd1d72745fd8e8320edd7543400 |
| revision_number | 1 |
| shared | True |
| updated_at | 2017-01-12T15:02:31Z |
+-------------------+--------------------------------------+
Sağlayıcı ağ oluştur.
$ openstack network create provider --external --provider-physical-network \
provider --provider-network-type flat
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2016-12-21T08:47:41Z |
| description | |
| headers | |
| id | 190ca651-2ee3-4a4b-891f-dedda47974fe |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | False |
| mtu | 1450 |
| name | provider |
| port_security_enabled | True |
| project_id | c961a8f6d3654657885226378ade8220 |
| provider:network_type | flat |
| provider:physical_network | provider |
| provider:segmentation_id | 66 |
| revision_number | 3 |
| router:external | External |
| shared | False |
| status | ACTIVE |
| subnets | |
| tags | [] |
| updated_at | 2016-12-21T08:47:41Z |
+---------------------------+--------------------------------------+
Sağlayıcı alt ağ havuzundan bir IP adres aralığını kullanarak sağlayıcı ağ üzerinde bir alt ağ oluştur.
$ neutron subnet-create --name provider --subnetpool provider \
--prefixlen 24 --allocation-pool start=203.0.113.11,end=203.0.113.254 \
--gateway 203.0.113.1 provider
Created a new subnet:
+-------------------+---------------------------------------------------+
| Field | Value |
+-------------------+---------------------------------------------------+
| allocation_pools | {"start": "203.0.113.11", "end": "203.0.113.254"} |
| cidr | 203.0.113.0/24 |
| created_at | 2016-03-17T23:17:16 |
| description | |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 203.0.113.1 |
| host_routes | |
| id | 8ed65d41-2b2a-4f3a-9f92-45adb266e01a |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | provider |
| network_id | 68ec148c-181f-4656-8334-8f4eb148689d |
| subnetpool_id | 3771c0e7-7096-46d3-a3bd-699c58e70259 |
| tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
| updated_at | 2016-03-17T23:17:16 |
+-------------------+---------------------------------------------------+
Not
.11
‘den başlayan IP adres tahsis havuzu çizimlerin açıklığını arttırır. Güvenli bir şekilde çıkarabilirsiniz.
Self-servis ağları oluştur.
$ openstack network create selfservice1
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2016-12-21T08:49:38Z |
| description | |
| headers | |
| id | 9d842606-ef3d-4160-9ed9-e03fa63aed96 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| mtu | 1450 |
| name | selfservice1 |
| port_security_enabled | True |
| project_id | c961a8f6d3654657885226378ade8220 |
| provider:network_type | vxlan |
| provider:physical_network | None |
| provider:segmentation_id | 106 |
| revision_number | 3 |
| router:external | Internal |
| shared | False |
| status | ACTIVE |
| subnets | |
| tags | [] |
| updated_at | 2016-12-21T08:49:38Z |
+---------------------------+--------------------------------------+
$ openstack network create selfservice2
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2016-12-21T08:50:05Z |
| description | |
| headers | |
| id | f85639e1-d23f-438e-b2b1-f40570d86b1c |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| mtu | 1450 |
| name | selfservice2 |
| port_security_enabled | True |
| project_id | c961a8f6d3654657885226378ade8220 |
| provider:network_type | vxlan |
| provider:physical_network | None |
| provider:segmentation_id | 21 |
| revision_number | 3 |
| router:external | Internal |
| shared | False |
| status | ACTIVE |
| subnets | |
| tags | [] |
| updated_at | 2016-12-21T08:50:05Z |
+---------------------------+--------------------------------------+
$ openstack network create selfservice3
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2016-12-21T08:50:35Z |
| description | |
| headers | |
| id | eeccdb82-5cf4-4999-8ab3-e7dc99e7d43b |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| mtu | 1450 |
| name | selfservice3 |
| port_security_enabled | True |
| project_id | c961a8f6d3654657885226378ade8220 |
| provider:network_type | vxlan |
| provider:physical_network | None |
| provider:segmentation_id | 86 |
| revision_number | 3 |
| router:external | Internal |
| shared | False |
| status | ACTIVE |
| subnets | |
| tags | [] |
| updated_at | 2016-12-21T08:50:35Z |
+---------------------------+--------------------------------------+
Self-servis alt ağ havuzundan bir IP adres aralığı kullanarak ilk iki self-servis ağı üzerinde bir alt ağ oluştur.
$ neutron subnet-create --name selfservice1 --subnetpool selfservice \
--prefixlen 24 selfservice1
Created a new subnet:
+-------------------+--------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------+
| allocation_pools | {"start": "10.0.1.2", "end": "10.0.1.254"} |
| cidr | 10.0.1.0/24 |
| created_at | 2016-03-17T23:20:20 |
| description | |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 10.0.1.1 |
| host_routes | |
| id | 8edd3dc2-df40-4d71-816e-a4586d61c809 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | selfservice1 |
| network_id | be79de1e-5f56-11e6-9dfb-233e41cec48c |
| subnetpool_id | c7e9737a-cfd3-45b5-a861-d1cee1135a92 |
| tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
| updated_at | 2016-03-17T23:20:20 |
+-------------------+--------------------------------------------+
$ neutron subnet-create --name selfservice2 --subnetpool selfservice \
--prefixlen 24 selfservice2
Created a new subnet:
+-------------------+--------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------+
| allocation_pools | {"start": "10.0.2.2", "end": "10.0.2.254"} |
| cidr | 10.0.2.0/24 |
| created_at | 2016-03-17T23:20:20 |
| description | |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 10.0.2.1 |
| host_routes | |
| id | 8edd3dc2-df40-4d71-816e-a4586d61c809 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | selfservice2 |
| network_id | c1fd9846-5f56-11e6-a8ac-0f998d9cc0a2 |
| subnetpool_id | c7e9737a-cfd3-45b5-a861-d1cee1135a92 |
| tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
| updated_at | 2016-03-17T23:20:20 |
+-------------------+--------------------------------------------+
Adres alanının dışında bir IP adres aralığı kullanarak en son self-servis ağında bir alt ağ oluştur.
$ neutron subnet-create --name subnet3 selfservice3 10.0.3.0/24
Created a new subnet:
+-------------------+--------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------+
| allocation_pools | {"start": "10.0.3.2", "end": "10.0.3.254"} |
| cidr | 10.0.3.0/24 |
| created_at | 2016-03-17T23:20:20 |
| description | |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 10.0.3.1 |
| host_routes | |
| id | cd9f9156-5f59-11e6-aeec-172ec7ee939a |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | selfservice3 |
| network_id | c283dc1c-5f56-11e6-bfb6-efc30e1eb73b |
| subnetpool_id | |
| tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
| updated_at | 2016-03-17T23:20:20 |
+-------------------+--------------------------------------------+
Yönlendiricileri oluştur.
$ openstack router create router1
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2017-01-10T13:15:19Z |
| description | |
| distributed | False |
| external_gateway_info | null |
| flavor_id | None |
| ha | False |
| headers | |
| id | 3f6f4ef8-63be-11e6-bbb3-2fbcef363ab8 |
| name | router1 |
| project_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
| revision_number | 1 |
| routes | |
| status | ACTIVE |
| updated_at | 2017-01-10T13:15:19Z |
+-------------------------+--------------------------------------+
$ openstack router create router2
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2017-01-10T13:15:19Z |
| description | |
| distributed | False |
| external_gateway_info | null |
| flavor_id | None |
| ha | False |
| headers | |
| id | 3fd21a60-63be-11e6-9c95-5714c208c499 |
| name | router2 |
| project_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
| revision_number | 1 |
| routes | |
| status | ACTIVE |
| updated_at | 2017-01-10T13:15:19Z |
+-------------------------+--------------------------------------+
$ openstack router create router3
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2017-01-10T13:15:19Z |
| description | |
| distributed | False |
| external_gateway_info | null |
| flavor_id | None |
| ha | False |
| headers | |
| id | 40069a4c-63be-11e6-9ecc-e37c1eaa7e84 |
| name | router3 |
| project_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
| revision_number | 1 |
| routes | |
| status | ACTIVE |
| updated_at | 2017-01-10T13:15:19Z |
+-------------------------+--------------------------------------+
Her yönlendirici için, yönlendiricide bir arabirim olarak bir self servis alt ağ ekleyin.
$ neutron router-interface-add router1 selfservice1
Added interface 90e3880a-5f5c-11e6-914c-9f3e20c8c151 to router router1.
$ neutron router-interface-add router2 selfservice2
Added interface 91628362-5f5c-11e6-826a-7322fb03a821 to router router2.
$ neutron router-interface-add router3 selfservice3
Added interface 91d51044-5f5c-11e6-bf55-ffd180541cc2 to router router3.
Her yönlendiriciye bir sağlayıcı ağı geçit olarak ekleyin.
$ neutron router-gateway-set router1 provider
Set gateway for router router1
$ neutron router-gateway-set router2 provider
Set gateway for router router2
$ neutron router-gateway-set router3 provider
Set gateway for router router3
BGP yayıncı, uygun self-servis ağları için bir sonraki atlamalı IP adresini ve bu ağları kullanan örnekler için kayan IP adreslerini duyurur.
BGP yayıncıyı oluştur.
$ neutron bgp-speaker-create --ip-version 4 \
--local-as LOCAL_AS bgpspeaker
Created a new bgp_speaker:
+-----------------------------------+--------------------------------------+
| Field | Value |
+-----------------------------------+--------------------------------------+
| advertise_floating_ip_host_routes | True |
| advertise_tenant_networks | True |
| id | 5f227f14-4f46-4eca-9524-fc5a1eabc358 |
| ip_version | 4 |
| local_as | 1234 |
| name | bgpspeaker |
| networks | |
| peers | |
| tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
+-----------------------------------+--------------------------------------+
LOCAL_AS
yerine uygun yerel özerk sistem numarası koyun. Örnek yapılandırmada AS 1234 kullanılıyor.
Bir BGP yayıncı uygun önekleri belirlemek için bir sağlayıcı ağı ile bağlantıya girmeyi gerektirir. Bu ilişki, aynı adres alanındaki sağlayıcı ve self-servis ağlarındaki ağ geçitleriyle tüm sanal yönlendiricilerin bir listesini oluşturur; böylece BGP yayınlayıcı, sonraki hop IP adresi olarak karşılık gelen yönlendirici ile self-servis ağ önekleri ilan edebilir. BGP hoparlörünü sağlayıcı ağı ile ilişkilendirin.
$ neutron bgp-speaker-network-add bgpspeaker provider
Added network provider to BGP speaker bgpspeaker.
BGP yayıncı ile sağlayıcı ağ arasındaki ilişkiyi doğrula.
$ neutron bgp-speaker-show bgpspeaker
+-----------------------------------+--------------------------------------+
| Field | Value |
+-----------------------------------+--------------------------------------+
| advertise_floating_ip_host_routes | True |
| advertise_tenant_networks | True |
| id | 5f227f14-4f46-4eca-9524-fc5a1eabc358 |
| ip_version | 4 |
| local_as | 1234 |
| name | bgpspeaker |
| networks | 68ec148c-181f-4656-8334-8f4eb148689d |
| peers | |
| tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
+-----------------------------------+--------------------------------------+
BGP yayıncının önerdiği önekleri ve sonraki IP adres zıplamalarını doğrula.
$ neutron bgp-speaker-advertiseroute-list bgpspeaker
+-------------+--------------+
| destination | next_hop |
+-------------+--------------+
| 10.0.1.0/24 | 203.0.113.11 |
| 10.0.2.0/24 | 203.0.113.12 |
+-------------+--------------+
Bir BGP akranı oluştur.
$ neutron bgp-peer-create --peer-ip 192.0.2.1 \
--remote-as REMOTE_AS bgppeer
Created a new bgp_peer:
+-----------+--------------------------------------+
| Field | Value |
+-----------+--------------------------------------+
| auth_type | none |
| id | 35c89ca0-ac5a-4298-a815-0b073c2362e9 |
| name | bgppeer |
| peer_ip | 192.0.2.1 |
| remote_as | 4321 |
| tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
+-----------+--------------------------------------+
REMOTE_AS
dosyasını uygun bir uzak özerk sistem numarası ile değiştirin. Örnek konfigürasyon, EBGP denkliği tetikleyen AS 4321’i kullanır.
Not
BGP ajanı içeren sunucu sağlayıcı yönlendiriciye katman-3 bağlanabilirliğine sahip olmak zorundadır.
BGP yayıncısına BGP eşi ekle.
$ neutron bgp-speaker-peer-add bgpspeaker bgppeer
Added BGP peer bgppeer to BGP speaker bgpspeaker.
BGP yayıncısına BGP eşi eklemeyi onayla.
$ neutron bgp-speaker-show bgpspeaker
+-----------------------------------+--------------------------------------+
| Field | Value |
+-----------------------------------+--------------------------------------+
| advertise_floating_ip_host_routes | True |
| advertise_tenant_networks | True |
| id | 5f227f14-4f46-4eca-9524-fc5a1eabc358 |
| ip_version | 4 |
| local_as | 1234 |
| name | bgpspeaker |
| networks | 68ec148c-181f-4656-8334-8f4eb148689d |
| peers | 35c89ca0-ac5a-4298-a815-0b073c2362e9 |
| tenant_id | b3ac05ef10bf441fbf4aa17f16ae1e6d |
+-----------------------------------+--------------------------------------+
Not
Eşleme oturumu oluşturduktan sonra yerel veya uzak özerk sistem numaralarını değiştiremezsiniz.
Çoğu ajanın aksine, BGP yayıncıları bir ajanı el ile zamanlama gerektirir. BGP yayıncıları sadece bir eşleme oturumu oluşturur ve bir ajana planlandıktan sonra önek ilanını başlatırlar. BGP yayıncısını 37729181-2224-48d8-89ef-16eca8e2f77e
ajanına zamanla.
$ neutron bgp-dragent-speaker-add 37729181-2224-48d8-89ef-16eca8e2f77e bgpspeaker
Associated BGP speaker bgpspeaker to the Dynamic Routing agent.
BGP yayıncısını ajana zamanlamayı onayla.
$ neutron bgp-dragent-list-hosting-speaker bgpspeaker
+--------------------------------------+------------+----------------+-------+
| id | host | admin_state_up | alive |
+--------------------------------------+------------+----------------+-------+
| 37729181-2224-48d8-89ef-16eca8e2f77e | controller | True | :-) |
+--------------------------------------+------------+----------------+-------+
$ neutron bgp-speaker-list-on-dragent 37729181-2224-48d8-89ef-16eca8e2f77e
+--------------------------------------+------------+----------+------------+
| id | name | local_as | ip_version |
+--------------------------------------+------------+----------+------------+
| 5f227f14-4f46-4eca-9524-fc5a1eabc358 | bgpspeaker | 1234 | 4 |
+--------------------------------------+------------+----------+------------+
BGP dinamik yönlendirme, self servis ağlar için önekleri ve yüzen IP adresleri için ana bilgisayar yönlerini bildirir.
Bir self-servis ağının tanıtımı aşağıdaki koşulların sağlanmasını gerektirir:
advertise_tenant_networks
özeliği True
olarak ayarlanmıştır.Yüzen IP adresinin tanıtımı aşağıdaki koşulların sağlanmasını gerektirir:
True
olarak ayarlanan advertise_floating_ip_host_routes
özelliğine sahiptir.DVR kullanan dağıtımlarda, BGP yayıncı yüzen IP adreslerini ve self-servis ağlarını farklı şekilde duyurur. Yüzen IP adresleri için, BGP yayıncı karşılık gelen hesaplama düğümünde yüzen IP aracı ağ geçidini bir sonraki atlamalı IP adresi olarak bildirir. SNAT kullanan self servis ağlar için, BGP yayıncısı DVR SNAT düğümünü sonraki atlamalı IP adresi olarak bildirir.
Örneğin, aşağıdaki bileşenleri göz önüne alın:
$ neutron bgp-speaker-advertiseroute-list bgpspeaker
+------------------+--------------+
| destination | next_hop |
+------------------+--------------+
| 10.0.1.0/24 | 203.0.113.11 |
| 203.0.113.101/32 | 203.0.113.12 |
| 203.0.113.102/32 | 203.0.113.13 |
| 203.0.113.103/32 | 203.0.113.14 |
+------------------+--------------+
Not
DVR, kayan IP ajan ağ geçidi portu üzerinden doğrudan sabit bir IP adresine yönlendirme desteğine sahip değildir ve böylece BGP yayıncının sabit IP adreslerini önerilerden almasını önler.
BGP yayıncının çalışıp çalışmadığını doğrulamak için çevrenizdeki yüzen IP aracı ağ geçitlerini de tanımlayabilirsiniz.
$ neutron port-list --device_owner="network:floatingip_agent_gateway"
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------------------------+
| 87cf2970-4970-462e-939e-00e808295dfa | | fa:16:3e:7c:68:e3 | {"subnet_id": "8ed65d41-2b2a-4f3a-9f92-45adb266e01a", "ip_address": "203.0.113.12"} |
| 8d218440-0d2e-49d0-8a7b-3266a6146dc1 | | fa:16:3e:9d:78:cf | {"subnet_id": "8ed65d41-2b2a-4f3a-9f92-45adb266e01a", "ip_address": "203.0.113.13"} |
| 87cf2970-4970-462e-939e-00e802281dfa | | fa:16:3e:6b:18:e0 | {"subnet_id": "8ed65d41-2b2a-4f3a-9f92-45adb266e01a", "ip_address": "203.0.113.14"} |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------------------------+
BGP dinamik yönlendirmesi, IPv6 yoluyla gözlemlemeyi ve IPv6 öneklerini tanıtmayı destekler.
peer_ip
için bir IPv6 adresi kullanın.ip_version=6
olan bir BGP yayıncı oluşturun.Not
IPv6’lı DVR, IPv4’li DVR’ye benzer şekilde işlev görür.
BGP dinamik yönlendirme, bir BGP yayıncı, önek tanıtımını aynı eşe etkili bir şekilde çarpan birden fazla ajana planlamayı destekler. Bir ajan başarısız olursa, eş bir veya daha fazla operasyonel aracıdan tanıtım yayınlamaya devam eder.
Mevcut dinamik yönlendirme araçlarını gösterin.
$ neutron agent-list --agent-type="BGP dynamic routing agent"
+--------------------------------------+---------------------------+----------+-------------------+-------+----------------+---------------------------+
| id | agent_type | host | availability_zone | alive | admin_state_up | binary |
+--------------------------------------+---------------------------+----------+-------------------+-------+----------------+---------------------------+
| 37729181-2224-48d8-89ef-16eca8e2f77e | BGP dynamic routing agent | bgp-ha1 | | :-) | True | neutron-bgp-dragent |
| 1a2d33bb-9321-30a2-76ab-22eff3d2f56a | BGP dynamic routing agent | bgp-ha2 | | :-) | True | neutron-bgp-dragent |
+--------------------------------------+---------------------------+----------+-------------------+-------+----------------+---------------------------+
BGP yayıncıyı çoklu ajanlara zamanla.
$ neutron bgp-dragent-speaker-add 37729181-2224-48d8-89ef-16eca8e2f77e bgpspeaker
Associated BGP speaker bgpspeaker to the Dynamic Routing agent.
$ neutron bgp-dragent-speaker-add 1a2d33bb-9321-30a2-76ab-22eff3d2f56a bgpspeaker
Associated BGP speaker bgpspeaker to the Dynamic Routing agent.
$ neutron bgp-dragent-list-hosting-speaker bgpspeaker
+--------------------------------------+---------+----------------+-------+
| id | host | admin_state_up | alive |
+--------------------------------------+---------+----------------+-------+
| 37729181-2224-48d8-89ef-16eca8e2f77e | bgp-ha1 | True | :-) |
| 1a2d33bb-9321-30a2-76ab-22eff3d2f56a | bgp-ha2 | True | :-) |
+--------------------------------------+---------+----------------+-------+
$ neutron bgp-speaker-list-on-dragent 37729181-2224-48d8-89ef-16eca8e2f77e
+--------------------------------------+------------+----------+------------+
| id | name | local_as | ip_version |
+--------------------------------------+------------+----------+------------+
| 5f227f14-4f46-4eca-9524-fc5a1eabc358 | bgpspeaker | 1234 | 4 |
+--------------------------------------+------------+----------+------------+
$ neutron bgp-speaker-list-on-dragent 1a2d33bb-9321-30a2-76ab-22eff3d2f56a
+--------------------------------------+------------+----------+------------+
| id | name | local_as | ip_version |
+--------------------------------------+------------+----------+------------+
| 5f227f14-4f46-4eca-9524-fc5a1eabc358 | bgpspeaker | 1234 | 4 |
+--------------------------------------+------------+----------+------------+
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.