1. Понятие маршрутизации
Сегодня мы погружаемся еще глубже: будем настраивать маршруты, анализировать сетевые соединения и разбираться с портами. Здесь начинается настоящая магия сетевого администрирования – разберёмся, куда и как бегают пакеты, и почему в этом вопросе важно быть "главным по маршрутам".
Маршрутизация – это не просто звучащая сложно штука, это основа основ современной сети. Представьте себе: ваш компьютер – это турист, который хочет попасть в другой компьютер (гостиницу), а маршруты – это дороги и указатели. Если маршрутов нет, турист будет блуждать, спрашивать дорогу у прохожих (а прохожие могут быть DNS-серверами, но не об этом сейчас) или вообще останется дома.
Зачем нужны маршруты
Каждому устройству в сети необходимо знать, как добраться до других устройств. Например, если ваш компьютер хочет отправить запрос к сайту example.com, он должен знать:
- Куда отправлять пакеты.
- Через какой шлюз или интерфейс это сделать.
Маршруты бывают двух типов:
- Локальные маршруты: указания для устройств в вашей подсети (например, ваш компьютер и принтер).
- Внешние маршруты: указания для устройств за пределами вашей подсети (например, для ресурса в интернете).
2. Таблица маршрутизации
Таблица маршрутизации – это таблица с правилами, которые определяют, куда отправлять пакеты на основе IP-адресов. Это словно Google Maps для вашего компьютера: "Если хочешь попасть туда, иди через этот шлюз".
Попробуйте вывести свою таблицу маршрутов:
ip route show
Образец вывода:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
Что это значит:
default via 192.168.1.1: если пакету не указано, куда конкретно идти, отправляй его через шлюз с адресом192.168.1.1.dev eth0: используем интерфейсeth0.192.168.1.0/24: это маршрут для всей подсети192.168.1.0/24. Пакеты остаются "дома" в локальной сети.protoиmetric– дополнительные параметры, о них чуть позже.
3. Команда ip route
Просмотр маршрутов
Для просмотра таблицы маршрутизации мы уже использовали ip route show. Можно добавить фильтры, например, для определения маршрута только для локальной сети:
ip route show match 192.168.1.0/24
Добавление маршрутов
Вы можете добавить статический маршрут – это как если сами поставите дорожный знак. Например, чтобы перенаправить все запросы к подсети 10.0.0.0/24 через определённый шлюз:
sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0
Разберём:
10.0.0.0/24– подсеть назначения.via 192.168.1.1– шлюз, через который отправляются пакеты.dev eth0– интерфейс, через который пакеты уходят.
Удаление маршрутов
Если вы больше не хотите, чтобы маршрут существовал, удаляем его командой:
sudo ip route del 10.0.0.0/24
4. Практика: Настройка статического маршрута
- Убедитесь, что у вас есть доступ к другой подсети.
- Добавьте маршрут:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
- Проверьте таблицу маршрутивизации:
ip route show
- Удалите маршрут, если он больше не нужен.
5. Команда netstat
Когда дело доходит до анализа текущих соединений, netstat – это старый добрый друг системного администратора (хотя ему уже есть более современная альтернатива – ss, о которой поговорим позже).
Проверка активных подключений
netstat -tun
Что это значит:
-t– показываем TCP-соединения.-u– показываем UDP-соединения.-n– использовать числовые адреса (вместо имен хостов).
Пример вывода:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.100:22 192.168.1.50:50240 ESTABLISHED
Что это значит:
- Локальный адрес
192.168.1.100:22– это ваш компьютер слушает порт 22 (SSH). - Удалённый адрес
192.168.1.50:50240– это удалённый хост, который подключён к вашему порту. ESTABLISHED– это активное соединение, данные передаются.
Прослушивание портов
Чтобы увидеть, какие порты "слушают" на вашем компьютере:
netstat -ltn
Флаг -l показывает только прослушиваемые порты, а -t и -n мы уже обсудили.
6. Команда ss
Если netstat – динозавр, то ss – это машина ДеЛориан из будущего: работает быстрее и даёт больше информации.
Проверка активных соединений
ss -tun
Пример вывода аналогичен netstat, но с большей скоростью и детализацией.
Прослушивание портов
ss -tln
Всё то же, что и с netstat, но работать с ss удобнее и современнее.
7. Мониторинг соединений
- Используйте
netstatилиss, чтобы посмотреть, какие порты слушает ваш компьютер. - Откройте SSH-соединение на другом устройстве и проверьте, появляется ли оно в списке соединений.
- Попробуйте интерпретировать вывод команд.
Мы погрузились в мир маршрутизации и мониторинга соединений: теперь вы можете использовать ip route, чтобы управлять таблицей маршрутов, и netstat/ss для анализа сетевых соединений. Эти инструменты – ваш швейцарский нож для решения самых запутанных сетевых проблем. Хотите помочь другу, который жалуется, что "интернет не работает"? Вытягивайте свои новые навыки и покажите класс!
На следующей лекции будет ещё интереснее: будем разбираться с DNS и его магией. А пока – потренируйтесь с ip route и зацените, как пакеты находят свой путь домой.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ