내 스위치가 지정된 풀에서 주소를 가져올 수 없는 이유는 무엇입니까?

내 스위치가 지정된 풀에서 주소를 가져올 수 없는 이유는 무엇입니까?

다음을 통해 Juniper 스위치를 구성하고 있습니다.제로터치 프로비저닝. CentOS 7에서 로그/로그/(systemd 무엇이든)에는 다음이 포함됩니다.

Nov 28 10:08:46 server dhcpd[8800]: Checking if packet is permitted.
Nov 28 10:08:46 server dhcpd[8800]:     Permit list: unknown clients
Nov 28 10:08:46 server dhcpd[8800]:    OK
Nov 28 10:08:46 server dhcpd[8800]: Checking if packet is permitted.
Nov 28 10:08:46 server dhcpd[8800]:     Permit list: unknown clients
Nov 28 10:08:46 server dhcpd[8800]:    OK
Nov 28 10:08:46 server dhcpd[8800]: matched a Juniper Networks QFX-5100
Nov 28 10:08:46 server dhcpd[8800]: DHCPDISCOVER from 08:b2:58:ab:dc:00 via eth2
Nov 28 10:08:47 server dhcpd[8800]: DHCPOFFER on 192.168.0.100 to 08:b2:58:ab:dc:00 (TR0217010017) via eth2
Nov 28 10:08:47 server dhcpd[8800]: Checking if packet is permitted.
Nov 28 10:08:47 server dhcpd[8800]:     Permit list: unknown clients
Nov 28 10:08:47 server dhcpd[8800]:    OK
Nov 28 10:08:47 server dhcpd[8800]: Checking if packet is permitted.
Nov 28 10:08:47 server dhcpd[8800]:     Permit list: unknown clients
Nov 28 10:08:47 server dhcpd[8800]:    OK
Nov 28 10:08:47 server dhcpd[8800]: matched a Juniper Networks QFX-5100
Nov 28 10:08:47 server dhcpd[8800]: DHCPREQUEST for 192.168.0.100 (192.168.0.250) from 08:b2:58:ab:dc:00 (TR0217010017) via eth2
Nov 28 10:08:47 server dhcpd[8800]: DHCPACK on 192.168.0.100 to 08:b2:58:ab:dc:00 (TR0217010017) via eth2

서버가 "알 수 없는" 풀에서 구성되었습니다. 구성의 관련 부분은 다음과 같습니다.

# Global options
max-lease-time 1800;
default-lease-time 1800;
dynamic-bootp-lease-length 120;
ddns-update-style none;

# TFTP Server IP and file
next-server 192.168.0.250; # Assumed to be the DHCP server
filename "pxelinux.0";


# Define the pxe grub filename option
option zone-pxegrub-filename code 150 = text;
option zone-pxegrub-filename "/opt/tftp_files/boot/pxelinux.0";

# Options for Juniper switch to download FW and configuration from this server
# as described here: https://www.juniper.net/documentation/en_US/junos/topics/task/configuration/software-image-and-configuration-automatic-provisioning-confguring.html
option space NEW_OP;
option NEW_OP.config-file-name code 1 = text;
option NEW_OP.image-file-name code 0 = text;
option NEW_OP.image-file-type code 2 = text;
option NEW_OP.transfer-mode code 3 = text;
option NEW_OP.alt-image-file-name code 4 = text;
option NEW_OP-encapsulation code 43 = encapsulate NEW_OP;
option option-150 code 150 = ip-address;

# bringing in the vendor specific options
vendor-option-space NEW_OP;
option NEW_OP.image-file-name "/juniper/fw/jinstall-host-qfx-5-17.2R1.13-signed.tgz";
option NEW_OP.config-file-name "/juniper/cfg/qfx-5100.cfg";
option NEW_OP.alt-image-file-name "/juniper/fw/jinstall-host-qfx-5-17.2R1.13-signed.tgz";
option NEW_OP.image-file-type "filename";
option NEW_OP.transfer-mode "tftp";

option option-150 192.168.0.250;


class "workers" {
   match if substring(hardware, 1, 3) = 00:20:0c or substring(hardware, 1, 3) = 00:18:7D;
   log(info, "matched a worker bee");
}

class "monitor" {
   match if substring(hardware, 1, 3) = 00:d0:24;
   log(info, "matched to a monitor");
}

class "JuniperSwitch" {
   match if option vendor-class-identifier ~~ "^juniper-qfx5100.+$";
   log(info, "matched a Juniper Networks QFX-5100");
}

subnet 192.168.0.0 netmask 255.255.255.0 {
   #authoritative;
   option routers 192.168.0.250;
   pool {
      allow members of "workers";
      range 192.168.0.1 192.168.0.99;
      log(info, concat("Issuing DHCP address to worker bootp requestor: ", binary-to-ascii(16, 8, ":", substring(hardware, 1, 6))));
   }
   pool {
      allow members of "monitor";
      range 192.168.0.245;
      log(info, concat("Issuing DHCP address to monitor bootp requestor: ", binary-to-ascii(16, 8, ":", substring(hardware, 1, 6))));
   }
   pool {
      allow members of "JuniperSwitch";
      allow dynamic bootp clients;
      range 192.168.0.201;
   }
   pool {
      allow unknown-clients;
      range 192.168.0.100 192.168.0.150;
   }
}

이것이 내가 기대하는 주소를 제공하지 않는 이유를 이해하도록 도와주세요.

답변1

DHCP를 통해 IP 주소를 요청하는 유일한 스위치라고 가정하면,내 생각엔이것은 오래되었거나 알려진 ISC DHCP 버그/"기능"입니다.

특정 동적 임대가 다른 임대보다 우선합니다.새로운특히 동일한 네트워크에 있는 경우에는 더욱 그렇습니다.

특정 사례를 구성하기 전에 스위치는 일반/"알 수 없는" 풀에서 주소를 가져오고 DHCP 데몬은 해당 주소에 우선 순위를 부여합니다.

DHCP 임대 파일 var/lib/dh​​cp/dhcpd.leases를 삭제하거나 DHCP 서비스를 중지하고 임대 파일에서 관련 스위치 MAC에 제공된 모든 IP 주소 임대를 편집할 수 있습니다. 이렇게 하면 원하는 효과를 얻을 수 있습니다.새 주소.

관련 정보