네트워킹 옵션 2: 셀프 서비스 네트워크
페이지 정보
작성자 jkchoi 작성일 21-07-16 09:26 조회 5,279 댓글 0본문
1. 구성요소 설치
# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
2. 서버 구성요소 구성
/etc/neutron/neutron.conf 파일을 수정하고 다음 작업을 완료합니다
1) [database] 섹션에서, 데이터베이스 액세스를 구성합니다
[database]
# ...
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
NEUTRON_DBPASS 를 데이터베이스에 대해 선택한 암호로 변경합니다.
[database] 섹션 내 다른 connection 옵션들을 주석 처리 또는 제거합니다.
2) [DEFAULT] 섹션에서 Modular Layer 2 (ML2) 플러그인, 라우터 서비스 및 overlapping IP 주소를 활성화합니다
[DEFAULT]
# ...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
3) [DEFAULT] 섹션에서, RabbitMQ 메시지 큐 액세스를 구성합니다
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
RabbitMQ의 openstack 계정의 암호로 RABBIT_PASS 를 변경합니다.
4) [DEFAULT] 및 [keystone_authtoken] 섹션에서는, Identity 서비스 액세스를 구성합니다
[DEFAULT]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
Identity 서비스에서 neutron 사용자의 암호로 NEUTRON_PASS 를 변경합니다.
[keystone_authtoken] 섹션 내 다른 옵션들을 주석 처리 또는 제거합니다.
5) [DEFAULT] 와 [nova] 섹션에서 네트워크 토폴로지 변경이 발생했을 때 Compute에 알려주도록 네트워킹을 구성합니다
[DEFAULT]
# ...
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[nova]
# ...
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS
Identity 서비스에서 nova 사용자의 암호로 NOVA_PASS 를 변경합니다.
6) [oslo_concurrency] 섹션에서, lock 경로를 구성합니다
[oslo_concurrency]
# ...
lock_path = /var/lib/neutron/tmp
3. Modular Layer 2 (ML2) 플러그인 구성
ML2 플러그인은 인스턴스에 대한 layer-2 (브리징과 스위칭) 가상 네트워킹 인프라를 구축하여 리눅스 브릿지 메커니즘을 사용합니다.
/etc/neutron/plugins/ml2/ml2_conf.ini 파일을 수정하고 다음 작업을 진행합니다
1) [ml2] 섹션에서 flat, VLAN, XVLAN 네트워크를 활성화합니다
[ml2]
# ...
type_drivers = flat,vlan,vxlan
2) [ml2] 섹션에서 VXLAN 셀프서비스 네트워크를 활성화합니다
[ml2]
# ...
tenant_network_types = vxlan
3) [ml2] 섹션에서 Linux 브릿지와 layer-2 population 메커니즘을 활성화합니다
[ml2]
# ...
mechanism_drivers = linuxbridge,l2population
ML2 플러그인을 구성한 후, type_drivers 옵션의 값을 제거하게 되면 테이터베이스 불일치가 발생할 수 있습니다.
Linux 브릿지 에이전트는 VXLAN 오버레이 네트워크만을 지원합니다.
4) [ml2] 섹션에서 포트 보안 확장 드라이버를 활성화 합니다
[ml2]
# ...
extension_drivers = port_security
5) [ml2_type_flat] 섹션에서 프로바이더 가상 네트워크를 플랫 네트워크로 구성합니다
[ml2_type_flat]
# ...
flat_networks = provider
6) [ml2_type_vxlan] 섹션에서, 셀프 서비스 네트워크를 위한 VXLAN 네트워크 구분자 영역을 구성합니다
[ml2_type_vxlan]
# ...
vni_ranges = 1:1000
7) [securitygroup] 섹션에서 시큐리티 그룹 규칙의 효율을 높이기 위해 ipset 을 활성화합니다
[securitygroup]
# ...
enable_ipset = true
4. 리눅스 브릿지 에이전트 구성
리눅스 브릿지 에이전트는 인스턴스에 대한 layer-2(브릿징과 스위칭) 가상 네트워킹 인프라를 구축하고 시큐리티 그룹을 처리합니다.
Edit the /etc/neutron/plugins/ml2/linuxbridge_agent.ini file and complete the following actions
1) [linux_bridge] 섹션에서, 프로바이더 물리 네트워크 인터페이스에 프로바이더 가상 네트워크를 매핑합니다
[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
물리적인 공용 네트워크 인터페이스를 기본으로 하여 PROVIDER_INTERFACE_NAME 을 변경합니다.
2) [vxlan] 섹션에서 VXLAN 오버레이 네트워크를 활성화하고, 오버레이 네트워크에서 처리할 물리 네트워크 인터페이스의 IP 주소를 구성합니다.
그리고 Layer-2 구역을 활성화합니다
[vxlan]
enable_vxlan = true
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = true
오버레이 네트워크를 처리하는 기본 물리 네트워크 인터페이스의 IP 주소로 OVERLAY_INTERFACE_IP_ADDRESS 로 수정합니다.
예제 아키텍처에서는 트래픽을 다른 노드로 터널링하기 위한 관리 인터페이스를 사용합니다.
따라서, OVERLAY_INTERFACE_IP_ADDRESS 를 컨트롤러 노드에 대한 관리 IP 주소로 변경합니다.
3) [securitygroup] 섹션에서 시큐리티 그룹을 활성화시키고 리눅스 브릿지 iptables 방화벽 드라이버를 구성합니다
[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
5. Layer-3 에이전트 구성
Layer-3 (L3) agent 는 셀프 서비스 가상 네트워크를 위한 라우팅과 NAT 서비스를 제공합니다.
/etc/neutron/l3_agent.ini 파일을 편집하여 다음 작업을 완료합니다:
1) [DEFAULT] 섹션에서 Linux 브릿지 인터페이스 드라이버와 외부 네트워크 브릿지를 구성합니다
[DEFAULT]
# ...
interface_driver = linuxbridge
6. DHCP 에이전트 구성
DHCP agent 가상 네트워크에대한 DHCP 서비스를 제공합니다.
/etc/neutron/dhcp_agent.ini 파일을 수정하고 다음 작업을 완료합니다
1) [DEFAULT] 섹션에서 Linux 브릿지 인터페이스 드라이버, Dnsmasq DHCP 드라이버를 구성하고 격리된 메타데이터를 활성화하여
프로바이더 네트워크 상의 인스턴스가 네트워크에서 메타데이터를 액세스하도록 합니다
[DEFAULT]
# ...
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
2. 서버 구성요소 구성
/etc/neutron/neutron.conf 파일을 수정하고 다음 작업을 완료합니다
1) [database] 섹션에서, 데이터베이스 액세스를 구성합니다
[database]
# ...
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
NEUTRON_DBPASS 를 데이터베이스에 대해 선택한 암호로 변경합니다.
[database] 섹션 내 다른 connection 옵션들을 주석 처리 또는 제거합니다.
2) [DEFAULT] 섹션에서 Modular Layer 2 (ML2) 플러그인, 라우터 서비스 및 overlapping IP 주소를 활성화합니다
[DEFAULT]
# ...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
3) [DEFAULT] 섹션에서, RabbitMQ 메시지 큐 액세스를 구성합니다
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
RabbitMQ의 openstack 계정의 암호로 RABBIT_PASS 를 변경합니다.
4) [DEFAULT] 및 [keystone_authtoken] 섹션에서는, Identity 서비스 액세스를 구성합니다
[DEFAULT]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
Identity 서비스에서 neutron 사용자의 암호로 NEUTRON_PASS 를 변경합니다.
[keystone_authtoken] 섹션 내 다른 옵션들을 주석 처리 또는 제거합니다.
5) [DEFAULT] 와 [nova] 섹션에서 네트워크 토폴로지 변경이 발생했을 때 Compute에 알려주도록 네트워킹을 구성합니다
[DEFAULT]
# ...
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[nova]
# ...
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS
Identity 서비스에서 nova 사용자의 암호로 NOVA_PASS 를 변경합니다.
6) [oslo_concurrency] 섹션에서, lock 경로를 구성합니다
[oslo_concurrency]
# ...
lock_path = /var/lib/neutron/tmp
3. Modular Layer 2 (ML2) 플러그인 구성
ML2 플러그인은 인스턴스에 대한 layer-2 (브리징과 스위칭) 가상 네트워킹 인프라를 구축하여 리눅스 브릿지 메커니즘을 사용합니다.
/etc/neutron/plugins/ml2/ml2_conf.ini 파일을 수정하고 다음 작업을 진행합니다
1) [ml2] 섹션에서 flat, VLAN, XVLAN 네트워크를 활성화합니다
[ml2]
# ...
type_drivers = flat,vlan,vxlan
2) [ml2] 섹션에서 VXLAN 셀프서비스 네트워크를 활성화합니다
[ml2]
# ...
tenant_network_types = vxlan
3) [ml2] 섹션에서 Linux 브릿지와 layer-2 population 메커니즘을 활성화합니다
[ml2]
# ...
mechanism_drivers = linuxbridge,l2population
ML2 플러그인을 구성한 후, type_drivers 옵션의 값을 제거하게 되면 테이터베이스 불일치가 발생할 수 있습니다.
Linux 브릿지 에이전트는 VXLAN 오버레이 네트워크만을 지원합니다.
4) [ml2] 섹션에서 포트 보안 확장 드라이버를 활성화 합니다
[ml2]
# ...
extension_drivers = port_security
5) [ml2_type_flat] 섹션에서 프로바이더 가상 네트워크를 플랫 네트워크로 구성합니다
[ml2_type_flat]
# ...
flat_networks = provider
6) [ml2_type_vxlan] 섹션에서, 셀프 서비스 네트워크를 위한 VXLAN 네트워크 구분자 영역을 구성합니다
[ml2_type_vxlan]
# ...
vni_ranges = 1:1000
7) [securitygroup] 섹션에서 시큐리티 그룹 규칙의 효율을 높이기 위해 ipset 을 활성화합니다
[securitygroup]
# ...
enable_ipset = true
4. 리눅스 브릿지 에이전트 구성
리눅스 브릿지 에이전트는 인스턴스에 대한 layer-2(브릿징과 스위칭) 가상 네트워킹 인프라를 구축하고 시큐리티 그룹을 처리합니다.
Edit the /etc/neutron/plugins/ml2/linuxbridge_agent.ini file and complete the following actions
1) [linux_bridge] 섹션에서, 프로바이더 물리 네트워크 인터페이스에 프로바이더 가상 네트워크를 매핑합니다
[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
물리적인 공용 네트워크 인터페이스를 기본으로 하여 PROVIDER_INTERFACE_NAME 을 변경합니다.
2) [vxlan] 섹션에서 VXLAN 오버레이 네트워크를 활성화하고, 오버레이 네트워크에서 처리할 물리 네트워크 인터페이스의 IP 주소를 구성합니다.
그리고 Layer-2 구역을 활성화합니다
[vxlan]
enable_vxlan = true
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = true
오버레이 네트워크를 처리하는 기본 물리 네트워크 인터페이스의 IP 주소로 OVERLAY_INTERFACE_IP_ADDRESS 로 수정합니다.
예제 아키텍처에서는 트래픽을 다른 노드로 터널링하기 위한 관리 인터페이스를 사용합니다.
따라서, OVERLAY_INTERFACE_IP_ADDRESS 를 컨트롤러 노드에 대한 관리 IP 주소로 변경합니다.
3) [securitygroup] 섹션에서 시큐리티 그룹을 활성화시키고 리눅스 브릿지 iptables 방화벽 드라이버를 구성합니다
[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
5. Layer-3 에이전트 구성
Layer-3 (L3) agent 는 셀프 서비스 가상 네트워크를 위한 라우팅과 NAT 서비스를 제공합니다.
/etc/neutron/l3_agent.ini 파일을 편집하여 다음 작업을 완료합니다:
1) [DEFAULT] 섹션에서 Linux 브릿지 인터페이스 드라이버와 외부 네트워크 브릿지를 구성합니다
[DEFAULT]
# ...
interface_driver = linuxbridge
6. DHCP 에이전트 구성
DHCP agent 가상 네트워크에대한 DHCP 서비스를 제공합니다.
/etc/neutron/dhcp_agent.ini 파일을 수정하고 다음 작업을 완료합니다
1) [DEFAULT] 섹션에서 Linux 브릿지 인터페이스 드라이버, Dnsmasq DHCP 드라이버를 구성하고 격리된 메타데이터를 활성화하여
프로바이더 네트워크 상의 인스턴스가 네트워크에서 메타데이터를 액세스하도록 합니다
[DEFAULT]
# ...
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
댓글목록 0
등록된 댓글이 없습니다.