Adres alanları

Adres alanları

Adres alanları alt ağ havuzlarından oluşturulur. Alt ağ havuzları, adreslerin alt ağlara ayrılmasını denetleyen bir mekanizma sağlarken, adres alanları, adreslerin ağlar arasında nereye yönlendirilebileceğini ve herhangi bir iki alt ağda üst üste gelen adreslerin kullanılmasını engellediğini gösterir. Adres alanında ayrılan tüm adresler çakışmadığından, neutron yönlendiricileri, projelerinizin ağıyla harici ağ arasında NAT yapmazlar. Bir adres alanındaki adresler eşleştiği sürece, Ağ hizmeti, ağlar arasında basit bir yönlendirme gerçekleştirir.

Adres alanlarına erişim

Ağ hizmetine erişimi olan herkes kendi adres alanlarını oluşturabilir. Bununla birlikte, ağ yöneticileri, paylaşımlı adres alanları oluşturabilir ve diğer projelerin bu adres alanı içinde ağlar oluşturmasına izin verebilir.

Bir alandaki adreslere erişim, alt ağ havuzları aracılığıyla yönetilir. Alt ağ havuzları bir adres alanında oluşturulabilir veya bir adres alanına ait olacak şekilde güncellenebilir.

Alt ağ havuzlarıyla, adres alanı içinde kullanılan tüm adresler, adres alanı sahibi açısından farklıdır. Bu nedenle, havuzların farklı adrese sahip olması ve adres alanının bölümlerinin temsilciliğine izin vermesi durumunda, adres alanına birden fazla alt ağ havuzu ekleyin. Delegasyon, tüm alan boyunca adres çakışmasını engeller. Aksi takdirde, iki havuzun aynı adres aralıklarına sahip olması durumunda bir hata mesajı alırsınız.

Her yönlendirici arabirimi, ağa bağlı alt ağlara bakarak bir adres alanıyla ilişkilendirilir. Bir yönlendirici, eşleşen adres alanlarıyla harici bir ağa bağlandığında, Ağ trafiği, Ağ adresi çevirisi (NAT) olmadan güzergah yönlendirir. Yönlendirici, her arayüzden gelen tüm trafik bağlantılarını ilgili adres alanı ile işaretler. Trafiğin bir arabirimi yanlış alanda bırakması durumunda, yönlendirici trafiği engeller.

Geriye dönük uyumluluk

Ağ, oluşturulan veya güncellenmiş bir adres alanına ait bir alt ağ havuzundan alt ağlar içeriyorsa Mitaka sürümünden önce oluşturulan ağlar açıkça adlandırılmış adres alanları içermez. Ağ hizmeti, özel adres alanı özellikleri aracılığıyla Mitaka öncesi ağlarla geriye dönük uyumluluğu korur, böylece bu ağlar gelişmiş yönlendirme yapabilir:

  1. Sınırsız adres çakışmasına izin verilir.
  2. Neutron yönlendiricileri, varsayılan olarak, iç ağlardan harici ağlara NAT trafiğini yönetecektir.
  3. Mitaka öncesi adres alanları, API aracılığıyla görünmez. Adres alanlarını listeleyemez veya ayrıntıları gösteremezsiniz. Alanlar açıkça alanı olmayan adresler için örtük olarak mevcuttur.

Yönetici kullanıcı olarak paylaşımlı adres alanı oluştur

Bu bölüm, paylaşımlı adres alanlarını, aynı alt ağ havuzlarına sahip proje ağları için basit yönlendirmenin yapılmasına izin verecek şekilde nasıl ayarlayacağınızı gösterir.

Not

Kısaltmalar için bu komutların çıktısından alakasız bölümler kesilmiştir.

  1. IPv6 ve IPv4 adres alanı oluştur:

    $ openstack address scope create --share --ip-version 6 address-scope-ip6
    
    +------------+--------------------------------------+
    | Field      | Value                                |
    +------------+--------------------------------------+
    | headers    |                                      |
    | id         | 28424dfc-9abd-481b-afa3-1da97a8fead7 |
    | ip_version | 6                                    |
    | name       | address-scope-ip6                    |
    | project_id | 098429d072d34d3596c88b7dbf7e91b6     |
    | shared     | True                                 |
    +------------+--------------------------------------+
    
    $ openstack address scope create --share --ip-version 4 address-scope-ip4
    
    +------------+--------------------------------------+
    | Field      | Value                                |
    +------------+--------------------------------------+
    | headers    |                                      |
    | id         | 3193bd62-11b5-44dc-acf8-53180f21e9f2 |
    | ip_version | 4                                    |
    | name       | address-scope-ip4                    |
    | project_id | 098429d072d34d3596c88b7dbf7e91b6     |
    | shared     | True                                 |
    +------------+--------------------------------------+
    
  2. Alt ağ havuzunun ait olduğu adres alanının adını (veya UUID’sini) belirten alt ağ havuzları oluşturun. Mevcut alt ağ havuzlarınız varsa, bunları yeni bir adres kapsamına koymak için openstack subnet pool set komutunu kullanın:

    $ openstack subnet pool create --address-scope address-scope-ip6 \
    --share --pool-prefix 2001:db8:a583::/48 --default-prefix-length 64 \
    subnet-pool-ip6
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | address_scope_id  | 28424dfc-9abd-481b-afa3-1da97a8fead7 |
    | created_at        | 2016-12-13T22:53:30Z                 |
    | default_prefixlen | 64                                   |
    | default_quota     | None                                 |
    | description       |                                      |
    | id                | a59ff52b-0367-41ff-9781-6318b927dd0e |
    | ip_version        | 6                                    |
    | is_default        | False                                |
    | max_prefixlen     | 128                                  |
    | min_prefixlen     | 64                                   |
    | name              | subnet-pool-ip6                      |
    | prefixes          | 2001:db8:a583::/48                   |
    | project_id        | 098429d072d34d3596c88b7dbf7e91b6     |
    | revision_number   | 1                                    |
    | shared            | True                                 |
    | updated_at        | 2016-12-13T22:53:30Z                 |
    +-------------------+--------------------------------------+
    
    $ openstack subnet pool create --address-scope address-scope-ip4 \
    --share --pool-prefix 203.0.113.0/24 --default-prefix-length 26 \
    subnet-pool-ip4
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | address_scope_id  | 3193bd62-11b5-44dc-acf8-53180f21e9f2 |
    | created_at        | 2016-12-13T22:55:09Z                 |
    | default_prefixlen | 26                                   |
    | default_quota     | None                                 |
    | description       |                                      |
    | id                | d02af70b-d622-426f-8e60-ed9df2a8301f |
    | ip_version        | 4                                    |
    | is_default        | False                                |
    | max_prefixlen     | 32                                   |
    | min_prefixlen     | 8                                    |
    | name              | subnet-pool-ip4                      |
    | prefixes          | 203.0.113.0/24                       |
    | project_id        | 098429d072d34d3596c88b7dbf7e91b6     |
    | revision_number   | 1                                    |
    | shared            | True                                 |
    | updated_at        | 2016-12-13T22:55:09Z                 |
    +-------------------+--------------------------------------+
    
  3. Harici bir ağdaki alt ağların yukarıda oluşturulan alt ağ havuzlarından oluşturulduğundan emin olun:

    $ openstack subnet show ipv6-public-subnet
    +-------------------+------------------------------------------+
    | Field             | Value                                    |
    +-------------------+------------------------------------------+
    | allocation_pools  | 2001:db8:a583::2-2001:db8:a583:0:ffff:ff |
    |                   | ff:ffff:ffff                             |
    | cidr              | 2001:db8:a583::/64                       |
    | created_at        | 2016-12-10T21:36:04Z                     |
    | description       |                                          |
    | dns_nameservers   |                                          |
    | enable_dhcp       | False                                    |
    | gateway_ip        | 2001:db8:a583::1                         |
    | host_routes       |                                          |
    | id                | b333bf5a-758c-4b3f-97ec-5f12d9bfceb7     |
    | ip_version        | 6                                        |
    | ipv6_address_mode | None                                     |
    | ipv6_ra_mode      | None                                     |
    | name              | ipv6-public-subnet                       |
    | network_id        | 05a8d31e-330b-4d96-a3fa-884b04abfa4c     |
    | project_id        | 098429d072d34d3596c88b7dbf7e91b6         |
    | revision_number   | 2                                        |
    | segment_id        | None                                     |
    | service_types     |                                          |
    | subnetpool_id     | a59ff52b-0367-41ff-9781-6318b927dd0e     |
    | updated_at        | 2016-12-10T21:36:04Z                     |
    +-------------------+------------------------------------------+
    
    $ openstack subnet show public-subnet
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | allocation_pools  | 203.0.113.2-203.0.113.62             |
    | cidr              | 203.0.113.0/26                       |
    | created_at        | 2016-12-10T21:35:52Z                 |
    | description       |                                      |
    | dns_nameservers   |                                      |
    | enable_dhcp       | False                                |
    | gateway_ip        | 203.0.113.1                          |
    | host_routes       |                                      |
    | id                | 7fd48240-3acc-4724-bc82-16c62857edec |
    | ip_version        | 4                                    |
    | ipv6_address_mode | None                                 |
    | ipv6_ra_mode      | None                                 |
    | name              | public-subnet                        |
    | network_id        | 05a8d31e-330b-4d96-a3fa-884b04abfa4c |
    | project_id        | 098429d072d34d3596c88b7dbf7e91b6     |
    | revision_number   | 2                                    |
    | segment_id        | None                                 |
    | service_types     |                                      |
    | subnetpool_id     | d02af70b-d622-426f-8e60-ed9df2a8301f |
    | updated_at        | 2016-12-10T21:35:52Z                 |
    +-------------------+--------------------------------------+
    

Ayrıcalığı olmayan kullanıcılar için adres alanları ile yönlendirme

Bu bölüm, ayrıcalıksız kullanıcıların NAT olmadan doğrudan harici bir ağa yönlendirmek için adres alanlarını nasıl kullanabileceklerini gösterir.

  1. Alt ağlar sunmak için bir çift ağ oluştur:

    $ openstack network create network1
    +---------------------------+--------------------------------------+
    | Field                     | Value                                |
    +---------------------------+--------------------------------------+
    | admin_state_up            | UP                                   |
    | availability_zone_hints   |                                      |
    | availability_zones        |                                      |
    | created_at                | 2016-12-13T23:21:01Z                 |
    | description               |                                      |
    | headers                   |                                      |
    | id                        | 1bcf3fe9-a0cb-4d88-a067-a4d7f8e635f0 |
    | ipv4_address_scope        | None                                 |
    | ipv6_address_scope        | None                                 |
    | mtu                       | 1450                                 |
    | name                      | network1                             |
    | port_security_enabled     | True                                 |
    | project_id                | 098429d072d34d3596c88b7dbf7e91b6     |
    | provider:network_type     | vxlan                                |
    | provider:physical_network | None                                 |
    | provider:segmentation_id  | 94                                   |
    | revision_number           | 3                                    |
    | router:external           | Internal                             |
    | shared                    | False                                |
    | status                    | ACTIVE                               |
    | subnets                   |                                      |
    | tags                      | []                                   |
    | updated_at                | 2016-12-13T23:21:01Z                 |
    +---------------------------+--------------------------------------+
    
    $ openstack network create network2
    +---------------------------+--------------------------------------+
    | Field                     | Value                                |
    +---------------------------+--------------------------------------+
    | admin_state_up            | UP                                   |
    | availability_zone_hints   |                                      |
    | availability_zones        |                                      |
    | created_at                | 2016-12-13T23:21:45Z                 |
    | description               |                                      |
    | headers                   |                                      |
    | id                        | 6c583603-c097-4141-9c5c-288b0e49c59f |
    | ipv4_address_scope        | None                                 |
    | ipv6_address_scope        | None                                 |
    | mtu                       | 1450                                 |
    | name                      | network2                             |
    | port_security_enabled     | True                                 |
    | project_id                | 098429d072d34d3596c88b7dbf7e91b6     |
    | provider:network_type     | vxlan                                |
    | provider:physical_network | None                                 |
    | provider:segmentation_id  | 81                                   |
    | revision_number           | 3                                    |
    | router:external           | Internal                             |
    | shared                    | False                                |
    | status                    | ACTIVE                               |
    | subnets                   |                                      |
    | tags                      | []                                   |
    | updated_at                | 2016-12-13T23:21:45Z                 |
    +---------------------------+--------------------------------------+
    
  2. Bir alt ağ havuzu veya bir adres alanı ile ilişkili olmayan bir alt ağ oluştur:

    $ openstack subnet create --network network1 --subnet-range \
    198.51.100.0/26 subnet-ip4-1
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | allocation_pools  | 198.51.100.2-198.51.100.62           |
    | cidr              | 198.51.100.0/26                      |
    | created_at        | 2016-12-13T23:24:16Z                 |
    | description       |                                      |
    | dns_nameservers   |                                      |
    | enable_dhcp       | True                                 |
    | gateway_ip        | 198.51.100.1                         |
    | headers           |                                      |
    | host_routes       |                                      |
    | id                | 66874039-d31b-4a27-85d7-14c89341bbb7 |
    | ip_version        | 4                                    |
    | ipv6_address_mode | None                                 |
    | ipv6_ra_mode      | None                                 |
    | name              | subnet-ip4-1                         |
    | network_id        | 1bcf3fe9-a0cb-4d88-a067-a4d7f8e635f0 |
    | project_id        | 098429d072d34d3596c88b7dbf7e91b6     |
    | revision_number   | 2                                    |
    | service_types     |                                      |
    | subnetpool_id     | None                                 |
    | updated_at        | 2016-12-13T23:24:16Z                 |
    +-------------------+--------------------------------------+
    
    $ openstack subnet create --network network1 --ipv6-ra-mode slaac \
    --ipv6-address-mode slaac --ip-version 6 --subnet-range \
    2001:db8:80d2:c4d3::/64 subnet-ip6-1
    +-------------------+-----------------------------------------+
    | Field             | Value                                   |
    +-------------------+-----------------------------------------+
    | allocation_pools  | 2001:db8:80d2:c4d3::2-2001:db8:80d2:c4d |
    |                   | 3:ffff:ffff:ffff:ffff                   |
    | cidr              | 2001:db8:80d2:c4d3::/64                 |
    | created_at        | 2016-12-13T23:28:28Z                    |
    | description       |                                         |
    | dns_nameservers   |                                         |
    | enable_dhcp       | True                                    |
    | gateway_ip        | 2001:db8:80d2:c4d3::1                   |
    | headers           |                                         |
    | host_routes       |                                         |
    | id                | a7551b23-2271-4a88-9c41-c84b048e0722    |
    | ip_version        | 6                                       |
    | ipv6_address_mode | slaac                                   |
    | ipv6_ra_mode      | slaac                                   |
    | name              | subnet-ip6-1                            |
    | network_id        | 1bcf3fe9-a0cb-4d88-a067-a4d7f8e635f0    |
    | project_id        | 098429d072d34d3596c88b7dbf7e91b6        |
    | revision_number   | 2                                       |
    | service_types     |                                         |
    | subnetpool_id     | None                                    |
    | updated_at        | 2016-12-13T23:28:28Z                    |
    +-------------------+-----------------------------------------+
    
  3. Harici bir ağdan bir adres alanı ile ilişkili bir alt ağ havuzu kullanarak bir alt ağ oluştur:

    $ openstack subnet create --subnet-pool subnet-pool-ip4 \
    --network network2 subnet-ip4-2
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | allocation_pools  | 203.0.113.2-203.0.113.62             |
    | cidr              | 203.0.113.0/26                       |
    | created_at        | 2016-12-13T23:32:12Z                 |
    | description       |                                      |
    | dns_nameservers   |                                      |
    | enable_dhcp       | True                                 |
    | gateway_ip        | 203.0.113.1                          |
    | headers           |                                      |
    | host_routes       |                                      |
    | id                | 12be8e8f-5871-4091-9e9e-4e0651b9677e |
    | ip_version        | 4                                    |
    | ipv6_address_mode | None                                 |
    | ipv6_ra_mode      | None                                 |
    | name              | subnet-ip4-2                         |
    | network_id        | 6c583603-c097-4141-9c5c-288b0e49c59f |
    | project_id        | 098429d072d34d3596c88b7dbf7e91b6     |
    | revision_number   | 2                                    |
    | service_types     |                                      |
    | subnetpool_id     | d02af70b-d622-426f-8e60-ed9df2a8301f |
    | updated_at        | 2016-12-13T23:32:12Z                 |
    +-------------------+--------------------------------------+
    
    $ openstack subnet create --ip-version 6 --ipv6-ra-mode slaac \
    --ipv6-address-mode slaac --subnet-pool subnet-pool-ip6 \
    --network network2 subnet-ip6-2
    +-------------------+--------------------------------------+
    | Field             | Value                                |
    +-------------------+--------------------------------------+
    | allocation_pools  | 2001:db8:a583::2-2001:db8:a583:0:fff |
    |                   | f:ffff:ffff:ffff                     |
    | cidr              | 2001:db8:a583::/64                   |
    | created_at        | 2016-12-13T23:31:17Z                 |
    | description       |                                      |
    | dns_nameservers   |                                      |
    | enable_dhcp       | True                                 |
    | gateway_ip        | 2001:db8:a583::1                     |
    | headers           |                                      |
    | host_routes       |                                      |
    | id                | b599c2be-e3cd-449c-ba39-3cfcc744c4be |
    | ip_version        | 6                                    |
    | ipv6_address_mode | slaac                                |
    | ipv6_ra_mode      | slaac                                |
    | name              | subnet-ip6-2                         |
    | network_id        | 6c583603-c097-4141-9c5c-288b0e49c59f |
    | project_id        | 098429d072d34d3596c88b7dbf7e91b6     |
    | revision_number   | 2                                    |
    | service_types     |                                      |
    | subnetpool_id     | a59ff52b-0367-41ff-9781-6318b927dd0e |
    | updated_at        | 2016-12-13T23:31:17Z                 |
    +-------------------+--------------------------------------+
    

    Kapsamlı alt ağ havuzlarından alt ağlar oluşturarak, ağ adres alanıyla ilişkilendirilir.

    $ openstack network show network2
    +---------------------------+------------------------------+
    | Field                     | Value                        |
    +---------------------------+------------------------------+
    | admin_state_up            | UP                           |
    | availability_zone_hints   |                              |
    | availability_zones        | nova                         |
    | created_at                | 2016-12-13T23:21:45Z         |
    | description               |                              |
    | id                        | 6c583603-c097-4141-9c5c-     |
    |                           | 288b0e49c59f                 |
    | ipv4_address_scope        | 3193bd62-11b5-44dc-          |
    |                           | acf8-53180f21e9f2            |
    | ipv6_address_scope        | 28424dfc-9abd-481b-          |
    |                           | afa3-1da97a8fead7            |
    | mtu                       | 1450                         |
    | name                      | network2                     |
    | port_security_enabled     | True                         |
    | project_id                | 098429d072d34d3596c88b7dbf7e |
    |                           | 91b6                         |
    | provider:network_type     | vxlan                        |
    | provider:physical_network | None                         |
    | provider:segmentation_id  | 81                           |
    | revision_number           | 10                           |
    | router:external           | Internal                     |
    | shared                    | False                        |
    | status                    | ACTIVE                       |
    | subnets                   | 12be8e8f-5871-4091-9e9e-     |
    |                           | 4e0651b9677e, b599c2be-e3cd- |
    |                           | 449c-ba39-3cfcc744c4be       |
    | tags                      | []                           |
    | updated_at                | 2016-12-13T23:32:12Z         |
    +---------------------------+------------------------------+
    
  4. Oluşturulan proje alt ağlarının her birine bir yönlendirici bağlayın, örneğin, router1 adlı bir yönlendirici kullanarak:

    $ openstack router add subnet router1 subnet-ip4-1
    $ openstack router add subnet router1 subnet-ip4-2
    $ openstack router add subnet router1 subnet-ip6-1
    $ openstack router add subnet router1 subnet-ip6-2
    

Bağlanabilirlik kontrolü

Bu örnek adres alanları ile ağlar arasındaki bağlanabilirliğin nasıl kontrol edileceğini gösterir.

  1. İki sunucu başlatın network1 üzerinde instance1 ve network2 üzerinde instance2 bir yüzen IP adresinin her iki sunucu için de ilişkilendirin.

  2. Ping’lere ve SSH’a (hem IPv4 hem de IPv6) izin vermek için güvenlik gruplarını ayarlayın:

    $ openstack server list
    +--------------+-----------+---------------------------------------------------------------------------+------------+
    | ID           | Name      | Networks                                                                  | Image Name |
    +--------------+-----------+---------------------------------------------------------------------------+------------+
    | 97e49c8e-... | instance1 | network1=2001:db8:80d2:c4d3:f816:3eff:fe52:b69f, 198.51.100.3, 203.0.113.3| cirros     |
    | ceba9638-... | instance2 | network2=203.0.113.3, 2001:db8:a583:0:f816:3eff:fe42:1eeb, 203.0.113.4    | centos     |
    +--------------+-----------+---------------------------------------------------------------------------+------------+
    

Adres alanına bakmaksızın, yüzen IP’lere harici ağdan ping atılabilir:

$ ping -c 1 203.0.113.3
1 packets transmitted, 1 received, 0% packet loss, time 0ms
$ ping -c 1 203.0.113.4
1 packets transmitted, 1 received, 0% packet loss, time 0ms

Şimdi instance2``ye doğrudan ping atabilirsiniz çünkü ``instance2 harici ağ ile aynı adres alanını paylaşır:

Not

BGP yönlendirme, sunucularınız için otomatik olarak statik bir rota oluşturmak için kullanılabilir.

# ip route add 203.0.113.0/26 via 203.0.113.2
$ ping -c 1 203.0.113.3
1 packets transmitted, 1 received, 0% packet loss, time 0ms
# ip route add 2001:db8:a583::/64 via 2001:db8::1
$ ping6 -c 1 2001:db8:a583:0:f816:3eff:fe42:1eeb
1 packets transmitted, 1 received, 0% packet loss, time 0ms

Doğrudan instance1‘ye ping atamazsınız çünkü adres alanı eşleşmedi:

# ip route add 198.51.100.0/26 via 203.0.113.2
$ ping -c 1 198.51.100.3
1 packets transmitted, 0 received, 100% packet loss, time 0ms
# ip route add 2001:db8:80d2:c4d3::/64 via 2001:db8::1
$ ping6 -c 1 2001:db8:80d2:c4d3:f816:3eff:fe52:b69f
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Adres alanları ağlar arasında eşleşirse, pingler ve diğer trafik yönlendirmeleri doğrudan geçer. Alanlar ağlar arasında eşleşmiyorsa, yönlendirici trafiği durdurur veya alan sınırlarını aşmak için NAT uygular.

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.