Команда 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. Например, по команде:
ip address192.168.10.10 255.255.255.0
автоматически выставляется broadcast address 192.168.10.255.
Различаются 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.
Нельзя задать маску 0.0.0.0. В этом случае выдается сообщение об ошибке: Bad mask /0 for address <ip>.
Если попытаться задать некорректную маску (например, 255.0.255.0), то выдается сообщение вида: Bad mask 0xFF00FF00 for address <ip>.
Если не удалось добавить на интерфейс новый адрес, то выдается сообщение: 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 адрес.