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