Как настроить сетевые параметры в Debian

Нужно задать адрес, шлюз и DNS на Debian. На Debian 12+ чаще NetworkManager или systemd-networkd. Файл /etc/network/interfaces жив, если стоит ifupdown — не копируйте его вслепую на систему, которой управляет NM.
1. Понять, кто управляет сетью
ip -4 addr
ip route
systemctl is-active NetworkManager systemd-networkd networking
ls /etc/netplan 2>/dev/null
cat /etc/os-release
Если NetworkManager active — правьте через nmcli. Если networking active и есть interfaces — ifupdown. Не держите два менеджера на одном интерфейсе.
2. NetworkManager (Debian 12+ типичный путь)
nmcli device status
nmcli connection show
sudo nmcli connection modify "Wired connection 1" \
ipv4.method manual \
ipv4.addresses 192.0.2.10/24 \
ipv4.gateway 192.0.2.1 \
ipv4.dns "1.1.1.1 9.9.9.9"
sudo nmcli connection up "Wired connection 1"
ip -4 addr show
ip route
Подставьте имя соединения из nmcli connection show. Ожидание: адрес и default via шлюз. Имена 1.1.1.1 / 9.9.9.9 — пример публичных резолверов, не требование.
3. ifupdown, если он реально главный
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.0.2.10/24
gateway 192.0.2.1
dns-nameservers 1.1.1.1 9.9.9.9
Имя интерфейса возьмите из ip link, не копируйте eth0 вслепую. Применить:
sudo ifdown eth0 && sudo ifup eth0
Делайте это с консоли или из второй сессии: ошибка в шлюзе отрежет SSH. VLAN — eth0.10 и пакет vlan, либо NM ipv4 на vlan-соединении.
Ubuntu: netplan
В Ubuntu Server сетью управляет netplan, а не ifupdown. Файл /etc/netplan/00-installer-config.yaml:
network:
version: 2
ethernets:
ens18:
addresses: [192.0.2.10/24]
routes:
- to: default
via: 192.0.2.1
nameservers:
addresses: [1.1.1.1, 9.9.9.9]
sudo netplan try # применяет с откатом через 120 секунд, если не подтвердить
sudo netplan apply
Команда netplan try безопаснее apply: при ошибке в шлюзе связь вернётся сама. Имя интерфейса возьмите из ip link. Файл с отступами чувствителен к пробелам: используйте пробелы, не табуляцию.
systemd-networkd без NetworkManager
Для серверов без графики подходит systemd-networkd. Файл /etc/systemd/network/10-lan.network:
[Match]
Name=ens18
[Network]
Address=192.0.2.10/24
Gateway=192.0.2.1
DNS=1.1.1.1
sudo systemctl enable --now systemd-networkd
sudo networkctl status
DNS и имя хоста
resolvectl status
cat /etc/resolv.conf
sudo hostnamectl set-hostname srv-01.example.internal
Если /etc/resolv.conf ссылается на 127.0.0.53, DNS обслуживает systemd-resolved: правьте адреса через настройки сети, а не файл напрямую.
Диагностика
- Не пингуется шлюз: неверный адрес, маска или VLAN.
- После перезагрузки настройки пропали: правка сделана командой
ip addr, а не в конфигурации. - Два менеджера на одном интерфейсе дают случайные адреса: оставьте один.
После настройки сети закройте лишние порты: hardening Debian.
Как проверить
ip -4 addr
ip route
getent hosts deb.debian.org
ping -c 2 192.0.2.1
Адрес на месте, default route есть, имя пакета резолвится. Документация: Debian Reference, Network setup.
Источники
- Debian Reference, Network setup. URL: https://www.debian.org/doc/manuals/debian-reference/ch05.en.html.


















