ip address (interface)

Команда 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 address 192.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.

      Нельзя задать 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 адрес.