본문 바로가기
서버/Cloud

오픈스택 클라우드 서버 구축(Stein)(7)-네트워크 서비스(Neutron) Configure Networking(FLAT/VXLAN)

by WYYOON 2023. 2. 2.
728x90
반응형
SMALL

# 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

 

728x90
반응형
SMALL