Jika Anda memilih opsi 2 jaringan, Anda juga dapat membuat self-service (private) jaringan yang terhubung ke jaringan infrastruktur fisik melalui NAT. Jaringan ini mencakup server DHCP yang menyediakan alamat IP untuk instance. Sebuah instance pada jaringan ini dapat secara otomatis mengakses jaringan eksternal seperti Internet. Namun, akses ke sebuah instance pada jaringan ini dari jaringan eksternal seperti Internet membutuhkan floating IP address.
Demo atau ‘unprivileged user’ lainnya dapat membuat jaringan ini karena memberikan konektivitas ke instance dalam proyek demo saja.
Peringatan
Anda harus create the provider network sebelum jaringan self-service.
Catatan
Petunjuk dan diagram berikut menggunakan rentang alamat IP contoh. Anda harus menyesuaikan mereka untuk lingkungan tertentu Anda.
Pada ‘controller node’, dapatkan source kredensial demo untuk mendapatkan akses ke command CLI user-only:
$ . demo-openrc
Buat jaringan:
$ neutron net-create selfservice
Created a new network:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| id | 7c6f9b37-76b4-463e-98d8-27e5686ed083 |
| mtu | 0 |
| name | selfservice |
| port_security_enabled | True |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | f5b2ccaa75ac413591f12fcaa096aa5c |
+-----------------------+--------------------------------------+
User non-privileged biasanya tidak dapat menyediakan parameter tambahan untuk command ini. Layanan ini secara otomatis memilih parameter menggunakan informasi dari file-file berikut:
ml2_conf.ini:
[ml2]
tenant_network_types = vxlan
[ml2_type_vxlan]
vni_ranges = 1:1000
Buat subnet pada jaringan:
$ neutron subnet-create --name selfservice \
--dns-nameserver DNS_RESOLVER --gateway SELFSERVICE_NETWORK_GATEWAY \
selfservice SELFSERVICE_NETWORK_CIDR
Ganti DNS_RESOLVER dengan alamat IP dari DNS resolver. Dalam kebanyakan kasus, Anda dapat menggunakan salah satu dari file /etc/resolv.conf pada host.
Ganti SELFSERVICE_NETWORK_GATEWAY dengan gateway yang ingin Anda gunakan pada jaringan self-service, biasanya alamat IP”.1” .
Ganti SELFSERVICE_NETWORK_CIDR dengan subnet yang ingin Anda gunakan pada jaringan self-service. Anda dapat menggunakan nilai semaunya, meskipun kami merekomendasikan jaringan dari RFC 1918 <https://tools.ietf.org/html/rfc1918> _.
Contoh
Jaringan self-service menggunakan 172.16.1.0/24 dengan gateway di 172.16.1.1. Sebuah server DHCP memberikan setiap instance alamat IP dari 172.16.1.2 sampai 172.16.1.254. Semua instance menggunakan 8.8.4.4 sebagai resolver DNS.
$ neutron subnet-create --name selfservice \
--dns-nameserver 8.8.4.4 --gateway 172.16.1.1 \
selfservice 172.16.1.0/24
Created a new subnet:
+-------------------+------------------------------------------------+
| Field | Value |
+-------------------+------------------------------------------------+
| allocation_pools | {"start": "172.16.1.2", "end": "172.16.1.254"} |
| cidr | 172.16.1.0/24 |
| dns_nameservers | 8.8.4.4 |
| enable_dhcp | True |
| gateway_ip | 172.16.1.1 |
| host_routes | |
| id | 3482f524-8bff-4871-80d4-5774c2730728 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | selfservice |
| network_id | 7c6f9b37-76b4-463e-98d8-27e5686ed083 |
| subnetpool_id | |
| tenant_id | f5b2ccaa75ac413591f12fcaa096aa5c |
+-------------------+------------------------------------------------+
Jaringan self-service terhubung ke jaringan provider menggunakan router virtual yang biasanya melakukan NAT dua arah. Setiap router berisi sebuah interface setidaknya satu jaringan self-service dan gateway pada jaringan provider.
Jaringan provider harus menyertakan opsi router:external untuk mengaktifkan router self-service menggunakannya untuk konektivitas ke jaringan eksternal seperti Internet. The `` admin`` atau user istimewa lainnya harus menyertakan opsi ini selama pembuatan jaringan atau menambahkannya nanti. Dalam hal ini, kita dapat menambahkannya ke jaringan provider provider yang ada.
Pada ‘controller node’, dapatkan sumber kredensial admin untuk mendapatkan akses ke commands CLI admin-only:
$ . admin-openrc
Tambah opsi router:external ke jaringan provider:
$ neutron net-update provider --router:external
Updated network: provider
Dapatkan sumber kredensial demo untuk mendapatkan akses ke command CLI user-only:
$ . demo-openrc
Buat router:
$ neutron router-create router
Created a new router:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| external_gateway_info | |
| id | 89dd2083-a160-4d75-ab3a-14239f01ea0b |
| name | router |
| routes | |
| status | ACTIVE |
| tenant_id | f5b2ccaa75ac413591f12fcaa096aa5c |
+-----------------------+--------------------------------------+
Tambah subnet jaringan self-service sebagai interface pada router:
$ neutron router-interface-add router selfservice
Added interface bff6605d-824c-41f9-b744-21d128fc86e1 to router router.
Mengatur gateway pada jaringan provider pada router:
$ neutron router-gateway-set router provider
Set gateway for router router
Kami menyarankan Anda memverifikasi operasi dan memperbaiki masalah apapun sebelum melanjutkan. Langkah-langkah berikut menggunakan range alamat IP dari contoh pembuatan jaringan dan subnet.
Pada ‘controller node’, dapatkan sumber kredensial admin untuk mendapatkan akses ke commands CLI admin-only:
$ . admin-openrc
Lihat daftar namespace jaringan. Anda akan melihat salah satu namespace qrouter dan dua namespace qdhcp.
$ ip netns
qrouter-89dd2083-a160-4d75-ab3a-14239f01ea0b
qdhcp-7c6f9b37-76b4-463e-98d8-27e5686ed083
qdhcp-0e62efcd-8cee-46c7-b163-d8df05c3c5ad
Lihat daftar port pada router untuk menentukan alamat IP gateway di jaringan provider:
$ neutron router-port-list router
+--------------------------------------+------+-------------------+------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------+-------------------+------------------------------------------+
| bff6605d-824c-41f9-b744-21d128fc86e1 | | fa:16:3e:2f:34:9b | {"subnet_id": |
| | | | "3482f524-8bff-4871-80d4-5774c2730728", |
| | | | "ip_address": "172.16.1.1"} |
| d6fe98db-ae01-42b0-a860-37b1661f5950 | | fa:16:3e:e8:c1:41 | {"subnet_id": |
| | | | "5cc70da8-4ee7-4565-be53-b9c011fca011", |
| | | | "ip_address": "203.0.113.102"} |
+--------------------------------------+------+-------------------+------------------------------------------+
Lakukan ping alamat IP ini dari ‘controller node’ atau host di jaringan provider fisik:
$ ping -c 4 203.0.113.102
PING 203.0.113.102 (203.0.113.102) 56(84) bytes of data.
64 bytes from 203.0.113.102: icmp_req=1 ttl=64 time=0.619 ms
64 bytes from 203.0.113.102: icmp_req=2 ttl=64 time=0.189 ms
64 bytes from 203.0.113.102: icmp_req=3 ttl=64 time=0.165 ms
64 bytes from 203.0.113.102: icmp_req=4 ttl=64 time=0.216 ms
--- 203.0.113.102 ping statistics ---
rtt min/avg/max/mdev = 0.165/0.297/0.619/0.187 ms
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.