Маршрутизация представляет собой процесс пересылки IP-пакетов между различными узлами сети. К примеру, когда вы отправляете электронное письмо, в действительности происходит отправка ряда IP-пакетов с вашего устройства на устройство получателя. Эти пакеты перемещаются через различные узлы сети или маршрутизаторы, прежде чем достигнут назначения. Этот процесс является общим для всех видов интернет-трафика, включая HTTP, IRC, FTP и др.
В операционных системах Linux и UNIX сведения о направлении IP-пакетов сохраняются в специальных структурах ядра, известных как таблицы маршрутизации. Настройка этих таблиц позволяет вашей системе взаимодействовать с другими устройствами в сети. Основным шагом в управлении сетевым взаимодействием является умение просматривать таблицы маршрутизации в вашем Linux.
Использование netstat для просмотра таблиц маршрутизации
Netstat традиционно служила надежным инструментом для вывода данных о таблицах маршрутизации в Linux. Тем не менее, современная практика предпочитает использование команды ip route, несмотря на это, netstat по-прежнему актуальна для извлечения нужной информации.
Для применения этой команды следуйте ниже:
1 | netstat -rn |
Параметр '-r' применяется для показа таблиц маршрутизации операционной системы.
Параметр '-n' отвечает за вывод адресов в числовом формате.
Вот анализ данных, представленных в результате:
- Gateway: здесь отображается выбранный шлюз для конкретной сети. Знак * в этой колонке сигнализирует о том, что шлюз для перенаправления данных по данной сети не задействован;
- Genmask: этот раздел показывает сетевую маску для заданной сети;
- Flags: символ U говорит о том, что маршрут активен. Символ G указывает на необходимость использования определенного шлюза для маршрута. Буква D обозначает маршрут, установленный динамически, M - модифицированный маршрут, R - маршрут, который был восстановлен;
- MSS: здесь показан стандартный максимально допустимый размер сегмента для TCP-соединений по данному маршруту;
- Window: в этой колонке указывается стандартный размер окна для TCP-соединений в рамках маршрута;
- Irtt: эта часть отражает изначальное время прохождения пакетов по данному маршруту;
- Iface: этот раздел демонстрирует, через какой сетевой интерфейс проходит трафик. Наличие нескольких интерфейсов отобразится как lo для loopback, eth0 для первого Ethernet-подключения, eth1 для второго и так далее.
Использование команды route для просмотра маршрутов
Команда route, когда-то популярный инструмент для обзора маршрутов, сейчас считается устаревшей, уступив место более современной команде ip route, как указано в руководстве пользователя.
Данная команда позволяет просматривать маршруты так же, как и команда netstat.
Вот пример ее использования:
1 | route -n |
Используйте флаг -n для показа адресов в числовом формате.
Обзор маршрутизации через ip route
Этот метод представляет собой последний из основных способов вывода данных о маршрутизации в Linux. Пример применения:
1 | ip route |
Вопреки тому, что данные, получаемые через эту команду, могут быть менее наглядными по сравнению с другими методами, они всё равно предоставляют всю необходимую информацию для конфигурации маршрутизатора.