Короткий ответ: 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. Сначала найдите свой файл и имя интерфейса:
ls /etc/netplan/
ip link show # имя интерфейса, например eth0 или enp1s0network:
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)
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 eth0nmcli connection modify только меняет сохранённый профиль; ничего не применяется, пока connection up не перечитает его, а это ненадолго разрывает интерфейс так же, как и netplan apply, — снова держите под рукой консоль.
Статический IP в Windows
# сначала узнайте псевдоним интерфейса
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-сессию вместе с сетью.