sirmax Posted August 11, 2023 Posted August 11, 2023 Что хочу: в качестве резерва поднять копию DHCP сервера с выдачей адресов только для известных МАК-адресов Зачем: на случае отключения питания на техплощадке, иметь возможность потушить по питанию сервера и выпускать в интерент тех чьи МАК-адреса известны в биллинге и заранее или до отключения сервера скриптом влиты в железку. Забить болт на дублирование адресов в разных вланах, на наличие Option 82 в запросе (вариант поставить для резерва что-то малопотребляющее а-ля RaspberryPi я рассматриваю но это выходит за рамки данного вопроса) Суть проблемы: не выходит настроить DHCP что бы выдавать адреса только клиентам чьи мак-адреса есть в конфиге. Судя по всему Client-ID при его наличие важнее мак-адреса (?) Конфиг: interface Loopback101 ip address 10.3.0.254 255.255.0.0 secondary ip address 10.2.0.254 255.255.0.0 secondary ip address 100.64.255.254 255.255.0.0 interface Port-channel1.101 encapsulation dot1Q 101 ip dhcp relay information trusted ip dhcp relay information policy-action keep ip unnumbered Loopback101 poll ip nat inside service-policy type control ISG-CUSTOMERS-POLICY ip subscriber routed initiator unclassified ip-address end ip dhcp pool 100.64.1.4 host 100.64.1.4 255.255.0.0 client-identifier 01fa.163e.f3c2.48 dns-server 172.31.100.1 172.31.100.5 default-router 100.64.255.254 lease 0 0 11 С моей точки зрения этого должно быть достаточно что бы выдавать адрес только одному клиенту с мак-адресом fa16.3ef3.c248 но маршрутизатор думает иначе ASR1001#show ip dhcp binding Bindings from all pools not associated with VRF: IP address Client-ID/ Lease expiration Type State Interface Hardware address/ User name 100.64.1.4 01fa.163e.f3c2.48 Infinite Manual Selecting Unknown Aug 11 2023 16:02:39.824 UTC: DHCPD: DHCPDISCOVER received from client fa16.3ef3.c248 on interface Port-channel1.101. Aug 11 2023 16:02:39.824 UTC: DHCPD: using received relay info. Aug 11 2023 16:02:39.824 UTC: DHCPD: Sending notification of DISCOVER: Aug 11 2023 16:02:39.824 UTC: DHCPD: htype 1 chaddr fa16.3ef3.c248 Aug 11 2023 16:02:39.824 UTC: DHCPD: remote id 00067cad74002140 Aug 11 2023 16:02:39.824 UTC: DHCPD: circuit id 000400651503 Aug 11 2023 16:02:39.824 UTC: DHCPD: interface = Port-channel1.101 Aug 11 2023 16:02:39.824 UTC: DHCPD: FSM state change INVALID Aug 11 2023 16:02:39.824 UTC: DHCPD: Workspace state changed from INIT to INVALID Aug 11 2023 16:02:39.824 UTC: DHCPD: classname not set in msg Aug 11 2023 16:02:39.824 UTC: DHCPD: there is no address pool for 100.64.255.254. Aug 11 2023 16:02:39.824 UTC: DHCPD: classname not set in msg Aug 11 2023 16:02:39.824 UTC: DHCPD: there is no address pool for 10.3.0.254. Aug 11 2023 16:02:39.824 UTC: DHCPD: classname not set in msg Aug 11 2023 16:02:39.824 UTC: DHCPD: there is no address pool for 10.2.0.254. Aug 11 2023 16:02:39.824 UTC: DHCPD: Sending notification of ASSIGNMENT FAILURE: Aug 11 2023 16:02:39.824 UTC: DHCPD: htype 1 chaddr fa16.3ef3.c248 Aug 11 2023 16:02:39.824 UTC: DHCPD: remote id 020a00006440fffef1000065 Aug 11 2023 16:02:39.824 UTC: DHCPD: interface = Port-channel1.101 Aug 11 2023 16:02:39.824 UTC: DHCPD: Sending notification of ASSIGNMENT_FAILURE: Aug 11 2023 16:02:39.824 UTC: DHCPD: due to: NO POOL Aug 11 2023 16:02:39.824 UTC: DHCPD: htype 1 chaddr fa16.3ef3.c248 Aug 11 2023 16:02:39.824 UTC: DHCPD: remote id 020a00006440fffef1000065 Aug 11 2023 16:02:39.824 UTC: DHCPD: interface = Port-channel1.101 Aug 11 2023 16:02:47.898 UTC: DHCPD: Reload workspace interface Port-channel1.101 tableid 0. Aug 11 2023 16:02:47.898 UTC: DHCPD: tableid for 100.64.255.254 on Port-channel1.101 is 0 Aug 11 2023 16:02:47.898 UTC: DHCPD: tableid for 10.3.0.254 on Port-channel1.101 is 0 Aug 11 2023 16:02:47.898 UTC: DHCPD: tableid for 10.2.0.254 on Port-channel1.101 is 0 Aug 11 2023 16:02:47.898 UTC: DHCPD: client's VPN is . Aug 11 2023 16:02:47.898 UTC: DHCPD: using received relay info. Aug 11 2023 16:02:47.898 UTC: DHCPD: Sending notification of DISCOVER: Aug 11 2023 16:02:47.898 UTC: DHCPD: htype 1 chaddr fa16.3ef3.c248 Aug 11 2023 16:02:47.898 UTC: DHCPD: remote id 00067cad74002140 Aug 11 2023 16:02:47.898 UTC: DHCPD: circuit id 000400651503 Aug 11 2023 16:02:47.898 UTC: DHCPD: interface = Port-channel1.101 В целом если сделать динамический пул то все работает, но это не то что мне нужно Client-ID может задавать сам клиент и он его и задает например systemd что то вроде: Option: (61) Client identifier Length: 19 IAID: ed10bdb8 DUID Type: assigned by vendor based on Enterprise number (2) Enterprise-number: Tom Gundersen (systemd) (43793) Identifier: 0a830f99dc04cc77 Что там могут прислать абонентские устройства мне не интересно - я хочу это поле игнорировать и выдавать только по мак-адресам Да я понимаю что это вопрос из разряда "хочу странного"! не нужно писать в духе "возьми микротик/что-то еще" - я так и сделаю если не найду решение на одну железку Вставить ник Quote
alibek Posted August 11, 2023 Posted August 11, 2023 На Микротике это режим пула static-only. На DHCP-сервере Microsoft весь пул помещается в резерв, чтобы свободных адресов не осталось. На DHCP-сервере ISC можно задать пул нулевого размера и дополнительно прописать нужные лизы. Тут, судя по всему, нужно использовать DHCP-сервер Cisco. С ним особо не сталкивался, но полагаю, что пул нулевого размера тоже должен сработать. Вставить ник Quote
jffulcrum Posted August 11, 2023 Posted August 11, 2023 ip dhcp use class no Эта лажа давно известна...когда один и тот же комп после перезагрузки в другую ОС адреса или вообще не получает, или получает новый, потому что в разных ОС разный класс в запросе. Вставить ник Quote
sirmax Posted August 13, 2023 Author Posted August 13, 2023 19 часов назад, jffulcrum сказал: ip dhcp use class no Эта лажа давно известна...когда один и тот же комп после перезагрузки в другую ОС адреса или вообще не получает, или получает новый, потому что в разных ОС разный класс в запросе. Да, с релееем на микротик все конечно сразу заработало Впоролся вот в такую ошибку, у кого доступ есть - можете глянуть что там? https://quickview.cloudapps.cisco.com/quickview/bug/CSCui76244 А то там без логина не дают смотреть Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.