# Controller Node 설정
1) Change settings on Control Node.
[root@Controller ~(keystone)]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 마지막 줄 tenant_network_types 수정
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vxlan
# 마지막 줄에 추가
[ml2_type_flat]
flat_networks = physnet1
[ml2_type_vxlan]
vni_ranges = 1:1000
[root@Controller ~(keystone)]# systemctl restart neutron-server
# Network Node 설정
1) Change settings on Network Node.
# add bridge
[root@network ~]# ovs-vsctl add-br br-eth1
# add eth1 to the port of the bridge above
[root@network ~]# ovs-vsctl add-port br-eth1 eth1
[root@network ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 마지막 줄 tenant_network_types 수정
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vxlan
마지막 줄 tenant_network_types 수정
[ml2_type_flat]
flat_networks = physnet1
[ml2_type_vxlan]
vni_ranges = 1:1000
[root@network ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
# 마지막 줄 추가
[agent]
tunnel_types = vxlan
prevent_arp_spoofing = True
[ovs]
# specify IP address of this host for local_ip
local_ip = 10.0.0.50
bridge_mappings = physnet1:br-eth1
[root@network ~]# for service in dhcp-agent l3-agent metadata-agent openvswitch-agent; do
systemctl restart neutron-$service
done
[root@network ~]# systemctl stop firewalld
[root@network ~]# systemctl disable firewalld
# Computer 설정
1) Change settings on Compute Node.
[root@Compute ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 마지막 줄 tenant_network_types 수정
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vxlan
#마지막 줄 추가
[ml2_type_flat]
flat_networks = physnet1
[ml2_type_vxlan]
vni_ranges = 1:1000
[root@Compute ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
#마지막 줄 추가
[agent]
tunnel_types = vxlan
prevent_arp_spoofing = True
[ovs]
local_ip = 10.0.0.51
[root@Compute ~]# systemctl restart neutron-openvswitch-agent
[root@Compute ~]# systemctl stop firewalld
[root@Compute ~]# systemctl disable firewalld
# Controller Node 설정
1) Create virtual network.
[root@controller ~(keystone)]# projectID=$(openstack project list | grep service | awk '{print $2}')
# create network named [sharednet1]
[root@controller ~(keystone)]# openstack network create --project $projectID \
--share --provider-network-type flat --provider-physical-network physnet1 sharednet1
+---------------------------+------------------------------------------------------------------------+
| Field | Value |
+---------------------------+------------------------------------------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2022-08-22T02:15:17Z |
| description | |
| dns_domain | None |
| id | 4c2ee747-c9f8-4bbb-b1a1-5fa8752a7878 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | False |
| is_vlan_transparent | None |
| location | Munch({'project': Munch({'domain_name': None, 'domain_id': None, ...}) |
| mtu | 1500 |
| name | sharednet1 |
| port_security_enabled | True |
| project_id | c5e87c9b460e4f16801b4102019c97e6 |
| provider:network_type | flat |
| provider:physical_network | physnet1 |
| provider:segmentation_id | None |
| qos_policy_id | None |
| revision_number | 1 |
| router:external | Internal |
| segments | None |
| shared | True |
| status | ACTIVE |
| subnets | |
| tags | |
| updated_at | 2022-08-22T02:15:17Z |
+---------------------------+------------------------------------------------------------------------+
# create subnet [10.0.0.0/24] in [sharednet1]
[root@controller ~(keystone)]# openstack subnet create subnet1 --network sharednet1 \
--project $projectID --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 168.126.63.1
+-------------------+-----------------------------------------------------------------------------------+
| Field | Value |
+-------------------+-----------------------------------------------------------------------------------+
| allocation_pools | 10.0.0.200-10.0.0.254 |
| cidr | 10.0.0.0/24 |
| created_at | 2022-08-22T02:15:17Z |
| description | |
| dns_nameservers | 10.0.0.10 |
| enable_dhcp | True |
| gateway_ip | 10.0.0.1 |
| host_routes | |
| id | 630959d2-cdee-41e4-8501-626064ad1d0f |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| location | Munch({'project': Munch({'domain_name': None, 'domain_id': None, 'name': None...) |
| name | subnet1 |
| network_id | 4c2ee747-c9f8-4bbb-b1a1-5fa8752a7878 |
| prefix_length | None |
| project_id | c5e87c9b460e4f16801b4102019c97e6 |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2022-08-22T02:15:17Z |
+-------------------+-----------------------------------------------------------------------------------+
# confirm settings
[root@controller ~(keystone)]# openstack network list
+--------------------------------------+------------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+------------+--------------------------------------+
| 4c2ee747-c9f8-4bbb-b1a1-5fa8752a7878 | sharednet1 | 630959d2-cdee-41e4-8501-626064ad1d0f |
+--------------------------------------+------------+--------------------------------------+
[root@controller ~(keystone)]# openstack subnet list
+--------------------------------------+---------+--------------------------------------+-------------+
| ID | Name | Network | Subnet |
+--------------------------------------+---------+--------------------------------------+-------------+
| 630959d2-cdee-41e4-8501-626064ad1d0f | subnet1 | 4c2ee747-c9f8-4bbb-b1a1-5fa8752a7878 | 10.0.0.0/24 |
+--------------------------------------+---------+--------------------------------------+-------------+
2) Create a Virtual router.
[root@Controller ~(keystone)]# openstack router create router01
+-------------------------+--------------------------------------------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2019-05-16T05:41:10Z |
| description | |
| distributed | False |
| external_gateway_info | None |
| flavor_id | None |
| ha | False |
| id | 456ca41b-e509-4ac6-8575-a1732ded9968 |
| location | Munch({'project': Munch({'domain_name': 'default', 'domain_id': Non...}) |
| name | router01 |
| project_id | 183a5ed32a77427986038c176b605d73 |
| revision_number | 1 |
| routes | |
| status | ACTIVE |
| tags | |
| updated_at | 2022-08-25T05:41:10Z |
+-------------------------+--------------------------------------------------------------------------+
3) Create internal network and associate with the router above.
[root@Controller ~(keystone)]# openstack network create int_net --provider-network-type vxlan
+---------------------------+------------------------------------------------------------------------+
| Field | Value |
+---------------------------+------------------------------------------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2019-05-16T05:41:45Z |
| description | |
| dns_domain | None |
| id | c9377689-558e-4f2a-9334-17a3b9fa1b87 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | False |
| is_vlan_transparent | None |
| location | Munch({'project': Munch({'domain_name': 'default', 'domain_id': N...}) |
| mtu | 1450 |
| name | int_net |
| port_security_enabled | True |
| project_id | 183a5ed32a77427986038c176b605d73 |
| provider:network_type | vxlan |
| provider:physical_network | None |
| provider:segmentation_id | 36 |
| qos_policy_id | None |
| revision_number | 1 |
| router:external | Internal |
| segments | None |
| shared | False |
| status | ACTIVE |
| subnets | |
| tags | |
| updated_at | 2019-05-16T05:41:45Z |
+---------------------------+------------------------------------------------------------------------+
# create subnet in the internal network
[root@Controller ~(keystone)]# openstack subnet create subnet1 --network int_net \
--subnet-range 192.168.100.0/24 --gateway 192.168.100.1 \
--dns-nameserver 168.126.63.1
+-------------------+--------------------------------------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------------------------------------+
| allocation_pools | 192.168.100.2-192.168.100.254 |
| cidr | 192.168.100.0/24 |
| created_at | 2019-05-16T05:42:34Z |
| description | |
| dns_nameservers | 10.0.0.10 |
| enable_dhcp | True |
| gateway_ip | 192.168.100.1 |
| host_routes | |
| id | b4dda943-e57b-4455-88dd-c3308c2ac30c |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| location | Munch({'project': Munch({'domain_name': 'default', 'domain_id': None, 'na...}) |
| name | subnet1 |
| network_id | c9377689-558e-4f2a-9334-17a3b9fa1b87 |
| prefix_length | None |
| project_id | 183a5ed32a77427986038c176b605d73 |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2019-05-16T05:42:34Z |
+-------------------+--------------------------------------------------------------------------------+
# set internal network to the router above
[root@Controller ~(keystone)]# openstack router add subnet router01 subnet1
4) Create external network and associate with the router above.
[root@Controller ~(keystone)]# openstack network create \
--provider-physical-network physnet1 \
--provider-network-type flat --external ext_net
+---------------------------+------------------------------------------------------------------------+
| Field | Value |
+---------------------------+------------------------------------------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2019-05-16T05:43:33Z |
| description | |
| dns_domain | None |
| id | 85844309-e89a-49cb-8ec7-730a8e6d253c |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | False |
| is_vlan_transparent | None |
| location | Munch({'project': Munch({'domain_name': 'default', 'domain_id': N...}) |
| mtu | 1500 |
| name | ext_net |
| port_security_enabled | True |
| project_id | 183a5ed32a77427986038c176b605d73 |
| 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 | |
| updated_at | 2019-05-16T05:43:33Z |
+---------------------------+------------------------------------------------------------------------+
# create subnet in external network
[root@Controller ~(keystone)]# openstack subnet create subnet2 \
--network ext_net --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 168.126.63.1 --no-dhcp
+-------------------+--------------------------------------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------------------------------------+
| allocation_pools | 10.0.0.200-10.0.0.254 |
| cidr | 10.0.0.0/24 |
| created_at | 2019-05-16T05:44:13Z |
| description | |
| dns_nameservers | 10.0.0.10 |
| enable_dhcp | False |
| gateway_ip | 10.0.0.1 |
| host_routes | |
| id | 7bcaa30a-261c-41bb-bcab-f88c711f98a8 |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| location | Munch({'project': Munch({'domain_name': 'default', 'domain_id': None, 'na...}) |
| name | subnet2 |
| network_id | 85844309-e89a-49cb-8ec7-730a8e6d253c |
| prefix_length | None |
| project_id | 183a5ed32a77427986038c176b605d73 |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2019-05-16T05:44:13Z |
+-------------------+--------------------------------------------------------------------------------+
[root@Controller ~(keystone)]# openstack router set router01 --external-gateway ext_net
'서버 > Cloud' 카테고리의 다른 글
오픈스택 클라우드 서버 구축(Stein)(9)-LBaaS V2 설치 및 설정 (0) | 2023.02.02 |
---|---|
오픈스택 클라우드 서버 구축(Stein)(8)-Dashboard 설치 및 설정 (0) | 2023.02.02 |
오픈스택 클라우드 서버 구축(Stein)(6)-네트워크 서비스(Neutron) 설치 및 설정 (0) | 2023.02.02 |
오픈스택 클라우드 서버 구축(Stein)(5)-컴퓨트 서비스(Nova) 설치 및 설정 (0) | 2023.02.02 |
오픈스택 클라우드 서버 구축(Stein)(4)-이미지 서비스(Glance) 설치 및 설정 (0) | 2023.02.02 |