네트워킹 옵션 1 - 공급자 네트워크
controller 노드 에 네트워킹 구성 요소를 설치하고 구성 합니다.
구성 요소 설치
[root@controller ~]# yum install openstack-neutron openstack-neutron-ml2 \ openstack-neutron-linuxbridge ebtables
서버 구성 요소 구성
네트워킹 서버 구성 요소 구성에는 데이터베이스, 인증 메커니즘, 메시지 큐, 토폴로지 변경 알림 및 플러그인이 포함됩니다.
1. /etc/neutron/neutron.conf
파일을 편집하고 다음 조치를 완료하십시오.
[database]
섹션에서 데이터베이스 액세스 구성:
[database] # ... connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
NEUTRON_DBPASS
부분을 이전에 설정한 암호로 바꿉니다.
섹션 [database]
에서 connection
를 제외한 나머지 다른 옵션을 주석 처리하거나 제거 하십시오.
[DEFAULT]
섹션에서 ML2플러그인 활성화 및 나머지 비활성화 :
[DEFAULT] # ... core_plugin = ml2 service_plugins =
[DEFAULT]
섹션에서RabbitMQ
메시지 큐 액세스 구성:
[DEFAULT] # ... transport_url = rabbit://openstack:RABBIT_PASS@controller
RABBIT_PASS
부분을 이전에 설정한 암호로 변경
[DEFAULT]
와[keystone_authtoken]
섹션에서 아이덴티티 서비스 액세스 구성:
[DEFAULT] # ... auth_strategy = keystone [keystone_authtoken] # ... www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = neutron password = NEUTRON_PASS
NEUTRON_PASS
부분에 이전에 설정한 비밀번호로 바꿉니다.
[keystone_authtoken]
섹션 에서 나머지 다른 옵션을 주석 처리하거나 제거 하십시오.
[DEFAULT]
와[nova]
섹션에서 compute 노드로의 네트워크 토폴로지 변경 알림 설정을 구성:
[DEFAULT] # ... notify_nova_on_port_status_changes = true notify_nova_on_port_data_changes = true [nova] # ... auth_url = http://controller:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = nova password = NOVA_PASS
NOVA_PASS
부분에 이전에 설정한 비밀번호로 바꿉니다.
[oslo_concurrency]
섹션에서 잠금 경로를 구성 :
[oslo_concurrency] # ... lock_path = /var/lib/neutron/tmp
모듈러 레이어 2 (ML2) 플러그인 구성
ML2 플러그인은 Linux 브리지 메커니즘을 사용하여 인스턴스 용 레이어 2 (브리징 및 스위칭) 가상 네트워킹 인프라를 구축합니다.
1. /etc/neutron/plugins/ml2/ml2_conf.ini
파일을 편집하고 다음 조치를 완료하십시오.
[ml2]
섹션에서 FLAT 및 VLAN 네트워크를 활성화합니다
[ml2] # ... type_drivers = flat,vlan
[ml2]
섹션에서 셀프 서비스 네트워크 비활성화:
[ml2] # ... tenant_network_types =
[ml2]
섹션에서 리눅스 브리지 메커니즘 활성화 :
[ml2] # ... mechanism_drivers = linuxbridge
ML2
플러그인을 구성한 후 type_drivers
옵션 에서 값을 제거 하면 데이터베이스 불일치가 발생할 수 있습니다.
[ml2]
섹션에서 포트 보안 확장 드라이버를 사용 :
[ml2] # ... extension_drivers = port_security
[ml2_type_flat]
섹션에서 플랫 네트워크로 제공 가상 네트워크를 구성 :
[ml2_type_flat] # ... flat_networks = provider
[securitygroup]
섹션에서 보안 그룹 규칙의 효율성을 높이기 위해ipset
활성화 :
[securitygroup] # ... enable_ipset = true
Linux Bridge Agent 구성
Linux Bridge Agent는 인스턴스 용 레이어 2 (브리징 및 스위칭) 가상 네트워킹 인프라를 구축하고 보안 그룹을 처리합니다.
1. /etc/neutron/plugins/ml2/linuxbridge_agent.ini
파일을 편집하고 다음 조치를 완료하십시오.
[linux_bridge]
섹션에서 물리적 네트워크 인터페이스를 Provider 가상 네트워크로 매핑 :
[linux_bridge] physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
PROVIDER_INTERFACE_NAME
부분을 기본 공급자 물리적 네트워크 인터페이스의 이름으로 바꿉니다.
[vxlan]
섹션에서VXLAN 오버레이 네트워크
비활성화 :
[vxlan] enable_vxlan = false
[securitygroup]
섹션에서 보안 그룹을 활성화하고 리눅스 브리지 iptables 방화벽 드라이버를 구성 :
[securitygroup] # ... enable_security_group = true firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
- 다음 sysctl값이 모두 1로 설정되어 있는지 확인하여 Linux 운영 체제 커널이 네트워크 브리지 필터를 지원하는지 확인합니다.
net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables
네트워킹 브리지 지원을 활성화하려면 일반적으로 br_netfilter
커널 모듈을 로드해야합니다.
만약 sysctl 에서 해당 Kernel parameter 목록이 안보인 경우 아래와 같이 확인한다.
[root@controller ~]# lsmod | grep "br_netfilter" br_netfilter 22256 0 bridge 151336 1 br_netfilter
출력이 안된다면 모듈이 탑재되지 않은것이므로 다음과 같이 모듈을 탑재 한다.
[root@controller ~]# modprobe br_netfilter
영구적으로 적용하려면 /etc/modules-load.d/br_netfilter.conf
파일을 만들어 준다.
br_netfilter
DHCP 에이전트 구성
DHCP 에이전트는 가상 네트워크에 DHCP 서비스를 제공합니다.
1. /etc/neutron/dhcp_agent.ini
파일을 편집하고 다음 조치를 완료하십시오.
[DEFAULT]
섹션에서 리눅스 브리지 인터페이스 드라이버, dnsmasq DHCP 드라이버를 구성하고, Provider 네트워크에 인스턴스가 네트워크를 통해 메타 데이터를 액세스 할 수 있도록 메타 데이터를 분리구성합니다 :
[DEFAULT] # ... interface_driver = linuxbridge dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata = true