2.2. DHCP 릴레이 구성
언더클라우드는 provisioning 네트워크에서 두 개의 DHCP 서버를 사용합니다.
- 인트로스펙션 중 하나입니다.
- 하나는 프로비저닝에 사용됩니다.
DHCP 릴레이를 구성할 때 언더클라우드의 두 DHCP 서버로 DHCP 요청을 전달하도록 합니다.
이를 지원하는 장치와 함께 UDP 브로드캐스트를 사용하여 언더클라우드 프로비저닝 네트워크가 연결된 L2 네트워크 세그먼트에 DHCP 요청을 릴레이할 수 있습니다. 또는 DHCP 요청을 특정 IP 주소로 릴레이하는 UDP 유니캐스트를 사용할 수 있습니다.
특정 장치 유형에 대한 DHCP 릴레이 구성은 이 문서의 범위를 벗어납니다. 참조로 이 문서는 ISC DHCP 소프트웨어 구현을 사용하는 DHCP 릴레이 구성 예제를 아래에서 제공합니다. 이 구현을 사용하는 방법에 대한 자세한 내용은 도움말 페이지 dhcrelay(8)를 참조하십시오.
브로드캐스트 DHCP 릴레이
이 메서드는 UDP 브로드캐스트 트래픽을 사용하여 DHCP 서버가 있는 L2 네트워크 세그먼트에 DHCP 요청을 릴레이합니다. 네트워크 세그먼트의 모든 장치는 브로드캐스트 트래픽을 수신합니다. UDP 브로드캐스트를 사용하면 언더클라우드의 두 DHCP 서버가 릴레이된 DHCP 요청을 수신합니다. 일반적으로 이 값은 인터페이스 또는 IP 네트워크 주소를 지정하여 구성됩니다.
- 인터페이스
- DHCP 요청이 릴레이되는 L2 네트워크 세그먼트에 연결된 인터페이스를 지정합니다.
- IP 네트워크 주소
- DHCP 요청이 릴레이되는 IP 네트워크의 네트워크 주소를 지정합니다.
유니캐스트 DHCP 릴레이
이 방법은 UDP 유니캐스트 트래픽을 사용하여 특정 DHCP 서버로 DHCP 요청을 릴레이합니다. UDP 유니캐스트를 사용하는 경우, 언더클라우드에서 인트로스펙션에 사용되는 인터페이스에 할당된 IP 주소 및 OpenStack Networking(neutron) 서비스에서 생성된 네트워크 네임스페이스의 IP 주소 모두에 DHCP 요청을 릴레이하도록 DHCP 요청을 제공하는 장치를 구성하여 ctlplane
네트워크의 DHCP 서비스를 호스팅해야 합니다.
세부 검사에 사용되는 인터페이스는 undercloud.conf
에서 inspection_interface로 정의된 인터페이스입니다.
인트로스펙션에 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
. -
네트워크 세그먼트의 언더클라우드 DHCP 서버가
eth0
에 연결되어 있습니다. - 인트로스펙션에 사용되는 DHCP 서버는 IP 주소 '192.168.10.1에서 수신 대기 중입니다.
-
프로비저닝에 사용되는 DHCP 서버는 IP 주소
192.168.10.10
에서 수신 대기합니다.
그러면 다음과 같은 dhcrelay
명령이 생성됩니다.
$ sudo dhcrelay -d --no-pid 172.20.0.10 172.20.0.1 \ -i eth0 -i eth1 -i eth2 -i eth3
Cisco IOS 라우팅 스위치 구성의 예
이 예에서는 다음 Cisco IOS 구성을 사용하여 다음 작업을 수행합니다.
- 프로비저닝 네트워크에 사용할 VLAN을 구성합니다.
- 리프의 IP 주소를 추가합니다.
-
UDP 및 BOOTP 요청을 IP 주소에서 수신 대기하는 인트로스펙션 DHCP 서버로 전달합니다.
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 !
이제 프로비저닝 네트워크를 설정했으므로 나머지 오버클라우드 리프 네트워크를 설정할 수 있습니다. 일련의 구성 파일을 사용하여 이 작업을 수행합니다.