Руководства

Что такое IP-адрес: статический, динамический, белый и серый

IP-адрес бывает статическим или динамическим, и отдельно — белым (публичным) или серым (приватным). Как задать статический IP в Linux и Windows.

Опубликовано ~9 мин чтения

Короткий ответ: IP-адрес — это номер устройства в сети. Он бывает статическим (не меняется при каждом подключении — задан вручную или закреплён за устройством) или динамическим (сервер DHCP выдаёт его из пула заново), и отдельно — белым (публичным, маршрутизируется в интернете) или серым (приватным, работает только внутри локальной сети или за NAT). Ниже: какой адрес у вас, почему серверу нужен статический и белый IP, а домашнему подключению обычно не нужен, и как задать статический адрес в Debian, Ubuntu, дистрибутивах семейства RHEL и в Windows.

Статический IP и динамический IP

Статический IPДинамический IP
Кто назначаетВы сами или провайдер закрепляет его за устройствомDHCP-сервер, из пула, каждый раз заново
Меняется?Нет, пока вы его не поменяетеМожет измениться при переподключении или обновлении аренды
Типичное применениеСерверы, принтеры, VPN, правила файрволаНоутбуки, телефоны, домашний интернет
СтоимостьУ интернет-провайдера часто платная опция; у VPS входит в тарифОбычно вариант по умолчанию, бесплатно

Любой VPS, напротив, получает статический IP с первой загрузки — провайдер закрепляет его за этой виртуальной машиной, и адрес не меняется при перезагрузке, поэтому запись DNS можно направить на него один раз и больше не трогать.

Белый и серый IP — это другое деление

«Белый» (или «публичный») IP виден из интернета и до него можно достучаться напрямую — это то, что провайдер выдаёт серверу. «Серый» (или «приватный») IP работает только внутри локальной сети: это диапазоны 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16 (RFC 1918), которые роутер превращает в один белый адрес с помощью NAT. Статический и белый — не синонимы: домашний IP чаще всего серый и динамический одновременно, а у VPS он почти всегда статический и белый с самого начала.

Почему статический IP важен

Запись A в DNS, правило файрвола с разрешённым списком адресов, запись known_hosts в SSH и конфигурация VPN-пира — всё это ссылается прямо на IP-адрес. Если такой адрес может незаметно поменяться, каждая из этих настроек ломается в тот же момент. В этом вся суть: статический IP сам по себе не делает соединение быстрее или безопаснее, он только даёт адрес, на который можно положиться.

Как узнать, какой у вас адрес

В домашнем или офисном подключении провайдер почти всегда выдаёт динамический IP, если вы не заказали и не оплатили статический, — проверьте договор или спросите поддержку. На арендованном сервере смотрите в панели провайдера: основной IP VPS или выделенного сервера статический по определению и закреплён за этой машиной на весь срок аренды.

Какой адрес сейчас у машины
# Linux
ip -4 addr show scope global

# Windows (PowerShell)
Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.PrefixOrigin -ne 'WellKnown' }

В PowerShell столбец PrefixOrigin показывает Manual для статического адреса и Dhcp — для полученного по DHCP. В Linux узнать это достоверно можно только из конфигурационного файла или утилиты ниже — сам работающий адрес выглядит одинаково в обоих случаях.

Статический IP в Debian и Ubuntu (netplan)

Обе системы настраивают сеть через netplan начиная с Ubuntu 18.04 и Debian 12. Сначала найдите свой файл и имя интерфейса:

Debian · Ubuntu
ls /etc/netplan/
ip link show   # имя интерфейса, например eth0 или enp1s0
/etc/netplan/50-cloud-init.yaml (или ваш файл)
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 203.0.113.10/24
      routes:
        - to: default
          via: 203.0.113.1
      nameservers:
        addresses: [1.1.1.1, 9.9.9.9]
Применить
sudo netplan try    # показывает предпросмотр, сам откатится, если сломает подключение
sudo netplan apply

На VPS от провайдера, который использует cloud-init, файл /etc/netplan/50-cloud-init.yaml может пересоздаться при следующей загрузке и затереть вашу правку — если так случилось, положите статическую конфигурацию в новый файл, например /etc/netplan/99-static.yaml, который netplan применит поверх сгенерированного.

Статический IP в RHEL, Rocky и AlmaLinux (nmcli)

Rocky · AlmaLinux · RHEL
nmcli connection show                 # имя соединения, часто "eth0" или "System eth0"

sudo nmcli connection modify eth0 \
  ipv4.addresses 203.0.113.10/24 \
  ipv4.gateway 203.0.113.1 \
  ipv4.dns "1.1.1.1 9.9.9.9" \
  ipv4.method manual

sudo nmcli connection up eth0

nmcli connection modify только меняет сохранённый профиль; ничего не применяется, пока connection up не перечитает его, а это ненадолго разрывает интерфейс так же, как и netplan apply, — снова держите под рукой консоль.

Статический IP в Windows

PowerShell (от имени администратора)
# сначала узнайте псевдоним интерфейса
Get-NetAdapter

New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 203.0.113.10 -PrefixLength 24 -DefaultGateway 203.0.113.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 1.1.1.1,9.9.9.9

Те же настройки есть в Параметры → Сеть и Интернет → Ethernet → Назначение IP → Изменить, где нужно переключить «Автоматически (DHCP)» на «Вручную» — для тех, кто предпочитает обойтись без PowerShell.

Формат адреса выше — IPv4; то же деление на статический и динамический действует и для IPv6-адресов (англ.), хотя большинство провайдеров домашнего интернета выдают динамический префикс IPv6 даже на тарифе со статическим IPv4.

Любой VPS изначально получает статический и белый IPv4-адрес — на стороне провайдера настраивать ничего не нужно, только внутри операционной системы, если вы добавляете второй адрес или меняете адрес по умолчанию.

Частые вопросы

Чем статический IP отличается от белого IP?

Это два разных деления. Статический/динамический — про то, меняется ли адрес с течением времени: статический закреплён за устройством, динамический выдаёт DHCP из пула каждый раз заново. Белый/серый — про то, виден ли адрес из интернета: белый (публичный) маршрутизируется напрямую, серый (приватный, диапазоны 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) работает только в локальной сети за NAT. У VPS адрес почти всегда статический и белый с первой минуты; дома он обычно серый и динамический одновременно.

Как узнать, статический у меня IP-адрес или динамический?

На домашнем или офисном подключении провайдер почти всегда выдаёт динамический IP, если вы не заказали и не оплатили статический, — проверьте договор или спросите поддержку. На арендованном сервере загляните в панель провайдера: основной IP VPS или выделенного сервера статический по определению. На Linux сам работающий адрес выглядит одинаково в обоих случаях — достоверно сказать можно только по конфигурационному файлу; в PowerShell столбец PrefixOrigin показывает Manual для статического адреса и Dhcp для полученного по DHCP.

Как сделать IP-адрес статическим в Ubuntu или Debian?

Обе системы настраивают сеть через netplan с Ubuntu 18.04 и Debian 12: пропишите dhcp4: no и укажите addresses, routes и nameservers в файле /etc/netplan/*.yaml, затем выполните sudo netplan try (откатится сам через 120 секунд, если сломает подключение) и sudo netplan apply. Делайте это через консоль, а не только по SSH, на случай опечатки в адресе или шлюзе — она рвёт SSH-сессию вместе с сетью.

Читайте также

Все статьи раздела