Gymterview
junior

Как настроить маршрутизацию в Linux?

Маршрутизация — механизм определения пути сетевых пакетов: через какой шлюз и интерфейс отправлять пакеты к определённым адресам.

Просмотр таблицы маршрутизации

Пример
# Текущие маршруты
ip route show

# Пример вывода:
# default via 192.168.1.1 dev eth0 proto static
# 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
# 10.10.0.0/16 via 192.168.1.254 dev eth0

Управление маршрутами

Пример
# Добавить маршрут к подсети через шлюз
sudo ip route add 10.10.0.0/16 via 192.168.1.254

# Добавить маршрут через конкретный интерфейс
sudo ip route add 172.16.0.0/12 dev eth1

# Изменить шлюз по умолчанию (default gateway)
sudo ip route del default
sudo ip route add default via 192.168.1.1

# Удалить маршрут
sudo ip route del 10.10.0.0/16

Постоянные маршруты (Netplan)

Пример конфигурации Netplan с маршрутами
# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
        - to: 10.10.0.0/16
          via: 192.168.1.254
        - to: 172.16.0.0/12
          via: 192.168.1.253
          metric: 100

Включение IP-forwarding (для маршрутизатора)

Пример
# Временно
sudo sysctl -w net.ipv4.ip_forward=1

# Постоянно
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Диагностика маршрутизации

Пример
# Какой маршрут будет использован для адреса
ip route get 10.10.5.20

# Трассировка маршрута
traceroute 10.10.5.20

# Более информативная трассировка с MTR
mtr 10.10.5.20

В банковской инфраструктуре маршрутизация часто используется для разделения трафика: production-трафик идёт через один шлюз, трафик к системам мониторинга — через другой, а административный доступ — через третий (VPN-шлюз).

На собеседовании: достаточно знать команды ip route и понимать, что такое default gateway и метрика маршрута. Частая ошибка — не уметь прочитать вывод ip route show и объяснить, почему пакет пойдёт определённым путём.