11.3. 정책 기반 라우팅 구성
컨트롤러 노드에서 다른 네트워크에서 무제한 액세스를 구성하려면 정책 기반 라우팅을 구성합니다. 정책 기반 라우팅에서는 여러 인터페이스가 있는 호스트에서 소스 주소에 따라 특정 인터페이스를 통해 트래픽을 보낼 수 있는 라우팅 테이블을 사용합니다. 대상이 동일하더라도 다양한 소스에서 다른 네트워크로 들어오는 패킷을 라우팅할 수 있습니다.
예를 들어 기본 경로가 외부 네트워크에 있는 경우에도 패킷의 소스 주소를 기반으로 내부 API 네트워크에 트래픽을 보내도록 경로를 구성할 수 있습니다. 각 인터페이스에 대한 특정 경로 규칙을 정의할 수도 있습니다.
Red Hat OpenStack Platform은 os-net-config 툴을 사용하여 오버클라우드 노드의 네트워크 속성을 구성합니다. os-net-config 툴은 컨트롤러 노드에서 다음 네트워크 라우팅을 관리합니다.
-
/etc/iproute2/rt_tables파일의 라우팅 테이블 -
/etc/sysconfig/network-scripts/rule-{ifname}파일의 IPv4 규칙 -
/etc/sysconfig/network-scripts/rule6-{ifname}파일의 IPv6 규칙 -
라우팅 테이블 특정 경로의
/etc/sysconfig/network-scripts/route-{ifname}
사전 요구 사항
- 언더클라우드를 성공적으로 설치했습니다. 자세한 내용은 Director 설치 및 사용 가이드의 director 설치를 참조하십시오.
-
openstack-tripleo-heat-templates디렉터리에서 default.j2네트워크 인터페이스 템플릿을 렌더링했습니다. 자세한 내용은 10.2절. “사용자 정의를 위한 기본 네트워크 인터페이스 템플릿 렌더링”의 내용을 참조하십시오.
절차
~/templates/custom-nics디렉터리에서 사용자 지정 NIC 템플릿에route_table및인터페이스항목을 생성하고, 인터페이스의 경로를 정의하며, 배포와 관련된 규칙을 정의합니다.$network_config: network_config: - type: route_table name: custom table_id: 200 - type: interface name: em1 use_dhcp: false addresses: - ip_netmask: 192.0.2.1/24 routes: - ip_netmask: 10.1.3.0/24 next_hop: 192.0.2.5 route_options: "metric 10" table: 200 rules: - rule: "iif em1 table 200" comment: "Route incoming traffic to em1 with table 200" - rule: "from 192.0.2.0/24 table 200" comment: "Route all traffic from 192.0.2.0/24 with table 200" - rule: "add blackhole from 172.19.40.0/24 table 200" - rule: "add unreachable iif em1 from 192.168.1.0/24"run-os-net-config.sh스크립트 위치를 사용자가 생성한 각 사용자 지정 NIC 템플릿의 절대 경로로 설정합니다. 스크립트는 언더클라우드의/usr/share/openstack-tripleo-heat-templates/network/scripts/디렉터리에 있습니다.resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh배포와 관련된 기타 환경 파일과 함께 배포 명령에 사용자 정의 NIC 구성 및 네트워크 환경 파일을 추가합니다.
$ openstack overcloud deploy --templates \ -e ~/templates/<custom-nic-template> -e <OTHER_ENVIRONMENT_FILES>
검증
컨트롤러 노드에서 다음 명령을 입력하여 라우팅 구성이 올바르게 작동하는지 확인합니다.
$ cat /etc/iproute2/rt_tables $ ip route $ ip rule