3.2. DHCP 릴레이 구성

요청을 전달할 원격 네트워크 세그먼트에 연결된 스위치, 라우터 또는 서버에서 DHCP 릴레이 서비스를 실행합니다.

참고

언더클라우드에서 DHCP 릴레이 서비스를 실행하지 마십시오.

언더클라우드는 provisioning 네트워크에서 두 개의 DHCP 서버를 사용합니다.

  • 인트로스펙션 DHCP 서버입니다.
  • 프로비저닝 DHCP 서버.

언더클라우드의 DHCP 서버에 DHCP 요청을 전달하도록 DHCP 릴레이를 구성해야 합니다.

DHCP 요청을 지원하는 장치와 함께 UDP 브로드캐스트를 사용하여 언더클라우드 프로비저닝 네트워크가 연결된 L2 네트워크 세그먼트로 릴레이할 수 있습니다. 또는 DHCP 요청을 특정 IP 주소로 릴레이하는 UDP 유니캐스트를 사용할 수 있습니다.

참고

특정 장치 유형에서 DHCP 릴레이 구성은 이 문서의 범위를 벗어납니다. 참고로 이 문서에서는 ISC DHCP 소프트웨어의 구현을 사용하여 DHCP 릴레이 구성 예를 제공합니다. 자세한 내용은 매뉴얼 페이지 dhcrelay(8)를 참조하십시오.

중요

DHCP 옵션 79는 일부 릴레이, 특히 DHCPv6 주소를 제공하는 릴레이와 원래 MAC 주소를 통과하지 않는 릴레이에 필요합니다. 자세한 내용은 RFC6939 를 참조하십시오.

브로드캐스트 DHCP 릴레이

이 메서드는 UDP 브로드캐스트 트래픽을 사용하여 DHCP 서버 또는 서버가 있는 L2 네트워크 세그먼트로 DHCP 요청을 릴레이합니다. 네트워크 세그먼트의 모든 장치는 브로드캐스트 트래픽을 수신합니다. UDP 브로드캐스트를 사용하는 경우 언더클라우드의 두 DHCP 서버는 모두 릴레이된 DHCP 요청을 수신합니다. 구현에 따라 인터페이스 또는 IP 네트워크 주소를 지정하여 이를 구성할 수 있습니다.

인터페이스
DHCP 요청이 릴레이되는 L2 네트워크 세그먼트에 연결된 인터페이스를 지정합니다.
IP 네트워크 주소
DHCP 요청이 릴레이되는 IP 네트워크의 네트워크 주소를 지정합니다.

유니캐스트 DHCP 릴레이

이 메서드는 UDP 유니캐스트 트래픽을 사용하여 DHCP 요청을 특정 DHCP 서버로 중계합니다. UDP 유니캐스트를 사용하는 경우 DHCP 릴레이를 제공하여 DHCP 요청을 언더클라우드의 인트로스펙션에 사용되는 인터페이스에 할당된 IP 주소 및 OpenStack Networking(neutron) 서비스에서 생성하는 네트워크 네임스페이스의 IP 주소 모두에 릴레이하도록 DHCP 릴레이를 제공하는 장치를 구성해야 합니다 .

세부 검사에 사용되는 인터페이스는 undercloud.conf 파일에서 inspection_interface 로 정의된 인터페이스입니다. 이 매개변수를 설정하지 않은 경우 언더클라우드의 기본 인터페이스는 br-ctlplane 입니다.

참고

세부 검사를 위해 br-ctlplane 인터페이스를 사용하는 것이 일반적입니다. undercloud.conf 파일에서 local_ip 로 정의한 IP 주소는 br-ctlplane 인터페이스에 있습니다.

Neutron DHCP 네임스페이스에 할당된 IP 주소는 undercloud.conf 파일의 local_subnet 에 대해 구성하는 IP 범위에서 사용할 수 있는 첫 번째 주소입니다. IP 범위의 첫 번째 주소는 구성에서 dhcp_start 로 정의하는 주소입니다. 예를 들어 다음 구성을 사용하는 경우 192.168.10.10 은 IP 주소입니다.

[DEFAULT]
local_subnet = leaf0
subnets = leaf0,leaf1,leaf2

[leaf0]
cidr = 192.168.10.0/24
dhcp_start = 192.168.10.10
dhcp_end = 192.168.10.90
inspection_iprange = 192.168.10.100,192.168.10.190
gateway = 192.168.10.1
masquerade = False
주의

DHCP 네임스페이스의 IP 주소가 자동으로 할당됩니다. 대부분의 경우 이 주소는 IP 범위의 첫 번째 주소입니다. 이 경우 언더클라우드에서 다음 명령을 실행합니다.

$ openstack port list --device-owner network:dhcp -c "Fixed IP Addresses"
+----------------------------------------------------------------------------+
| Fixed IP Addresses                                                         |
+----------------------------------------------------------------------------+
| ip_address='192.168.10.10', subnet_id='7526fbe3-f52a-4b39-a828-ec59f4ed12b2' |
+----------------------------------------------------------------------------+
$ openstack subnet show 7526fbe3-f52a-4b39-a828-ec59f4ed12b2 -c name
+-------+--------+
| Field | Value  |
+-------+--------+
| name  | leaf0  |
+-------+--------+

dhcrelay 구성의 예

다음 예제에서 dhcp 패키지의 dhcrelay 명령은 다음 구성을 사용합니다.

  • 수신 DHCP 요청을 릴레이할 인터페이스: eth1,eth2, eth3.
  • 네트워크 세그먼트의 Undercloud DHCP 서버를 인터페이스로 연결합니다. eth0.
  • 인트로스펙션에 사용되는 DHCP 서버가 IP 주소에서 수신 대기 중입니다. 192.168.10.1.
  • 프로비저닝에 사용되는 DHCP 서버는 IP 주소 192.168.10.10 에서 수신 대기 중입니다.

그러면 다음과 같은 dhc relay 명령이 생성됩니다.

  • dhcrelay 버전 4.2.x:

    $ sudo dhcrelay -d --no-pid 192.168.10.10 192.168.10.1 \
      -i eth0 -i eth1 -i eth2 -i eth3
  • dhcrelay 버전 4.3.x 이상:

    $ sudo dhcrelay -d --no-pid 192.168.10.10 192.168.10.1 \
      -iu eth0 -id eth1 -id eth2 -id eth3

Cisco IOS 라우팅 스위치 구성의 예

이 예에서는 다음 Cisco IOS 구성을 사용하여 다음 작업을 수행합니다.

  • provisioning 네트워크에 사용할 VLAN을 구성합니다.
  • IP 주소 를 추가합니다.
  • IP 주소에서 수신 대기하는 인트로스펙션 DHCP 서버로 UDP 및 BOOTP 요청을 전달합니다. 192.168.10.1.
  • UDP 및 BOOTP 요청을 IP 주소 192.168.10.10 에서 수신 대기하는 프로비저닝 DHCP 서버로 전달합니다.
interface vlan 2
ip address 192.168.24.254 255.255.255.0
ip helper-address 192.168.10.1
ip helper-address 192.168.10.10
!

이제 프로비저닝 네트워크를 설정했으므로 나머지 오버클라우드 리프 네트워크를 설정할 수 있습니다.