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  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 адрес.