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и объяснить, почему пакет пойдёт определённым путём.