Предыдущая версия справа и слева Предыдущая версия | |
work:cisco:ip-dhcp-static-host [2025/05/28 10:17] – rolland | work:cisco:ip-dhcp-static-host [2025/05/28 10:17] (текущий) – rolland |
---|
В Cisco есть пулы. Пулы раздают для определенной подсети IP-адреса. И вроде как понятие "пул" ассоциируется сразу с набором адресов, из которого DHCP сервер будет динамически выдавать свободный. | В Cisco есть пулы. Пулы раздают для определенной подсети IP-адреса. И вроде как понятие "пул" ассоциируется сразу с набором адресов, из которого DHCP сервер будет динамически выдавать свободный. |
| |
Однако понятие "закрепления" 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> | <code> |
\ | CISCO# config t |
CISCO# config t\ | CISCO(config)# ip dhcp pool MyRoumingHost_OfficeA |
CISCO(config)# ip dhcp pool MyRoumingHost_OfficeA\ | CISCO(dhcp-config)# host 10.0.10.44 255.255.255.0 |
CISCO(dhcp-config)# host 10.0.10.44 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.10.1 |
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)# dns-server 10.0.0.1 10.0.1.1\ | CISCO(dhcp-config)# end |
CISCO(dhcp-config)# end\ | CISCO# config t |
CISCO# config t\ | CISCO(config)# ip dhcp pool MyRoumingHost_OfficeB |
CISCO(config)# ip dhcp pool MyRoumingHost_OfficeB\ | CISCO(dhcp-config)# host 10.0.11.44 255.255.255.0 |
CISCO(dhcp-config)# host 10.0.11.44 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.11.1 |
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)# dns-server 10.0.0.1 10.0.1.1\ | CISCO(dhcp-config)# end |
CISCO(dhcp-config)# end\ | |
</code> | </code> |
| |
Просто, не правда ли? Т.е. мы создали два пула с разными именами, с одинаковым MAC, но с разными сетевыми реквизитами. | Просто, не правда ли? Т.е. мы создали два пула с разными именами, с одинаковым MAC, но с разными сетевыми реквизитами. |
| |
Источники [[https://sysalex.blogspot.com/2013/04/cisco-dhcp-ip-ip.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|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]] |
| |