Призначте IP-адресу на основі порту комутатора


9

Коротше:
я хочу, щоб сервер DHCP призначив заздалегідь налаштовану IP-адресу на основі порту (на комутаторі, в ідеалі), до якого підключено пристрій.

Довго:

Моя ситуація:
будую автоматизовану кімнатну ферму (для вирощування помідорів). Господарство складається з багатьох (12 наразі, але виростуть до сотень) однакових 7 "х7" кімнат. У кожній кімнаті буде порт Ethernet, і до цього порту буде підключена система контролю навколишнього середовища. Зверніть увагу, що кожну кімнату потрібно контролювати індивідуально.

Кімнати розташовані рядами по 12, тому я думав, що у мене буде комутатор на ряд, і підключу ці комутатори до маршрутизатора.

Я міг би запрограмувати кожен екологічний контролер статичним IP-адресою, щоб я міг пов’язати контролер з певною кімнатою на сервері, але я думаю, що було б простіше, якби я міг призначити IP-адресу кожній кімнаті, що також зробить контролери взаємозамінними і можливість гарячої заміни без необхідності ручної настройки.

InB4: Я також розглядаю можливість використання мережі ZigBee для цього додатка, але мені може знадобитися передавати діагностичні зображення, і з сотнями одиниць ZigBee може бути неадекватним.

Питання: чи можна призначити заздалегідь налаштовану IP-адресу на основі порту, до якого підключено пристрій? Які пристрої мені потрібні для цього?


1
Ви можете зробити щось на зразок VLAN на порт і призначити / 30 або / 31 для кожної VLAN, але ви впевнені, що вам потрібно використовувати IP-адреси для ідентифікації пристроїв? Чи додаток, який ви використовуєте для читання, називає пристрої якимось чином? Моє відчуття кишечника полягає в тому, що повинен бути кращий спосіб досягти цього.
Рон Трунк

Мене цікавить лише фізичне розташування блоку, кожен окремий контролер не має змістовної ідентичності. Якщо контролер, наприклад, вигорів - я хочу мати можливість замінити його абсолютно новим, не вникаючи в налаштування пристроїв і не налаштовуючи статичну IP-адресу або місцеположення.
THX-1138

Відповіді:


12

чи можна призначити попередньо налаштовану IP-адресу на основі порту, до якого підключено пристрій? Які пристрої мені потрібні для цього?

Ви можете використовувати комутатор Cisco та IOS, що підтримує розподіл адрес на основі сервера DHCP на вашому комутаторі; ви також повинні видавати DHCP зі свого комутатора. Припустимо, що у вас є Fa0/1і Fa0/2в Vlan120.

ip dhcp use subscriber-id client-id
ip dhcp subscriber-id interface-name
ip dhcp excluded-address 192.0.2.1 192.0.2.10
!
ip dhcp pool VLAN120
   network 192.0.2.0 255.255.255.0
   default-router 192.0.2.1
   dns-server 192.0.2.5
   reserved-only
   address 192.0.2.101 client-id "Fa0/1" ascii
   address 192.0.2.102 client-id "Fa0/2" ascii

Ця конфігурація резервує адреси для fa0 / 1 і fa0 / 2. Для цих портів завжди буде призначена однакова адреса.


1
Існує також варіант-82 для зовнішнього сервера DHCP, але це набагато більше роботи і більше "серверного" питання.
Рікі Бім

2

Мені вдалося зробити те, що ви хотіли, використовуючи Cisco IOS DHCP та варіант 82 сну. Я, можливо, не використовую правильні умови. Але в основному мені потрібно було призначити IP-адреси кухонним принтерам на основі станції на кухні, на якій вони були. Якщо один із цих принтерів загинув під час зміни обіду, менеджер магазину повинен мати можливість поставити новий принтер, налаштований на DHCP, і налаштувати його з тією ж адресою, що й принтер видалений. Мені також знадобилося, щоб усі 8 принтерів знаходилися в одному домені широкомовної передачі, і я не міг скористатися помічником для надсилання на сервер Windows 2012, оскільки магазину потрібно було продовжувати працювати, навіть якщо мій Wan знизився.

Я зробив це за допомогою наступної команди на кожному порту комутатора: ip dhcp snooping vlan 3 information option format-type circuit-id override string broil(або що стосується вас)

Використовуйте конвертер ASCII в шістнадцятковий і конвертуйте рядок у шестигранну

Тоді на сервері DHCP - це комутатор або маршрутизатор, встановлений клас DHCP. Для мого брейла вище це

ip dhcp class broil
   relay agent information
      relay-information hex 010562726f696c*

Це є 010 <number of characters in your string so 5 since broil is 5 characters><whatever your string converts to>

Ось як налаштований мій басейн.

ip dhcp pool Kitchen
 network 10.102.1.0 255.255.255.0   
 default-router 10.102.1.1
 lease infinite
 class broil
 address range 10.102.1.160 10.102.1.160

І нарешті, щоб зробити цю адресу доступною для іншого пристрою, якщо той, що знаходиться в цьому порту комутатора, не вдається, я налаштував завдання kron, щоб видавати clear ip dhcp bind *кожні 5 хвилин.

Я вважаю, що для ВСІХ цього для роботи мені потрібні були наступні додаткові команди на моєму комутаторі ios, який є моїм dhcp-сервером

ip dhcp relay information trust-all ip dhcp subscriber-id
interface-name

ip dhcp snooping vlan 3 (our vlan of course) ip dhcp snooping
information option allow-untrusted ip dhcp snooping

і на будь-якому порту, що з'єднує ваш перемикач сервера DHCP з будь-якими іншими комутаторами, які можуть бути використані для цього (разом з цим перемикає висхідну лінію на ваш комутатор сервера DHCP)

ip dhcp snooping trust

Це в основному це. Діє як шарм, і НАЗВІТЬ, ми дозволили нам відійти від IP до серійного друку, який був аварією поїзда.


-1

Якщо ви хочете "гаряче змінювати", імена пристроїв повинні бути незалежними від їх місцезнаходження. Вам потрібно буде відслідковувати MAC-адреси пристроїв на графіку з таким відповідним ім'ям Minion, як "Bob". Потім налаштуйте пристрій з таким ім'ям або описом "Боб". Таким чином, коли звіти про моніторинг мережі видають лише опис або ім'я для перевірки діаграми. Вам просто потрібно вести облік на графіку, куди ви ставите пристрої.

Перемикачі більше стосуються фізичних адрес, ніж ip-адрес. Однак кожен поверх може використовувати власну vlan із власним dhcp-сервером. Тоді ви можете створити іменований vlan для кожного поверху, наприклад, "raste_rooms_1-12" за допомогою маски підмережі / 28. Ви також можете дати кожному порту опис типу "виростити кімнату 1." Це чудові засоби управління, якщо ви переглядаєте свою мережу за допомогою командного рядка.

Ви також можете змінити розміри кімнат, щоб підвищити ефективність освітлення, вологості та температури, що також може зменшити прилади моніторингу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.