Команда ip address применяется для назначения адресов и маски данному интерфейсу.
Синтаксис ip address ip-address mask [secondary] no ip address ip-address mask [secondary] |
|
ip-addess |
локальный IP-адрес. |
mask |
маска подсети. |
secondary |
показывается для второго и последующих адресов. |
Значение по умолчанию |
отсутствует |
Режимы команды |
Interface configuration |
Рекомендации по использованию |
• Команда ip address выполняется немедленно после ввода, изменения IP-адреса интерфейса и маски сохраняются в загрузочных скриптах ОС. • Команда ip address будет выполняться даже в том случае, если данный адрес уже присутствует на интерфейсе. Это сделано для того, чтобы избежать ситуации, когда текущий адрес на интерфейсе не совпадает с адресом, прописанным в загрузочных скриптах. В этом случае введенная команда принудительно запишет указанный адрес в загрузочные скрипты. • При
выполнении команды ip
address автоматически
выставляется broadcast address в значение ip-address |
~mask. • Различаются primary и secondary IP-адреса. В качестве primary адреса выбирается первый по списку адрес, остальные - в качестве secondary. Primary адрес может быть только один и задается командой: ip address primary-ip primary-mask • Повторное задание IP-адреса замещает предыдущее значение: • если смена primary адреса не удалась, то выдается сообщение: Cannot set the primary address (Reason: <Reason>) • если адрес был изменен, но состояние интерфейса не удалось сохранить, то выдается сообщение: The primary address was set, but the state of the interface was not saved. The changes will be lost after reboot • если в качестве нового primary адреса задать существующий secondary адрес, то сначала будет удален существующий secondary адрес, а затем будет изменен primary адрес. При этой двойной операции возможны следуюшие ошибки: - если не удалось удалить существующий secondary адрес, то выдается сообщение: Cannot remove the address (Reason: <Reason>) - если не удалось изменить primary адрес, то выдается сообщение: Cannot set the primary address (Reason: <Reason>) - если не удалось сохранить состояние интерфейса, то выдается сообщение: The primary address was set, but the state of the interface was not saved. The changes will be lost after reboot • Если до ввода primary адреса на интерфейсе отсутствовали IP-адреса и была введена команда “no shutdown”, то после выставления IP-адреса на интерфейсе выполняется отложенное включение интерфейса (подробнее см. команду shutdown). • Адресов secondary может быть несколько. Secondary адрес задается командой: ip address ip-address mask secondary • Адрес secondary можно задать, если задан primary адрес. В противном случае, выдается сообщение об ошибке: Cannot add secondary without primary (Reason: <Reason>) • Нельзя задавать в качестве secondary тот же адрес, что и primary. Иначе выдается сообщение об ошибке: Secondary can't be same as primary • Нельзя задать IP-адрес 0.0.0.0. В этом случае выдается сообщение: Not a valid host address - 0.0.0.0 Это ограничение приводит к тому, что если задать IP-адрес 0.0.0.0 (с ненулевой маской) с помощью других средств (не в консоли), то он будет показан по команде show running-config, но удалить этот адрес в консоли невозможно, он будет отвергаться. В такой ситуации удалить все адреса на интерфейсе (включая и 0.0.0.0) можно с помощью команды no ip address. • Нельзя задать IP-адрес 255.255.255.255. В этом случае выдается сообщение: Not a valid host address - 255.255.255.255. • Нельзя задать маску 0.0.0.0. В этом случае выдается сообщение об ошибке: Bad mask /0 for address <ip>. Нельзя задавать маску 255.255.255.255. В этом случае выдается сообщение: Bad mask /32 for address <ip> • Если попытаться задать некорректную маску (например, 255.0.255.0), то выдается сообщение вида: Bad mask 0xFF00FF00 for address <ip> • Если попытаться задать некорректное сочетание IP-адреса и маски (все биты адреса, не попадающие на маску, выставлены в 0 или в 1), выдается сообщение: Bad mask /<len> for address <ip> Например: Bad mask /24 for address 192.168.10.0 Bad mask /24 for address 192.168.10.255 • Если не удалось добавить на интерфейс новый адрес, то выдается сообщение: Cannot add the address (Reason: <Reason>) • Если новый адрес был добавлен, но состояние интерфейса не удалось сохранить, то выдается сообщение: The address was added, but the state of the interface was not saved. The changes will be lost after reboot. • Допускается задавать полную копию существующего адреса, чтобы предотвратить ситуацию несовпадения текущего адреса и адреса в загрузочных скриптах ОС. Также можно для существующего адреса изменить маску: • в случае ошибки выдается сообщение: Cannot change the address (Reason: <Reason>) • если параметры интерфейса удалось изменить, но состояние интерфейса не удалось сохранить, то выдается сообщение: The address was changed, but the state of the interface was not saved. The changes will be lost after reboot. |
Удаление |
Удаление всех адресов с интерфейса осуществляется командой: no ip address. После этой команды интерфейс будет выключен. Команда показывается по show running-config. • Если не удалось удалить все адреса с интерфейса, то выдается сообщение: Cannot remove all addresses (Reason: <Reason>) • Если не удалось сохранить состояние интерфейса после удаления всех адресов, то выдается сообщение: All addresses were removed, but the state of the interface was not saved. The changes will be lost after reboot. Удаление конкретного адреса с интерфейса осуществляется командой: no ip address ip-address mask no ip address ip-address mask secondary Удаление primary адреса по последствиям аналогично команде: no ip address При удалении secondary адреса, в команде слово secondary можно и не писать. |
Сообщения при удалении |
• При попытке удалить несуществующий адрес выдается сообщение об ошибке: Invalid address • При указании маски, отличающейся от используемой для данного адреса, выдается сообщение об ошибке: Invalid address mask • Не допускается удалять primary адрес, если присутствует хотя бы один secondary. Выдается сообщение об ошибке: Must delete secondary before deleting primary • В команде удаления primary адреса не допускается писать слово secondary, в противном случае, выдается сообщение об ошибке: Secondary can't be same as primary. Invalid address. • Если по каким-то причинам не удалось удалить адрес, выдается сообщение: Cannot remove the address (Reason: <Reason>) • Если удаление выполнилось, но состояние интерфейса не удалось сохранить, выдается сообщение: The address was removed, but the state of the interface was not saved. The changes will be lost after reboot. |
Просмотр по команде show running-config |
Команда show running-config всегда показывает текущее системное состояние интерфейса. • Если адрес на интерфейсе изменен каким-либо образом помимо консоли, то по команде show running-config это изменение будет показано. Отсюда возможна ситуация, когда текущий адрес интерфейса отличается от адреса, прописанного в загрузочных скриптах ОС, и это отличие никак не проявляется в cisco-like конфигурации: • Если администратор осведомлен о данной ситуации, и ему требуется сохранить текущие адреса в загрузочных скриптах, то он может войти в режим настройки консоли и повторно прописать те же самые адреса на сетевых интерфейсах. Это приведет к тому, что эти адреса будут прописаны в загрузочные скрипты. • Для предотвращения такой ситуации рекомендуется не смешивать выставление адресов на сетевых интерфейсах с помощью консоли с другими средствами (например, командой ifconfig). • Если на интерфейсе присутствует адрес 0.0.0.0/0 (нулевой адрес с нулевой маской) наряду с другими, то по команде show running-config он не показывается. • Если на интерфейсе отсутствуют адреса или присутствует только адрес 0.0.0.0/0, то по команде show running-config для данного интерфейса показывается команда no ip address. |
Отличие данной команды от подобной команды Cisco IOS |
• После команды no ip address данный интерфейс выключается. • Нельзя задать secondary адрес, не задав перед этим primary адрес. |