네트워크 주소 변환 구성
NAT(Network Address Translation)는 패킷이 전송되는 동안 IP 패킷의 헤더에서 소스 또는 대상 주소를 수정하기 위한 프로세스입니다. 일반적으로 발신자와 수신기 애플리케이션은 IP 패킷이 조작되었다는 것을 인식하지 못하고 있습니다.
OpenStack에서 외부 네트워크는 인스턴스에 대한 인터넷 액세스를 제공합니다. 기본적으로 이 네트워크는 SNAT(Source Network Address Translation)를 사용하는 인스턴스에서만 인터넷 액세스를 허용합니다. SNAT에서 NAT 라우터는 IP 패킷에서 보낸 사람의 IP 주소를 수정합니다. SNAT는 일반적으로 전용 주소를 가진 호스트가 공용 인터넷의 서버와 통신할 수 있도록 하는 데 사용됩니다.
OpenStack은 플로팅 IP를 사용하여 인스턴스에 인터넷 액세스를 지원합니다. 플로팅 IP는 기본적으로 인스턴스에 할당되지 않습니다. 클라우드 사용자는 OpenStack 관리자가 구성한 풀에서 플로팅 IP를 가져온 다음 해당 인스턴스에 연결해야 합니다. 부동 IP는 DNAT(Destination Network Address Translation)에 의해 구현됩니다. DNAT에서 NAT 라우터는 IP 헤더에서 대상의 IP 주소를 수정합니다.
SNAT – VM에서 인터넷 액세스
그림 1 은 인터넷에 액세스하는 OpenStack 인스턴스를 설명합니다.
VM에서 인터넷 액세스를 활성화하려면 VM이 연결된 네트워크를 라우터에 연결해야 합니다. 이 라우터는 관리자가 만든 외부 네트워크로 게이트웨이를 설정해야 합니다. 주니퍼 네트웍스 Neutron 플러그인은 라우터에서 SNAT를 구성하여 외부 네트워크에 연결된 인터페이스의 주소로 모든 VM의 소스 주소를 수정합니다.
DNAT – VM에 대한 인터넷 액세스
그림 2 는 인터넷에서 OpenStack 인스턴스에 액세스하는 것을 설명합니다.
VM에 인터넷 액세스를 활성화하려면 관리자가 테넌트에게 할당된 IP 주소 풀에서 부동 IP를 VM에 할당합니다. 플로팅 IP는 라우팅 가능한 IP여야 합니다. 주니퍼 네트웍스 Neutron 플러그인은 이 IP 주소에 대한 ARP를 프록시하고 VM의 부동 IP를 위한 DNAT에 라우터의 외부 대면 인터페이스를 구성합니다.
플러그인 구성
플러그인을 구성하려면 다음을 수행합니다.
Neutron 구성 파일 /etc/neutron/neutron.conf 를 다음과 같이 업데이트합니다.
service plug-ins = neutron.services.juniper_l3_router.dmi.l3.JuniperL3Plugin
Neutron 서비스는 다음과 같이 다시 시작합니다.
service neutron-server restart
외부 네트워크 액세스 구성
외부 네트워크 액세스를 구성하려면 다음을 수행합니다.
네트워크 생성.
생성된 네트워크에서 인스턴스를 실행합니다.
라우터를 만듭니다.
라우터에 새 네트워크를 추가합니다.
라우터의 게이트웨이를 외부 네트워크로 설정합니다.
VM에서 외부 네트워크의 모든 IP로 핑
외부 네트워크에서 VM에 대한 액세스 구성
외부 네트워크에서 VM에 대한 액세스를 구성하려면 다음을 수행합니다.
외부 네트워크의 부동 IP 풀에서 생성된 인스턴스에 부동 IP를 연결합니다.
외부 네트워크의 트래픽을 허용하도록 보안 그룹에서 보안 규칙을 구성합니다. 예를 들어, ICMP는 수신 및 송신 트래픽 모두에 대해 모든 것을 허용합니다.
부동 IP를 통해 VM에 액세스할 수 있습니다.