Следующая версия | Предыдущая версия |
work:cisco:ip-dhcp-static-host [2025/05/28 10:17] – создано rolland | work:cisco:ip-dhcp-static-host [2025/05/28 10:17] (текущий) – rolland |
---|
Однако понятие "закрепления" MAC=IP в Cisco тоже реализуется через пулы. И создаются пулы совершенно так-же, как и обычные, за исключением одного момента: для обычных пулов мы определяем директиву //**network**// для того, чтобы указать подсеть, из которой выдавать адреса, а для статической привязки пулы мы НЕ используем директиву //**network**//, а используем //**host**//, добавляя к ней //**client-identifier**//. | Однако понятие "закрепления" MAC=IP в Cisco тоже реализуется через пулы. И создаются пулы совершенно так-же, как и обычные, за исключением одного момента: для обычных пулов мы определяем директиву //**network**// для того, чтобы указать подсеть, из которой выдавать адреса, а для статической привязки пулы мы НЕ используем директиву //**network**//, а используем //**host**//, добавляя к ней //**client-identifier**//. |
| |
Вот пример объявления статической привязки MAC-адреса к IP:\\ | Вот пример объявления статической привязки MAC-адреса к IP: |
<code>\\ | <code> |
CISCO# config t\\ | CISCO# config t |
CISCO(config)# ip dhcp pool MyHost\\ | CISCO(config)# ip dhcp pool MyHost |
CISCO(dhcp-config)# host 10.0.99.15 255.255.255.0\\ | CISCO(dhcp-config)# host 10.0.99.15 255.255.255.0 |
CISCO(dhcp-config)# client-identifier 0194.39e5.c0c2.a9\\ | CISCO(dhcp-config)# client-identifier 0194.39e5.c0c2.a9 |
CISCO(dhcp-config)# default-router 10.0.99.1\\ | CISCO(dhcp-config)# default-router 10.0.99.1 |
CISCO(dhcp-config)# dns-server 10.0.0.1 10.0.1.1\\ | CISCO(dhcp-config)# dns-server 10.0.0.1 10.0.1.1 |
CISCO(dhcp-config)# end\\ | CISCO(dhcp-config)# end |
</code> | </code> |
Здесь:\ | Здесь: |
* //**host**// : определяет IP адрес для данного хоста\\ | * //**host**// : определяет IP адрес для данного хоста |
* //**client-identifier**// : задает MAC-адрес, по которому будем привязываться\\ | * //**client-identifier**// : задает MAC-адрес, по которому будем привязываться |
* //**default-router**// : Шлюз по-умолчанию\\ | * //**default-router**// : Шлюз по-умолчанию |
* //**dns-server**// : Серверы DNS\\ | * //**dns-server**// : Серверы DNS |
<note important>Очень внимательно посмотрите на строку //**client-identifier**//. Видите, что MAC адрес почему-то на одно слово длиннее, чем должен быть? Дело в том, что впереди мы добавили "01" (на самом деле MAC выглядит 94:39:E5:C0:C2:A9). Дело в том, что во время запроса на Cisco прилетает MAC в таком вот виде, т.е. с "01" вначале. Прилетает он так с Windows, с Unix-систем вначале добавляется "00" вместо "01". Возможно, на других железках запрос прилетает еще по-своему. Лучше всего сначала не привязывать хост, а посмостреть через\\ | <note important>Очень внимательно посмотрите на строку //**client-identifier**//. Видите, что MAC адрес почему-то на одно слово длиннее, чем должен быть? Дело в том, что впереди мы добавили "01" (на самом деле MAC выглядит 94:39:E5:C0:C2:A9). Дело в том, что во время запроса на Cisco прилетает MAC в таком вот виде, т.е. с "01" вначале. Прилетает он так с Windows, с Unix-систем вначале добавляется "00" вместо "01". Возможно, на других железках запрос прилетает еще по-своему. Лучше всего сначала не привязывать хост, а посмостреть через |
<code>\\ | <code> |
CISCO# sh ip dhcp bind\\ | CISCO# sh ip dhcp bind |
</code> | </code> |
в каком виде прилетел MAC. | в каком виде прилетел MAC. |
| |
Итого, для Windows и BSD/Unix/MacOS MAC будет прилетать в таком виде:\\ | Итого, для Windows и BSD/Unix/MacOS MAC будет прилетать в таком виде: |
* //**Unix**//: 0094.39e5.c0c2.a9\\ | * //**Unix**//: 0094.39e5.c0c2.a9 |
* //**Windows**//: 0194.39e5.c0c2.a9\\ | * //**Windows**//: 0194.39e5.c0c2.a9 |
</note> | </note> |
| |
Иногда, после\\ | Иногда, после |
<code>\\ | <code> |
client-identifier 0194.39e5.c0c2.a9\\ | client-identifier 0194.39e5.c0c2.a9 |
</code> | </code> |
Мы получаем сообщение | Мы получаем сообщение |
<code>\\ | <code> |
A binding for this client already exists.\\ | A binding for this client already exists. |
</code> | </code> |
Чтобы решить эту проблему, сначала находим ip выданный этому MAC. Команда указана в примечании выше. А потом выполняем\\ | Чтобы решить эту проблему, сначала находим ip выданный этому MAC. Команда указана в примечании выше. А потом выполняем |
<code>\\ | <code> |
clear ip dhcp binding <ip-address>\\ | clear ip dhcp binding <ip-address> |
</code> | </code> |
Теперь можно спокойно выполнять | Теперь можно спокойно выполнять |
<code>\\ | <code> |
client-identifier 0194.39e5.c0c2.a9\\ | client-identifier 0194.39e5.c0c2.a9 |
</code> | </code> |
| |
Как нам на Cisco DHCP это прописать? | Как нам на Cisco DHCP это прописать? |
| |
\\ | |
Итак, мы используем два пула - для офиса А и для офиса Б соответственно. Пулы, конечно, назовем по-разному. Ниже пример такой настройки:\\ | |
<code>\\ | |
CISCO# config t\\ | |
CISCO(config)# ip dhcp pool MyRoumingHost_OfficeA\\ | |
CISCO(dhcp-config)# host 10.0.10.44 255.255.255.0\\ | |
CISCO(dhcp-config)# client-identifier 0194.39e5.c0c2.a9\\ | |
CISCO(dhcp-config)# default-router 10.0.10.1\\ | |
CISCO(dhcp-config)# dns-server 10.0.0.1 10.0.1.1\\ | |
CISCO(dhcp-config)# end\\ | |
CISCO# config t\\ | |
CISCO(config)# ip dhcp pool MyRoumingHost_OfficeB\\ | |
CISCO(dhcp-config)# host 10.0.11.44 255.255.255.0\\ | |
CISCO(dhcp-config)# client-identifier 0194.39e5.c0c2.a9\\ | |
CISCO(dhcp-config)# default-router 10.0.11.1\\ | |
CISCO(dhcp-config)# dns-server 10.0.0.1 10.0.1.1\\ | |
CISCO(dhcp-config)# end\\ | |
| |
| Итак, мы используем два пула - для офиса А и для офиса Б соответственно. Пулы, конечно, назовем по-разному. Ниже пример такой настройки: |
| <code> |
| CISCO# config t |
| CISCO(config)# ip dhcp pool MyRoumingHost_OfficeA |
| CISCO(dhcp-config)# host 10.0.10.44 255.255.255.0 |
| CISCO(dhcp-config)# client-identifier 0194.39e5.c0c2.a9 |
| CISCO(dhcp-config)# default-router 10.0.10.1 |
| CISCO(dhcp-config)# dns-server 10.0.0.1 10.0.1.1 |
| CISCO(dhcp-config)# end |
| CISCO# config t |
| CISCO(config)# ip dhcp pool MyRoumingHost_OfficeB |
| CISCO(dhcp-config)# host 10.0.11.44 255.255.255.0 |
| CISCO(dhcp-config)# client-identifier 0194.39e5.c0c2.a9 |
| CISCO(dhcp-config)# default-router 10.0.11.1 |
| CISCO(dhcp-config)# dns-server 10.0.0.1 10.0.1.1 |
| CISCO(dhcp-config)# end |
</code> | </code> |
| |
| |
Источники [[https://sysalex.blogspot.com/2013/04/cisco-dhcp-ip-ip.html]] и [[https://blog.manton.im/2015/09/error-binding-for-this-client-already.html]] | Источники [[https://sysalex.blogspot.com/2013/04/cisco-dhcp-ip-ip.html]] и [[https://blog.manton.im/2015/09/error-binding-for-this-client-already.html]] |
| |
| |