В статье о времени жизни пакета был приведён пример изменения TTL в Windows. Сегодня поговорим о том, как поменять значение TTL по умолчанию в Ubuntu-подобных дистрибутивах Linux. Здесь основной нюанс заключается в следующем — поменять значение TTL просто, но нужно его ещё и сохранить.
Для того, чтобы проверить время жизни пакетов в Linux, достаточно также запустить ping localhost. По умолчанию в Linux TTL=64. Для изменения этого значения в Ubuntu и других похожих дистрибутивах используйте команду
sysctl -w net.ipv4.ip_default_ttl=65
Конечно, можно указать и другое значение, кроме 65. На скриншоте ниже видно, что теперь команда ping отображает TTL=65.
Однако настройка TTL сбросится после перезагрузки. Для того, чтобы этого не происходило, нужно добавить данную настройку в автозагрузку. Производится эта настройка из-под пользователя root.
Помните, что постоянно работать под пользователем root нельзя. Используйте его только для настройки системы.
Нам нужно создать файл в каталоге /etc/sysctl.d, я дал ему имя 99_default_ttl.conf, но оно не обязательно должно быть именно таким. Для создания файла я использую удобную мне команду cat (подробнее о командах для создания файлов в Linux можно прочитать по этой ссылке):
cat > /etc/sysctl.d/99_default_ttl.conf
После нажатия enter данные со стандартного ввода (т.е. с клавиатуры) будут перенаправлены в файл /etc/sysctl.d/99_default_ttl.conf. Введите нужную нам настройку, а именно:
net.ipv4.ip_default_ttl=65
и нажмите enter. Комбинации Ctrl + D или Ctrl + C запишут изменения в файл. Затем применяем настройки командой
sysctl --system
На скриншоте ниже виден весь описанный тут процесс.
Как видите, значение TTL в команде ping также изменилось. И данная настройка сохранится после перезагрузки.
В Ubuntu 20.04 после изменения ttl данным способом отваливаются все беспроводные соединения, система видит все wifi сети, но подключиться не может ни к одной.
Чтобы навсегда изменить TTL нужно:
добавить настройку в конфиг:
sudo echo net.ipv4.ip_default_ttl=65 >> /etc/sysctl.conf
применить новые параметры:
sudo sysctl —system
После данного способа ничего отваливаться не будет.
Пишет. Отказано в доступе , что делать?
sudo -s напиши перед(войдешь в рут пользователя)
береш подключаешь нормальный тариф для компьютера с безлимитом и забываешь об этих проблемах на всегда.
Спасибо большое
Привет! убунту 20.04 лтс — прошу прощения, еще смену раскладки не настроил. Сначала как в статье настроил — и » отваливаются все беспроводные соединения, система видит все wifi сети, но подключиться не может ни к одной» Федор выше другой совет привел — однако после этих двух команд та же самая картина — сетку видит, но пишет «соединение потеряно» и не может больше подключиться. В файле /etc/sysctl.conf потер через рут консоль строчку «net.ipv4.ip_default_ttl=65» однако ситуация сохраняется. Куда еще изменения записываются , кроме этого файла?