OpenStack Bobcat : Neutron नेटवर्क (Geneve)2023/10/05 |
OpenStack नेटवर्क सेवा द्वारा वर्चुअल नेटवर्किंग कॉन्फ़िगर करें। (Neutron)
उदाहरण के लिए, यहां Geneve प्रकार की नेटवर्किंग कॉन्फ़िगर करें।
इनियंत्रण नोड, नेटवर्क नोड, नोड की गणना करें, कंप्यूट नोड पर बुनियादी सेटिंग्स कॉन्फ़िगर करें।
इसके अलावा, यह उदाहरण उस वातावरण पर आधारित है जिसमें नेटवर्क नोड और कंप्यूट नोड में 2 नेटवर्क इंटरफेस हैं।
और [eth1] बिना आईपी एड्रेस के भी चालू है, Netplan पर अनाम इंटरफ़ेस को बढ़ाने के लिए यहां [1] देखें। ------------+--------------------------+--------------------------+------------ | | | eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ dlp.srv.world ] | | [ network.srv.world ] | | [ node01.srv.world ] | | (Control Node) | | (Network Node) | | (Compute Node) | | | | | | | | MariaDB RabbitMQ | | Open vSwitch | | Libvirt | | Memcached Nginx | | Neutron Server | | Nova Compute | | Keystone httpd | | OVN-Northd | | Open vSwitch | | Glance Nova API | | Nginx | | OVN Metadata Agent | | | | | | OVN-Controller | +-----------------------+ +-----------+-----------+ +-----------+-----------+ eth1|(UP with no IP) eth1|(UP with no IP) |
[1] | नेटवर्क नोड और कंप्यूट नोड दोनों पर ब्रिज मैपिंग कॉन्फ़िगर करें। |
# ब्रिज जोड़ें ([br-eth1] के लिए कोई भी नाम जो आपको पसंद हो) root@network:~# ovs-vsctl add-br br-eth1
# पुल पर एक बंदरगाह जोड़ें # [eth1] को अपने परिवेश में बदलें root@network:~# ovs-vsctl add-port br-eth1 eth1
# पुल के लिए [physnet1] का नक्शा बनाएं ([physnet1] के लिए कोई भी नाम जो आपको पसंद हो) root@network:~# ovs-vsctl set open . external-ids:ovn-bridge-mappings=physnet1:br-eth1 |
[2] | एक वर्चुअल राउटर बनाएं. किसी भी नोड पर काम करना ठीक है. (यह उदाहरण कंट्रोल नोड पर है) |
root@dlp ~(keystone)# openstack router create router01 +-------------------------+--------------------------------------+ | Field | Value | +-------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2023-10-05T06:14:18Z | | description | | | enable_ndp_proxy | None | | external_gateway_info | null | | flavor_id | None | | id | e9fff0c0-4563-4f5b-b201-3691c9a7e3d8 | | name | router01 | | project_id | 39e8c6d7a2d14ee581902f0703a53b66 | | revision_number | 1 | | routes | | | status | ACTIVE | | tags | | | tenant_id | 39e8c6d7a2d14ee581902f0703a53b66 | | updated_at | 2023-10-05T06:14:18Z | +-------------------------+--------------------------------------+ |
[3] | आंतरिक नेटवर्क बनाएं और उपरोक्त राउटर के साथ जुड़ें। |
# आंतरिक नेटवर्क बनाएं root@dlp ~(keystone)# openstack network create private --provider-network-type geneve +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2023-10-05T06:14:52Z | | description | | | dns_domain | None | | id | 529ae54a-4bba-40a3-905d-2ca57557236a | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | False | | is_vlan_transparent | None | | mtu | 1442 | | name | private | | port_security_enabled | True | | project_id | 39e8c6d7a2d14ee581902f0703a53b66 | | provider:network_type | geneve | | provider:physical_network | None | | provider:segmentation_id | 5579 | | qos_policy_id | None | | revision_number | 1 | | router:external | Internal | | segments | None | | shared | False | | status | ACTIVE | | subnets | | | tags | | | tenant_id | 39e8c6d7a2d14ee581902f0703a53b66 | | updated_at | 2023-10-05T06:14:52Z | +---------------------------+--------------------------------------+ # आंतरिक नेटवर्क में सबनेट बनाएं root@dlp ~(keystone)# openstack subnet create private-subnet --network private \ --subnet-range 192.168.100.0/24 --gateway 192.168.100.1 \ --dns-nameserver 10.0.0.10 +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.100.2-192.168.100.254 | | cidr | 192.168.100.0/24 | | created_at | 2023-10-05T06:15:32Z | | description | | | dns_nameservers | 10.0.0.10 | | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.100.1 | | host_routes | | | id | e14c5e7d-41d0-4378-af0f-0993c4389593 | | ip_version | 4 | | ipv6_address_mode | None | | ipv6_ra_mode | None | | name | private-subnet | | network_id | 529ae54a-4bba-40a3-905d-2ca57557236a | | project_id | 39e8c6d7a2d14ee581902f0703a53b66 | | revision_number | 0 | | segment_id | None | | service_types | | | subnetpool_id | None | | tags | | | updated_at | 2023-10-05T06:15:32Z | +----------------------+--------------------------------------+ # उपरोक्त राउटर पर आंतरिक नेटवर्क सेट करें root@dlp ~(keystone)# openstack router add subnet router01 private-subnet
|
[4] | बाहरी नेटवर्क बनाएं और ऊपर दिए गए राउटर के साथ जुड़ें। |
# बाहरी नेटवर्क बनाएं root@dlp ~(keystone)# openstack network create \ --provider-physical-network physnet1 \ --provider-network-type flat --external public +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2023-10-05T06:16:17Z | | description | | | dns_domain | None | | id | 1d42f5e1-1ff2-4f70-8c48-8c7f6eae0672 | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | False | | is_vlan_transparent | None | | mtu | 1500 | | name | public | | port_security_enabled | True | | project_id | 39e8c6d7a2d14ee581902f0703a53b66 | | provider:network_type | flat | | provider:physical_network | physnet1 | | provider:segmentation_id | None | | qos_policy_id | None | | revision_number | 1 | | router:external | External | | segments | None | | shared | False | | status | ACTIVE | | subnets | | | tags | | | tenant_id | 39e8c6d7a2d14ee581902f0703a53b66 | | updated_at | 2023-10-05T06:16:17Z | +---------------------------+--------------------------------------+ # बाहरी नेटवर्क में सबनेट बनाएं root@dlp ~(keystone)# openstack subnet create public-subnet \ --network public --subnet-range 10.0.0.0/24 \ --allocation-pool start=10.0.0.200,end=10.0.0.254 \ --gateway 10.0.0.1 --dns-nameserver 10.0.0.10 --no-dhcp +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 10.0.0.200-10.0.0.254 | | cidr | 10.0.0.0/24 | | created_at | 2023-10-05T06:17:07Z | | description | | | dns_nameservers | 10.0.0.10 | | dns_publish_fixed_ip | None | | enable_dhcp | False | | gateway_ip | 10.0.0.1 | | host_routes | | | id | c192082c-f107-4eed-aafc-6e30b604e283 | | ip_version | 4 | | ipv6_address_mode | None | | ipv6_ra_mode | None | | name | public-subnet | | network_id | 1d42f5e1-1ff2-4f70-8c48-8c7f6eae0672 | | project_id | 39e8c6d7a2d14ee581902f0703a53b66 | | revision_number | 0 | | segment_id | None | | service_types | | | subnetpool_id | None | | tags | | | updated_at | 2023-10-05T06:17:07Z | +----------------------+--------------------------------------+ # ऊपर राउटर के लिए गेटवे सेट करें root@dlp ~(keystone)# openstack router set router01 --external-gateway public |
[5] | डिफ़ॉल्ट रूप से, सभी परियोजनाओं के लिए केवल बाहरी नेटवर्क तक पहुंच संभव है, लेकिन आंतरिक नेटवर्क के लिए, केवल [admin] परियोजनाएं ही इस तक पहुंच सकती हैं, इसलिए जिस परियोजना में आप उपयोगकर्ताओं को प्रवेश देना चाहते हैं उसे आंतरिक नेटवर्क तक पहुंच की अनुमति दें परियोजना का उपयोग। |
# नेटवर्क RBAC सूची दिखाएँ root@dlp ~(keystone)# openstack network rbac list +--------------------------------------+-------------+--------------------------------------+ | ID | Object Type | Object ID | +--------------------------------------+-------------+--------------------------------------+ | cac29e7b-30f1-4a94-a734-63a85183ab8e | network | 1d42f5e1-1ff2-4f70-8c48-8c7f6eae0672 | +--------------------------------------+-------------+--------------------------------------+ # RBAC विवरण # सभी प्रोजेक्ट केवल [access_as_external] तक पहुंच सकते हैं root@dlp ~(keystone)# openstack network rbac show cac29e7b-30f1-4a94-a734-63a85183ab8e +-------------------+--------------------------------------+ | Field | Value | +-------------------+--------------------------------------+ | action | access_as_external | | id | cac29e7b-30f1-4a94-a734-63a85183ab8e | | object_id | 1d42f5e1-1ff2-4f70-8c48-8c7f6eae0672 | | object_type | network | | project_id | 39e8c6d7a2d14ee581902f0703a53b66 | | target_project_id | * | +-------------------+--------------------------------------+ # नेटवर्क सूची दिखाएँ root@dlp ~(keystone)# openstack network list +--------------------------------------+---------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+--------------------------------------+ | 1d42f5e1-1ff2-4f70-8c48-8c7f6eae0672 | public | c192082c-f107-4eed-aafc-6e30b604e283 | | 529ae54a-4bba-40a3-905d-2ca57557236a | private | e14c5e7d-41d0-4378-af0f-0993c4389593 | +--------------------------------------+---------+--------------------------------------+ # प्रोजेक्ट सूची दिखाएं root@dlp ~(keystone)# openstack project list +----------------------------------+-----------+ | ID | Name | +----------------------------------+-----------+ | 04b6d7802d9043cbb09ceb31fd68987b | service | | 39e8c6d7a2d14ee581902f0703a53b66 | admin | | f30cd546632e484cb24414d83207694b | hiroshima | +----------------------------------+-----------+ # [hiroshima] प्रोजेक्ट को [private] के लिए [access_as_shared] अनुमति प्रदान करें root@dlp ~(keystone)# netID=$(openstack network list | grep private | awk '{ print $2 }') root@dlp ~(keystone)# prjID=$(openstack project list | grep hiroshima | awk '{ print $2 }') root@dlp ~(keystone)# openstack network rbac create --target-project $prjID --type network --action access_as_shared $netID +-------------------+--------------------------------------+ | Field | Value | +-------------------+--------------------------------------+ | action | access_as_shared | | id | 34b5931e-6227-4a54-8e02-a6c9ba362017 | | object_id | 529ae54a-4bba-40a3-905d-2ca57557236a | | object_type | network | | project_id | 39e8c6d7a2d14ee581902f0703a53b66 | | target_project_id | f30cd546632e484cb24414d83207694b | +-------------------+--------------------------------------+ |
[6] | उस उपयोगकर्ता के साथ लॉगिन करें जो उस प्रोजेक्ट में है जिसे आपने आंतरिक नेटवर्क तक पहुंच की अनुमति दी है और एक इंस्टेंस बनाएं और बूट करें। |
# उपलब्ध [flavor] सूची की पुष्टि करें ubuntu@dlp ~(keystone)$ openstack flavor list +----+-----------+------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +----+-----------+------+------+-----------+-------+-----------+ | 1 | m1.small | 2048 | 10 | 0 | 1 | True | | 2 | m1.medium | 4096 | 10 | 0 | 2 | True | | 3 | m1.large | 8192 | 10 | 0 | 4 | True | | 4 | m2.large | 8192 | 20 | 0 | 4 | True | +----+-----------+------+------+-----------+-------+-----------+ # उपलब्ध छवि सूची की पुष्टि करें ubuntu@dlp ~(keystone)$ openstack image list +--------------------------------------+------------+--------+ | ID | Name | Status | +--------------------------------------+------------+--------+ | 2216b5ad-eeb5-4b9a-b862-60b84fdfee1c | Ubuntu2204 | active | +--------------------------------------+------------+--------+ # उपलब्ध नेटवर्क सूची की पुष्टि करें ubuntu@dlp ~(keystone)$ openstack network list +--------------------------------------+---------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+--------------------------------------+ | 1d42f5e1-1ff2-4f70-8c48-8c7f6eae0672 | public | c192082c-f107-4eed-aafc-6e30b604e283 | | 529ae54a-4bba-40a3-905d-2ca57557236a | private | e14c5e7d-41d0-4378-af0f-0993c4389593 | +--------------------------------------+---------+--------------------------------------+ # उदाहरण के लिए एक सुरक्षा समूह बनाएं ubuntu@dlp ~(keystone)$ openstack security group create secgroup01 +-----------------+----------------------------------------------------------------------------+ | Field | Value | +-----------------+----------------------------------------------------------------------------+ | created_at | 2023-10-05T06:25:22Z | | description | secgroup01 | | id | 6419ddb0-1d7b-4eae-9060-ab8038dc7978 | | name | secgroup01 | | project_id | f30cd546632e484cb24414d83207694b | | revision_number | 1 | | rules | created_at='2023-10-05T06:25:23Z', direction='egress', ethertype='IPv6'... | | | created_at='2023-10-05T06:25:23Z', direction='egress', ethertype='IPv4'... | | shared | False | | stateful | True | | tags | [] | | updated_at | 2023-10-05T06:25:23Z | +-----------------+----------------------------------------------------------------------------+ # इंस्टेंस से कनेक्ट करने के लिए एक SSH कीपेयर बनाएं ubuntu@dlp ~(keystone)$ ssh-keygen -q -N "" Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): # सार्वजनिक कुंजी जोड़ें ubuntu@dlp ~(keystone)$ openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey +-------------+-------------------------------------------------+ | Field | Value | +-------------+-------------------------------------------------+ | created_at | None | | fingerprint | fa:13:7b:42:7c:95:cf:62:f0:4a:db:ff:6b:8e:7a:d8 | | id | mykey | | is_deleted | None | | name | mykey | | type | ssh | | user_id | 470c9323dad64bbea8fb5ecca6381f72 | +-------------+-------------------------------------------------+ubuntu@dlp ~(keystone)$ netID=$(openstack network list | grep private | awk '{ print $2 }')
ubuntu@dlp ~(keystone)$
ubuntu@dlp ~(keystone)$ openstack server create --flavor m1.medium --image Ubuntu2204 --security-group secgroup01 --nic net-id=$netID --key-name mykey Ubuntu-2204
openstack server list +--------------------------------------+-------------+--------+------------------------+------------+-----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-------------+--------+------------------------+------------+-----------+ | 530698ed-413e-4bda-b02e-8f6f60380bd1 | Ubuntu-2204 | ACTIVE | private=192.168.100.79 | Ubuntu2204 | m1.medium | +--------------------------------------+-------------+--------+------------------------+------------+-----------+ |
[7] | उपरोक्त उदाहरण के लिए फ़्लोटिंग आईपी पता निर्दिष्ट करें। |
ubuntu@dlp ~(keystone)$ openstack floating ip create public +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | created_at | 2023-10-05T06:27:47Z | | description | | | dns_domain | | | dns_name | | | fixed_ip_address | None | | floating_ip_address | 10.0.0.222 | | floating_network_id | 1d42f5e1-1ff2-4f70-8c48-8c7f6eae0672 | | id | 84d58c41-25e5-45f2-a072-07091eb074a8 | | name | 10.0.0.222 | | port_details | None | | port_id | None | | project_id | f30cd546632e484cb24414d83207694b | | qos_policy_id | None | | revision_number | 0 | | router_id | None | | status | DOWN | | subnet_id | None | | tags | [] | | updated_at | 2023-10-05T06:27:47Z | +---------------------+--------------------------------------+
ubuntu@dlp ~(keystone)$
openstack server add floating ip Ubuntu-2204 10.0.0.222
# सेटिंग्स की पुष्टि करें ubuntu@dlp ~(keystone)$ openstack floating ip show 10.0.0.222 +---------------------+---------------------------------------------------------------------------+ | Field | Value | +---------------------+---------------------------------------------------------------------------+ | created_at | 2023-10-05T06:27:47Z | | description | | | dns_domain | | | dns_name | | | fixed_ip_address | 192.168.100.79 | | floating_ip_address | 10.0.0.222 | | floating_network_id | 1d42f5e1-1ff2-4f70-8c48-8c7f6eae0672 | | id | 84d58c41-25e5-45f2-a072-07091eb074a8 | | name | 10.0.0.222 | | port_details | admin_state_up='True', device_id='530698ed-413e-4bda-b02e-8f6f60380bd1... | | port_id | bfc2108d-94ad-46bd-8a50-931a61e16dae | | project_id | f30cd546632e484cb24414d83207694b | | qos_policy_id | None | | revision_number | 2 | | router_id | e9fff0c0-4563-4f5b-b201-3691c9a7e3d8 | | status | ACTIVE | | subnet_id | None | | tags | [] | | updated_at | 2023-10-05T06:28:36Z | +---------------------+---------------------------------------------------------------------------+ubuntu@dlp ~(keystone)$ openstack server list +--------------------------------------+-------------+--------+------------------------------------+------------+-----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-------------+--------+------------------------------------+------------+-----------+ | 530698ed-413e-4bda-b02e-8f6f60380bd1 | Ubuntu-2204 | ACTIVE | private=10.0.0.222, 192.168.100.79 | Ubuntu2204 | m1.medium | +--------------------------------------+-------------+--------+------------------------------------+------------+-----------+ |
[8] | SSH और ICMP तक पहुँचने के लिए आपके द्वारा ऊपर बनाए गए सुरक्षा समूह के लिए सुरक्षा सेटिंग्स कॉन्फ़िगर करें। |
# अनुमति ICMP ubuntu@dlp ~(keystone)$ openstack security group rule create --protocol icmp --ingress secgroup01 +-------------------------+--------------------------------------+ | Field | Value | +-------------------------+--------------------------------------+ | created_at | 2023-10-05T06:29:55Z | | description | | | direction | ingress | | ether_type | IPv4 | | id | bd8cac55-790b-4721-8677-df88236c3e6c | | name | None | | normalized_cidr | 0.0.0.0/0 | | port_range_max | None | | port_range_min | None | | project_id | f30cd546632e484cb24414d83207694b | | protocol | icmp | | remote_address_group_id | None | | remote_group_id | None | | remote_ip_prefix | 0.0.0.0/0 | | revision_number | 0 | | security_group_id | 6419ddb0-1d7b-4eae-9060-ab8038dc7978 | | tags | [] | | updated_at | 2023-10-05T06:29:55Z | +-------------------------+--------------------------------------+ # अनुमति SSH ubuntu@dlp ~(keystone)$ openstack security group rule create --protocol tcp --dst-port 22:22 secgroup01 +-------------------------+--------------------------------------+ | Field | Value | +-------------------------+--------------------------------------+ | created_at | 2023-10-05T06:30:21Z | | description | | | direction | ingress | | ether_type | IPv4 | | id | 3da3b7d3-a097-4a59-b079-29405aa492cf | | name | None | | normalized_cidr | 0.0.0.0/0 | | port_range_max | 22 | | port_range_min | 22 | | project_id | f30cd546632e484cb24414d83207694b | | protocol | tcp | | remote_address_group_id | None | | remote_group_id | None | | remote_ip_prefix | 0.0.0.0/0 | | revision_number | 0 | | security_group_id | 6419ddb0-1d7b-4eae-9060-ab8038dc7978 | | tags | [] | | updated_at | 2023-10-05T06:30:21Z | +-------------------------+--------------------------------------+ubuntu@dlp ~(keystone)$ openstack security group rule list secgroup01 +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | ID | IP Protocol | Ethertype | IP Range | Port Range | Direction | Remote Security Group | Remote Address Group | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | 2bc38ad9-63c5-4051-aa88-4f37be992dc5 | None | IPv6 | ::/0 | | egress | None | None | | 3da3b7d3-a097-4a59-b079-29405aa492cf | tcp | IPv4 | 0.0.0.0/0 | 22:22 | ingress | None | None | | a98e9d26-c547-4365-ac06-09ddbce26f7b | None | IPv4 | 0.0.0.0/0 | | egress | None | None | | bd8cac55-790b-4721-8677-df88236c3e6c | icmp | IPv4 | 0.0.0.0/0 | | ingress | None | None | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ |
[9] | SSH के साथ फ़्लोटिंग आईपी पते से कनेक्ट करने के लिए इंस्टेंस में लॉग इन करना संभव है। |
ubuntu@dlp ~(keystone)$ openstack server list +--------------------------------------+-------------+--------+------------------------------------+------------+-----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-------------+--------+------------------------------------+------------+-----------+ | 530698ed-413e-4bda-b02e-8f6f60380bd1 | Ubuntu-2204 | ACTIVE | private=10.0.0.222, 192.168.100.79 | Ubuntu2204 | m1.medium | +--------------------------------------+-------------+--------+------------------------------------+------------+-----------+ubuntu@dlp ~(keystone)$ ssh ubuntu@10.0.0.222 The authenticity of host '10.0.0.222 (10.0.0.222)' can't be established. ED25519 key fingerprint is SHA256:LpZUac9dTJyLg6jYLLdV/nJwLOmayjK+XAb/8v+n5TM. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.0.222' (ED25519) to the list of known hosts. Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-84-generic x86_64) ..... ..... To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. ubuntu@ubuntu-2204:~$ # लॉगिन किया गया |
Sponsored Link |