Как настроить сеть в Linux?

Ответ

В современных дистрибутивах я предпочитаю настраивать сеть через Netplan (Ubuntu) или NetworkManager (nmcli), так как это предсказуемо и легко автоматизируется. Ручное редактирование старых конфигов вроде /etc/network/interfaces оставляю для специфичных случаев.

Пример настройки статического IP на Ubuntu 22.04 с Netplan:

  1. Редактирую конфиг в /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]
  2. Применяю конфигурацию:
    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 прикрутить:

  1. Берёшь и редактируешь файлик /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]
  2. А потом просто, блядь, применяешь это безобразие:
    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 на постоянку настраивать — потом сам себе мозг вынесешь, когда это всё после ребута испарится. Доверия к таким костылям — ноль ебать.