Lingkup alamat membangun kolam subnet. Sementara kolam subnet menyediakan mekanisme untuk mengendalikan alokasi alamat untuk subnet, lingkup alamat menunjukkan dimana alamat dapat dialihkan antara jaringan, mencegah penggunaan tumpang tindih alamat dalam dua subnet. Karena semua alamat dialokasikan dalam lingkup alamat tidak tumpang tindih, router neutron tidak men-NAT (Network Address Translation) antara jaringan proyek Anda dan jaringan eksternal Anda. Selama alamat dalam suatu kecocokan lingkup alamat, layanan Networking melakukan routing sederhana antar jaringan.
Siapapun dengan akses ke layanan Networking dapat membuat lingkup alamat mereka sendiri. Namun, administrator jaringan dapat membuat lingkup alamat bersama, yang memungkinkan proyek lain untuk membuat jaringan dalam lingkup alamat itu.
Akses ke alamat di lingkup dikelola melalui kolam subnet. Kolam subnet baik dapat dibuat dalam lingkup alamat, ataupun diperbarui milik lingkup alamat.
Dengan kolam subnet, semua alamat digunakan dalam lingkup alamat menjadi unik dari sudut pandang pemilik lingkup alamat. Oleh karena itu, tambahkan lebih dari satu subnet kolam untuk lingkup alamat jika kolam memiliki pemilik yang berbeda, yang memungkinkan untuk pendelegasian bagian dari lingkup alamat. Delegasi mencegah alamat tumpang tindih di seluruh lingkup. Jika tidak, Anda menerima pesan kesalahan jika dua kolam memiliki rentang alamat yang sama.
Setiap interface router dikaitkan dengan lingkup alamat dengan melihat subnet terhubung ke jaringan. Ketika router menghubungkan ke jaringan eksternal dengan pencocokan lingkup alamat, lalu lintas me-rute jaringan antar tanpa Network Address Translation (NAT). Router menandai semua koneksi lalu lintas yang berasal dari masing-masing antarmuka dengan lingkup alamat yang sesuai. Jika lalu lintas meninggalkan antarmuka dalam lingkup yang salah, router memblok lalu lintas.
Jaringan yang dibuat sebelum rilis Mitaka tidak mengandung secara eksplisit lingkup address bernama, kecuali jaringan berisi subnet dari kolam subnet milik lingkup alamat yang dibuat atau diperbarui. Layanan Networking mempertahankan kompatibilitas mundur dengan jaringan pra-Mitaka melalui sifat lingkup alamat khusus sehingga jaringan ini bisa melakukan routing canggih:
Tak terbatas tumpang tindih alamat diperbolehkan.
Router neutron, secara default, akan men-NAT (Network Address Translation) lalu lintas dari jaringan internal untuk jaringan eksternal.
Pre-Mitaka lingkup alamat tidak terlihat melalui API. Anda tidak bisa mendaftar lingkup alamat atau menunjukkan detail. Lingkup ada secara implisit sebagai catch-all untuk alamat yang tidak secara eksplisit terlingkup.
Bagian ini menunjukkan bagaimana pengguna non-hak istimewa dapat menggunakan lingkup alamat untuk rute langsung ke jaringan eksternal tanpa NAT (Network Address Translation).
Buat beberapa jaringan untuk subnet host:
$ neutron net-create network1
Created a new network:
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| id | f5a980d9-5521-438e-b831-0ebacba2b372 |
| name | network1 |
| subnets | |
+-------------------------+--------------------------------------+
$ neutron net-create network2
Created a new network:
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| id | 438e4f26-0e45-4b26-9797-57d0bd817953 |
| name | network2 |
| subnets | |
+-------------------------+--------------------------------------+
Buat subnet yang tidak terkait dengan kolam subnet atau lingkup alamat:
$ neutron subnet-create --name subnet-ip4-1 network1 198.51.100.0/26
Created a new subnet:
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| cidr | 198.51.100.0/26 |
| id | 48ed5c71-2a1d-4f73-b29e-371deec04d44 |
| name | subnet-ip4-1 |
| network_id | f5a980d9-5521-438e-b831-0ebacba2b372 |
| subnetpool_id | |
+-------------------+--------------------------------------+
$ neutron subnet-create --name subnet-ip6-1 network1 \
--ipv6-ra-mode slaac --ipv6-address-mode slaac \
--ip_version 6 2001:db8:80d2:c4d3::/64
Created a new subnet:
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| cidr | 2001:db8:80d2:c4d3::/64 |
| id | c9f0bb79-1d7b-435f-b362-05a9a7259aa6 |
| name | subnet-ip6-1 |
| network_id | f5a980d9-5521-438e-b831-0ebacba2b372 |
| subnetpool_id | |
+-------------------+--------------------------------------+
Buat subnet menggunakan subnet kolam terkait dengan lingkup alamat dari jaringan eksternal:
$ neutron subnet-create --name subnet-ip4-2 \
--subnetpool subnet-pool-ip4 network2
Created a new subnet:
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| cidr | 203.0.112.0/26 |
| id | deb36645-8d46-4c13-a489-1135174d8a8c |
| name | subnet-ip4-2 |
| network_id | 438e4f26-0e45-4b26-9797-57d0bd817953 |
| subnetpool_id | e2c4f12d-307f-4616-a4df-203a45e6cb7f |
+-------------------+--------------------------------------+
$ neutron subnet-create --name subnet-ip6-2 --ip_version 6 \
--ipv6-ra-mode slaac --ipv6-address-mode slaac \
--subnetpool subnet-pool-ip6 network2
Created a new subnet:
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| cidr | 2001:db8:a583::/64 |
| id | b157e288-748e-4c4b-9b2e-8b8e65241036 |
| name | subnet-ip6-2 |
| network_id | 438e4f26-0e45-4b26-9797-57d0bd817953 |
| subnetpool_id | 14813344-d11a-4896-906c-e4c378291058 |
+-------------------+--------------------------------------+
Dengan pembuatan subnet dari kolam subnet terlingkup (scoped), jaringan dikaitkan dengan lingkup alamat.
$ neutron net-show network2
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| id | 4f677ab6-32a1-452c-8feb-b0b6b7ed1a0f |
| ipv4_address_scope | 97702525-e145-40c8-8c8f-d415930d12ce |
| ipv6_address_scope | 13b83fb2-beb4-4533-9e12-4bf9a5721ef5 |
| name | network2 |
| subnets | d5d68ac3-3eaa-439e-b75b-0e0b2c1d221a |
| | 917f9360-a840-45c1-83a1-2a093bd7b376 |
+-------------------------+--------------------------------------+
Menghubungkan router untuk masing-masing subnet proyek yang telah dibuat, misalnya, menggunakan router disebut router1
:
$ neutron router-interface-add router1 subnet-ip4-1
Added interface 73d832e1-e4a7-4029-9a66-f4e0f4ba0e76 to router router1.
$ neutron router-interface-add router1 subnet-ip4-2
Added interface 94b4cdb2-875d-4ab3-9a6e-803c3626c4d9 to router router1.
$ neutron router-interface-add router1 subnet-ip6-1
Added interface f35c4541-d529-4bd8-af4e-1b069269c263 to router router1.
$ neutron router-interface-add router1 subnet-ip6-2
Added interface f5904a4b-9547-4c08-bc7e-bc5fc71a8db9 to router router1.
Contoh ini menunjukkan bagaimana untuk memeriksa konektivitas antara jaringan dengan lingkup alamat.
Meluncurkan dua instance, instance1
pada network1
and instance2
pada network2
. Mengasosiasikan alamat IP mengambang dengan kedua instance.
Atur kelompok keamanan untuk mengizinkan ping dan SSH (IPv4 dan IPv6):
$ nova list
+--------------+-----------+---------------------------------------------------------------------------+
| ID | Name | Networks |
+--------------+-----------+---------------------------------------------------------------------------+
| 97e49c8e-... | instance1 | network1=2001:db8:80d2:c4d3:f816:3eff:fe52:b69f, 198.51.100.3, 172.24.4.3 |
| ceba9638-... | instance2 | network2=203.0.112.3, 2001:db8:a583:0:f816:3eff:fe42:1eeb, 172.24.4.4 |
+--------------+-----------+---------------------------------------------------------------------------+
Terlepas dari lingkup alamat, IP mengambang dapat ping dari jaringan eksternal:
$ ping -c 1 172.24.4.3
1 packets transmitted, 1 received, 0% packet loss, time 0ms
$ ping -c 1 172.24.4.4
1 packets transmitted, 1 received, 0% packet loss, time 0ms
Anda sekarang dapat ping instance2
langsung karena share instance2
lingkup alamat sama dengan jaringan eksternal:
Catatan
Border Gateway Protocol (BGP) routing dapat digunakan untuk secara otomatis mengatur rute statis untuk instance Anda.
# ip route add 203.0.112.0/26 via 172.24.4.2
$ ping -c 1 203.0.112.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
Anda tidak bisa ping langsung instance1
karena lingkup alamat tidak cocok:
# ip route add 198.51.100.0/26 via 172.24.4.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
Jika lingkup alamat ada kesesuaian antar jaringan maka ping dan rute lalu lintas lainnya akan melalui langsung. Jika lingkup tidak cocok antar jaringan, router menjatuhkan lalu lintas ataupun menerapkan NAT untuk melintasi batas ruang lingkup.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.