Способи оплати Abuse

Змінюємо TTL у Linux

25.10.2022, 02:28

Ці мережі передаються пакетами. Пакети перед тим, як потрапити адресату, проходять кілька інших мережевих вузлів, щоб опинитися на початку локальної мережі адресата, а потім уже безпосередньо до нього. Нерідко подібні пакети збиваються з маршруту. Щоб їх направити на правильний шлях у мережі, кожному пакету надали певний час життя.

За час свого життя він відповідає параметр TTL. Це число вузлів, які може пройти пакет, перед знищенням. Під час проходження кожного вузла значення TTL знижується доти, доки час не досягне значення нуль. Що більший TTL, то більш заплутані мережі може проходити пакет.

Як змінити TTL у Linux

Низькорівневі параметри мережі TTL у Linux керуються ядром. Налаштовувати його можна за допомогою інтерфейсу налаштування ядра. Який TTL використовується в системі?

Скористаємося командою ping:

$ ping 127.0.0.1

Змінюємо TTL у Linux

У даних про надсилання пакета видно TTL, з яким його було надіслано. Бачимо, що використовується значення 64. Для Windows застосовується значення TTL 128. Зазвичай цього вистачить, оскільки між вузлами мережі мінімум 20-30 маршрутизаторів. Не завжди варто змінювати TTL, щоб пакети змогли досягати мети.

Коригування параметрів

Зміна TTL можлива з коригуванням параметра net.ipv4.ip_default_ttl.

Пробуємо таку команду:

$ sudo sysctl -w net.ipv4.ip_default_ttl=65

Для того щоб зміни збереглися після перезавантаження можна прописати цей рядок налаштувань у файл /etc/sysctl.conf:

$ sudo vi /etc/sysctl.conf

net.ipv4.ip_default_ttl=65

Після TTL буде 65:

Змінюємо TTL у Linux

Якщо ви не хочете змінювати параметри ядра, можна модифікувати TTL у пакети під час його проходження через мережевий фільтр iptables. Для цього виконайте таку команду:

$ iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65

Це теж буде працювати. Зміна TTL Linux виконується зовсім не складно.