การสร้าง Subnet Pool และ Address Scope บน OpenStack Mitaka

ใน OpenStack

Subnet Pool คือการกำหนด range ของ subnet ที่สามารถถูก allocate ให้กับ network โดยอัตโนมัติ

Address Scope คือการทำให้ Subnet ที่ถูกส้างขึ้นใน Subnet Pool ติดต่อ route ข้อมูลถึงกันและกันได้

ขั้นตอนมีดังนี้ สมมุติว่าผมมี user ใน OpenStack คือ kasidituser และผมต้องการสร้าง network ขึ้นสอง network เป็น self service network โดยสร้างและ allocate subnet จาก subnet pool ผมสามารถทำดังนี้

1. สร้าง vm instance ชื่อ front ขึ้นมา 1 vm และให้มี network คือ provider network ถ้าผมจะใช้คำสั่ง commandline ผมต้องทำดังนี้ download ไฟล์ kasidituser-openrc.sh จาก OpenStack dashboard’s “Access & Security” tab ให้ก้อปมาที่เครื่อง front และ

$ sudo apt-get update 
$ sudo apt-get install python3-openstackclient
...
$ source ./kasidituser-openrc.sh
$ 

2. หลังจากนั้นให้ สร้าง subnetpool ที่จะให้ subnet ทีละ 1 Class C โดยขนาดของ pool กำหนดด้วยความแตกต่างของ pool-prefix และ default prefixlen

$ neutron subnetpool-create --address-scope address-scope-ip4 --pool-prefix 10.0.0.0/18 --default-prefixlen 24 subnet-pool-ip4

3. สร้าง network 2 networks และ assign subnet ให้ทั้งสอง

$ neutron net-create network1
$ neutron net-create network2
$ neutron subnet-create --name subnet-ip4-1 --subnetpool subnet-pool-ip4 network1
$ neutron subnet-create --name subnet-ip4-2 --subnetpool subnet-pool-ip4 network2

4. สร้าง router ชื่อ router1 และ set gateway ให้ต่อออก provider network

$ neutron net-list
$ neutron router-create router1
$ neutron router-gateway-set router1 provider 

5. เชื่อมต่อ network1 และ network2 เข้ากับ router

$ neutron router-interface-add router1 subnet-ip4-1
$ neutron router-interface-add router1 subnet-ip4-2

หลังจากนั้น ให้คุณสร้าง vm instance1 บน network1 และ vm instance2 บน network2 และ ping กันและกันโดยใช้ fix IP ของ vm เหล่านั้น ทำได้

ถ้าไม่ได้สร้าง subnet pool ด้วย address scope จะทำไม่ได้ จบ

Leave a Reply