Ответ
В современных дистрибутивах я предпочитаю настраивать сеть через Netplan (Ubuntu) или NetworkManager (nmcli), так как это предсказуемо и легко автоматизируется. Ручное редактирование старых конфигов вроде /etc/network/interfaces оставляю для специфичных случаев.
Пример настройки статического IP на Ubuntu 22.04 с Netplan:
- Редактирую конфиг в
/etc/netplan/00-installer-config.yaml:network: version: 2 ethernets: eth0: addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] - Применяю конфигурацию:
sudo netplan apply
Для RHEL/CentOS/Rocky использую nmcli:
# Создаю connection со статическим IP
sudo nmcli con add type ethernet ifname eth0 con-name eth0-static ip4 192.168.1.100/24 gw4 192.168.1.1
# Добавляю DNS
sudo nmcli con mod eth0-static ipv4.dns "8.8.8.8 1.1.1.1"
# Активирую соединение
sudo nmcli con up eth0-static
Для быстрых проверок и отладки использую низкоуровневые утилиты ip:
# Показать адреса и интерфейсы
ip addr show
# Показать таблицу маршрутизации
ip route show
# Временно добавить адрес (сбросится после перезагрузки)
sudo ip addr add 192.168.1.101/24 dev eth0
Ключевое правило: постоянную конфигурацию всегда закрепляю через менеджер сети (Netplan, nmcli) или системные конфиги, а не через ip или ifconfig.
Ответ 18+ 🔞
Да ты посмотри, какая тема подъехала — настройка сети в линуксе! Ну, ёпта, это ж святое. Я тебе сейчас так расскажу, что ты сам от себя офигеешь, как всё просто.
В общем, слушай сюда. Раньше, блядь, как было? Ковырялись в этих /etc/network/interfaces, как слепые кроты. А сейчас-то, ядрёна вошь, всё по-взрослому. Я лично в современных дистрибутивах ставлю на Netplan (это в Убунту) или на NetworkManager (через nmcli). Почему? Да потому что это предсказуемо, блядь, и автоматизируется одной левой. А эти старые конфиги оставь для каких-нибудь диких случаев, когда всё уже накрылось медным тазом и нужно колдовать как в 2002-м.
Вот смотри, как на Убунту 22.04 через Netplan статический IP прикрутить:
- Берёшь и редактируешь файлик
/etc/netplan/00-installer-config.yaml. Главное — пробелы не проёбывай, а то YAML — хитрая жопа, он тебе потом такое покажет, что волнение ебать.network: version: 2 ethernets: eth0: addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] - А потом просто, блядь, применяешь это безобразие:
sudo netplan applyИ всё, ёпта! Сеть должна встать. Если не встала — значит, где-то косяк в отступах, иди проверяй, пока глаза не вытекли.
А вот для всяких RHEL, CentOS или Rocky — там своя атмосфера, через nmcli работаем:
# Создаём connection со статическим IP, чтоб его
sudo nmcli con add type ethernet ifname eth0 con-name eth0-static ip4 192.168.1.100/24 gw4 192.168.1.1
# Подсовываем DNS-сервера, чтоб интернет был
sudo nmcli con mod eth0-static ipv4.dns "8.8.8.8 1.1.1.1"
# И включаем эту красоту
sudo nmcli con up eth0-static
Ну а для быстрой отладки, когда всё горит и пиздец, есть старый добрый ip. Он низкоуровневый, мощный, но, блядь, временный — после перезагрузки всё слетит.
# Глянуть, какие адреса и интерфейсы есть
ip addr show
# Посмотреть, куда маршруты ведут
ip route show
# Впендюрить адрес на время (чтоб проверить)
sudo ip addr add 192.168.1.101/24 dev eth0
И главное правило, которое я выстрадал: всё постоянное, блядь, конфигурируй через менеджер (Netplan, nmcli) или системные конфиги. Не надо, сука, через ip или древний ifconfig на постоянку настраивать — потом сам себе мозг вынесешь, когда это всё после ребута испарится. Доверия к таким костылям — ноль ебать.