Hetzner · Документация

Конфигурация сети в Debian и Ubuntu: статический IP, дополнительные адреса, IPv6

Обновлено

На серверах Hetzner адреса и шлюз выдаются в Robot или Cloud Console, а на самом сервере сеть настраивается средствами ОС. В Debian исторически используется ifupdown (файл /etc/network/interfaces), в Ubuntu — netplan, а современные Debian-образы нередко работают через systemd-networkd (отдельная инструкция). Ниже — типовые конфигурации. В примерах используются адреса из документационных диапазонов; свои значения возьмите из Robot или консоли.

Перед началом

  • Узнайте имя интерфейса: ip -br link (например, enp0s31f6, eth0, ens3).
  • Выпишите основной IP, маску (или длину префикса) и шлюз; значения для выделенных серверов зависят от подсети сервера.
  • Убедитесь, что есть запасной доступ: KVM-консоль или Rescue System (инструкция). Ошибка в настройке сети отрезает SSH.

Debian: /etc/network/interfaces

auto lo
iface lo inet loopback

auto enp0s31f6
iface enp0s31f6 inet static
    address 203.0.113.10/26
    gateway 203.0.113.1

iface enp0s31f6 inet6 static
    address 2001:db8:1234::2/64
    gateway fe80::1

Для IPv6 на серверах Hetzner шлюзом служит link-local адрес fe80::1, префикс выдаётся вместе с сервером. Применить настройки: systemctl restart networking или ifdown enp0s31f6 && ifup enp0s31f6 — выполняйте их в сессии, которая не зависит от этого интерфейса (консоль), иначе можно потерять соединение.

Дополнительный IP-адрес

Добавьте адрес на тот же интерфейс. Для одиночного дополнительного адреса используется маска /32:

iface enp0s31f6 inet static
    address 203.0.113.10/26
    gateway 203.0.113.1
    up ip addr add 203.0.113.55/32 dev enp0s31f6

Подробно о дополнительных адресах и их маршрутизации — в справках Дополнительные IP-адреса и Конфигурация статического IP.

Ubuntu: netplan

Файл лежит в /etc/netplan/ (например, 50-cloud-init.yaml или 01-netcfg.yaml). Отступы пробелами, табуляция не допускается.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s31f6:
      addresses:
        - 203.0.113.10/26
        - 2001:db8:1234::2/64
      routes:
        - to: default
          via: 203.0.113.1
        - to: "::/0"
          via: fe80::1
      nameservers:
        addresses: [185.12.64.1, 185.12.64.2]

Проверка и применение с откатом:

sudo netplan generate
sudo netplan try      # применит и вернёт старые настройки через 120 с, если не подтвердить

Если сервер создан в облаке и использует cloud-init, учтите, что он может перезаписывать сетевую конфигурацию. Чтобы отключить это, создайте файл /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg со строкой network: {config: disabled}. Для облака в большинстве случаев достаточно DHCP — оставьте как есть. DNS-серверы подставьте актуальные из документации Hetzner или используйте свои.

Проверка

ip -br addr
ip route
ip -6 route
ping -c3 1.1.1.1
ping -6 -c3 2606:4700:4700::1111
resolvectl status

Типичные ошибки

  • Неверная маска: адрес поднимается, но шлюз недоступен. Берите маску из Robot.
  • Опечатка в YAML: netplan try сообщит об ошибке до применения.
  • Два менеджера сети одновременно (ifupdown и netplan или NetworkManager) — оставьте один.
  • Забыт IPv6-шлюз fe80::1: IPv6 адрес есть, а исходящих соединений нет.

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

Как узнать, какой менеджер сети используется?

Проверьте systemctl is-active NetworkManager systemd-networkd networking и наличие файлов в /etc/netplan. Активным должен быть один.

Как настроить VLAN или vSwitch?

Создайте VLAN-интерфейс с нужным ID и MTU 1400, как в справке про vSwitch (там — Windows) и в разделе системных сетевых настроек Настройки сети — FAQ.

Что делать, если сеть пропала после правки?

Зайдите через KVM-консоль или Rescue System, смонтируйте корневой раздел и исправьте файл конфигурации.