Подключение сервера к интернету: от кабеля до маршрутизации

Иван Корнев·28.04.2026·4 мин

Чтобы подключить сервер к интернету, необходимо корректно настроить сетевой интерфейс (присвоить IP-адрес), указать шлюз по умолчанию (gateway) для выхода во внешнюю сеть и прописать DNS-серверы для разрешения доменных имен. В большинстве случаев на Linux-серверах используется статическая настройка сети. Если сервер находится за роутером или в облачной инфраструктуре, также может потребоваться настройка NAT или проверка правил фаервола.

Ниже приведена подробная инструкция по настройке сетевого стека в современных дистрибутивах Linux.

Краткий чек-лист настройки:

  1. Физическое подключение и определение имени интерфейса.
  2. Назначение IP-адреса и маски подсети.
  3. Установка шлюза по умолчанию (default via).
  4. Настройка DNS-резолверов.
  5. Проверка связности (ping, traceroute).

Определение сетевого интерфейса и подготовка

Перед редактированием конфигов нужно понять, какой сетевой адаптер активен. В современных системах имена интерфейсов могут отличаться от привычных eth0.

Выполните команду:

ip link show

Ищите интерфейс со статусом UP или тот, который физически подключен (часто имеет название вида enp3s0, ens192 или eth0). Запомните его имя — оно понадобится в дальнейших шагах.

Важно: Если вы подключаетесь к серверу удаленно через SSH, ошибка в настройке сети приведет к потере доступа. Используйте консоль управления (KVM/IPMI/VNC) или настраивайте сеть локально.

Настройка статического IP-адреса

Для серверов рекомендуется использовать статический IP-адрес, чтобы сервисы всегда были доступны по одному и тому же адресу. Способ настройки зависит от дистрибутива и используемого менеджера сетей.

Вариант 1: Netplan (Ubuntu 18.04+, Debian 12+)

Netplan использует YAML-конфигурацию. Отредактируйте файл в /etc/netplan/ (например, 00-installer-config.yaml):

network:
  version: 2
  ethernets:
    enp3s0: # Имя вашего интерфейса
      dhcp4: no
      addresses:
        - 192.168.1.100/24 # Ваш IP и маска
      routes:
        - to: default
          via: 192.168.1.1 # Шлюз (роутер)
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1

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

sudo netplan apply

Вариант 2: NetworkManager (RHEL, CentOS, Fedora, AlmaLinux)

Используйте утилиту nmcli для быстрой настройки без правки файлов вручную.

  1. Посмотрите имя соединения:
   nmcli connection show
  1. Установите статический IP, шлюз и DNS (замените ens192 на ваше соединение):
   sudo nmcli connection modify ens192 ipv4.method manual
   sudo nmcli connection modify ens192 ipv4.addresses 192.168.1.100/24
   sudo nmcli connection modify ens192 ipv4.gateway 192.168.1.1
   sudo nmcli connection modify ens192 ipv4.dns "8.8.8.8 1.1.1.1"
  1. Перезапустите соединение:
   sudo nmcli connection up ens192

Вариант 3: ifupdown (Debian 11 и старше, старые Ubuntu)

Отредактируйте файл /etc/network/interfaces:

auto enp3s0
iface enp3s0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 1.1.1.1

Перезапустите службу сети:

sudo systemctl restart networking

Маршрутизация: шлюз по умолчанию

Маршрутизация определяет, куда отправлять пакеты, если адрес назначения не находится в локальной подсети. Для выхода в интернет нужен шлюз по умолчанию (default gateway).

Если вы настроили сеть через Netplan или NetworkManager, маршрут добавился автоматически. Проверить это можно командой:

ip route show

Вы должны увидеть строку вида:

default via 192.168.1.1 dev enp3s0 proto static ...

Если маршрута нет, добавьте его вручную (временно, до перезагрузки):

sudo ip route add default via 192.168.1.1 dev enp3s0

Диагностика маршрутов: Если пинг до шлюза проходит, а до внешних сайтов — нет, проверьте таблицу маршрутизации. Команда ip route get 8.8.8.8 покажет, через какой интерфейс и шлюз пойдет пакет к указанному IP.

Настройка DNS

Даже при правильном IP и маршрутах сервер не сможет открывать сайты по доменным именам (например, google.com) без настроенного DNS.

  1. Проверка текущего резолвера:
   cat /etc/resolv.conf
  1. Ручная правка (не рекомендуется для продакшена): Можно добавить nameserver 8.8.8.8 в /etc/resolv.conf, но после перезагрузки службы сети этот файл может быть перезаписан.
  2. Правильный способ: Указывайте DNS-серверы в конфигурации сетевого менеджера (как показано в примерах выше для Netplan, NM или interfaces). Система сама пропишет их в resolv.conf.

Настройка NAT (если сервер раздает интернет)

Если ваш сервер имеет два интерфейса (один смотрит в интернет, другой в локальную сеть) и должен предоставлять доступ в интернет другим устройствам, необходимо включить форвардинг пакетов и настроить NAT (Masquerade).

  1. Включите IP-форвардинг: Раскомментируйте или добавьте строку в /etc/sysctl.conf:
   net.ipv4.ip_forward=1

Примените изменение:

   sudo sysctl -p
  1. Настройте правила фаервола (iptables): Предположим, eth0 — внешний интерфейс (интернет), eth1 — внутренний.
   sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
   sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
   sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

Для сохранения правил используйте iptables-persistent (Debian/Ubuntu) или service iptables save (RHEL/CentOS).

Проверка подключения и диагностика

После настройки выполните последовательную проверку:

  1. Пинг до шлюза:
   ping -c 4 192.168.1.1

Если не проходит: проблема в кабеле, VLAN, настройках свитча или неверном IP/маске.

  1. Пинг до внешнего IP:
   ping -c 4 8.8.8.8

Если не проходит: проблема в шлюзе по умолчанию или настройках провайдера/роутера.

  1. Разрешение имен (DNS):
   nslookup google.com
   # или
   dig google.com

Если не проходит: проверьте настройки DNS в /etc/resolv.conf.

  1. Проверка HTTP-соединения:
   curl -I https://example.com

Частые ошибки

ОшибкаПричинаРешение
Network is unreachableНет маршрута по умолчанию или интерфейс DOWNПроверьте ip route и ip link set <iface> up
Temporary failure in name resolutionНе настроен DNS или заблокирован порт 53Проверьте /etc/resolv.conf и доступность UDP 53
Connection timed outПакеты уходят, но ответ не приходит (фаервол)Проверьте правила iptables/nftables и настройки внешнего роутера
Конфликт IP-адресовДва устройства в сети имеют одинаковый IPСмените IP на сервере или найдите второе устройство через arp-scan

FAQ

В: Чем отличается статический IP от DHCP? О: При DHCP адрес выдается автоматически и может измениться после перезагрузки или истечения аренды. Для серверов это недопустимо, так как клиенты потеряют связь с сервисом. Статический IP фиксируется вручную.

В: Как сделать настройки постоянными? О: Изменения, внесенные через команду ip addr add или ip route add, сбрасываются после перезагрузки. Всегда используйте конфигурационные файлы (netplan, nmcli, /etc/network/interfaces) для сохранения настроек.

В: Почему я не могу подключиться по SSH после смены IP? О: Вы сменили адрес, с которого идет соединение, или указали неверный шлюз. Вернитесь к предыдущей рабочей конфигурации через консоль (KVM) или откатите изменения в файлах конфигурации и перезапустите сеть.