본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# OpenStack

Openstack Self-service 네트워크 생성

by iamlucia 2020. 8. 25.


ovs설정 필요 (br-ex 브릿지의 포트로 변경된 eth0) 

 

ovs 설치 (설정파일 편집)

기존 설치 시 linuxbridge로 작성해둔 부분은 openvswitch로 작성

 

 

🔆 네트워크 연결성 관련 간단 개념 정리 

 

🐱‍👤 Namespaces는 하나의 리눅스box 내 라우팅 테이블에 있는 다수의 인스턴스가 서로 공존할 수 있게 해준다.
네트워크 네임스페이스는 서로 다른 네트워크 도메인(네트워크 인터페이스, 라우팅 테이블, iptables)이 완전히 분리되고 독립적인 도메인이 될 수 있게 해준다.
🐱‍👤 IP 중복: 각 프로젝트는 서로 중복되는 IP를 가질 수 있다는 점에서 장점이 있어서 클라우드 사용자들이 서로 충돌될 걱정 없이 자유롭게 네트워크와 서브넷을 생성할 수 있다. 리눅스 네트워크 네임스페이스는 중복된IP가 사용중일 때, neutron-l3-agent 또는 neutron-dhcp-agent 를 실행하는 노드에 필요하다(be required).
🐱‍👤 L3 Agent: neutron-l3-agent 는 노드 하나당 여러 개의 독립된 가상 라우터에 네트워크 네임스페이스를 제공하도록 고안되어, 각 가상의 라우터는 서로 간섭되지 않는다. 

🔆 네트워크 설정값 확인 

 

# cat /etc/neutron/plugin.ini | grep flat_networks 
flat_networks = provider 
# cat /etc/neutron/plugins/ml2/linuxbridge_agent.ini | grep physical_interface_mappings  
physical_interface_mappings = provider:eth0

 

 

🔆 네트워크 및 서브넷 생성


self-service 네트워크 생성 전, provider 네트워크 먼저 생성 필요

 

🟢 admin용 계정으로 credential 스크립트 실행

 

# .  admin-openrc 

 

🟢 Create provider Network

 

# openstack network create --share --external --provider-physical-network provider provider
--provider-network-type flat provider1

 

🎈OPTION :

--share : 모든 project가 해당 가상 네트워크를 공유 가능하게 설정

--external: 해당 가상 네트워크를 외부 네트워크로 설정, 디폴트값은 internal 

--provider-physical-network provider  --provider-network-type flat  : 
    flat 타입의 가상 네트워크를 (neutron 설치 시 작성한 ml2_type_flat.ini 파일의 flat_networks=provider라고 작성한 상황)
    flat(native/untagged: vlan 형식의 네트워크는 tag가 되어있음) 타입의 물리 네트워크(eth0:설치환경에 따라 다를 수 있음.
    neutron 설치 시 작성한 linuxbridge_agent.ini 파일의  physical_interface_mappings 에 해당하는 eth 참고
) 연결하는 옵션 

 

 

🟢 Create provider Subnet

 

# openstack subnet create --network provider1 --allocation-pool start=START_IP_ADDRESS,end=END_IP_ADDRESS --dns-nameserver DNS_RESOLVER --gateway PROVIDER_NETWORK_GATEWAY --subnet-range PROVIDER_NETWORK_CIDR provider

# cat /etc/resolv.conf    //
nameserver 확인 
# Generated by NetworkManager 
nameserver 8.8.8.8 


🎈OPTION :

--allocation-pool : 인스턴스에 할당하게 될 ip 범위 

--subnet-range   :   provider 물리 네트워크에 해당하는 cidr

 


 🔆Self Service 네트워크 생성 

 

🟢 Create Network

 

# . demo-openrc
# openstack network create selfservice
# openstack subnet create --network selfservice  --dns-nameserver DNS_RESOLVER --gateway SELFSERVICE_NETWORK_GATEWAY --subnet-range SELFSERVICE_NETWORK_CIDR selfservice

 

🎈OPTION :

DNS_RESOLVER 는 cat /etc/resolv.conf   에서 확인 가능
# Generated by NetworkManager 
nameserver 8.8.8.8 

SELFSERVICE_NETWORK_GATEWAY 는 self-service network의 첫 번째 IP 주소를 (기본적으로 .1) 할당

SELFSERVICE_NETWORK_CIDR  self-service network의 서브넷 대역(임의의 값을 작성해도 좋으나 RFC 1918 에 해당하는 값 추천)

 

 


🔆Router 생성 

 

# openstack router create router 
# openstack router add subnet router selfservice1

# openstack router set router --external-gateway provider1       //프로바이더 네트워크의 게이트웨이를 라우터에 set * 

 

 

 


📍 Verification 

# . admin-openrc 
# ip netns  

하나의 qrouter 네임스페이스 및 두 개의 qdhcp네임스페이스 확인 

 

 

라우터에 달린 두 개의 포트: provider 네트워크에 해당하는 ip주소 self service의 게이트웨이 ip 

 

컨트롤러 노드에서 provider network에 해당하는 port ip로 ping 

 

 

 

 

 

'자기발전소 > # OpenStack' 카테고리의 다른 글

OpenStack 사소한 Trouble Shooting . . .  (0) 2020.10.12
Magnum Trouble Shooting  (0) 2020.10.06
Openstack Packstack (Rocky) on CentOs 7  (0) 2020.08.27
Storage 의 세 가지 종류  (0) 2020.08.22
OpenStack  (0) 2020.08.11