라우터는 더 넓은 네트워크에서 프로젝트 VM 인스턴스에 대한 연결성을 제공합니다. 라우터는 모든 프로젝트 네트워크에서 공유됩니다. 라우터가 한 개뿐이므로 프로젝트 네트워크는 겹치는 IP 주소를 사용할 수 없습니다.
해당 라우터는 인터페이스에서 라우터를 외부 네트워크에 연결하는 양방향 NAT(네트워크 주소 변환)를 수행합니다. 프로젝트는 필요한 만큼 또는 유동 IP 할당량에서 허용하는 만큼 많은 유동 IP(공용 IP)를 가질 수 있습니다. 이러한 유동 IP는 외부 연결성이 필요한 VM 인스턴스와 연관됩니다.
라우터를 만들려면 Neutron L3 에이전트를 구성해야 합니다. 이 에이전트는 Nova 인스턴스에 지정된 주소와 유동 IP 주소 간에 자동으로 일대일 NAT 매핑을 만듭니다. 또한 L3 에이전트는 개인 네트워크 간 통신을 사용으로 설정합니다.
기본적으로 같은 프로젝트의 사설 네트워크 간 경로 지정은 사용 안함으로 설정됩니다. 이 동작을 변경하려면 /etc/neutron/l3_agent.ini 구성 파일에서 allow_forwarding_between_networks를 True로 설정합니다. 매개변수를 설정한 후 neutron-l3-agent SMF 서비스를 다시 시작합니다.
이 절차에서는 외부 네트워크에 대한 라우터를 만드는 방법을 보여줍니다. 단계 중 일부에서는 구성 파일 편집이 필요합니다. 따라서 이 절차의 경우 터미널 창을 사용하는 것이 Horizon 대시보드를 사용하는 것보다 편리합니다.
Neutron 서비스가 설치된 노드에서 다음 단계를 수행하십시오. 이 문서는 이전 장에 설명된 샘플 아키텍처를 기준으로 컨트롤러 노드에서 서비스를 찾습니다.
시작하기 전에
Neutron을 설치 및 구성하는 방법에 설명된 대로 Neutron의 구성을 완료했는지 확인하십시오.
controller# svcadm enable -rs ipfilter
controller# ipadm set-prop -p forwarding=on ipv4
controller# export OS_USERNAME=neutron controller# export OS_PASSWORD=service-password controller# export OS_PROJECT_NAME=service controller# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0
controller# neutron router-create router-name
이 명령은 라우터 이름을 해당 ID와 함께 표시합니다. 이 ID를 사용하여 다음 단계에서 구성 파일을 업데이트합니다.
router_id=routerID이전 단계에서 가져온 ID
controller# svcadm enable neutron-l3-agent
라우터에 외부 네트워크를 추가한 후 라우터에 대해 더 많은 정보가 추가됩니다.
controller# neutron router-show router-name
이 예에서는 외부 네트워크에 대한 라우터를 만드는 방법을 보여줍니다.
controller# svcadm enable -rs ipfilter controller# ipadm set-prop -p forwarding=on ipv4 controller# ipadm set-prop -p forwarding=on ipv6 controller# export OS_USERNAME=neutron controller# export OS_PASSWORD=service-password controller# export OS_PROJECT_NAME=service controller# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0 controller# neutron router-create ext-router Created a new router: +-----------------------+--------------------------------------+ | Field | Value | +-----------------------+--------------------------------------+ | admin_state_up | True | | external_gateway_info | | | id | f89b24ed-42dd-48b0-8f4b-fd41887a3370 | | name | ext-router | | status | ACTIVE | | project_id | 7d1caf0854b24becb28df5c5cabf72cc | +-----------------------+--------------------------------------+
이 시점에서 /etc/neutron/l3_agent.ini 파일의 router_id를 업데이트합니다.
router_id = f89b24ed-42dd-48b0-8f4b-fd41887a3370
그런 다음 L3 에이전트 서비스를 사용으로 설정합니다.
controller# svcadm enable neutron-l3-agent