Данные по сети передаются пакетами. При чём эти пакеты, прежде чем попадут адресату, проходят несколько других сетевых узлов чтобы добраться сначала в локальную сеть адресата, а потом уже непосредственно к нему. Иногда такие пакеты могут выбирать неверный маршрут и блудить. Чтобы они не блудили по сети вечность создавая ненужную нагрузку, у каждого пакета есть своё время жизни.
За время жизни пакета отвечает параметр TTL. Это количество узлов, которые может пройти пакет, прежде, чем он будет уничтожен. При прохождении каждого узла значение TTL для пакета уменьшается, пока не будет равным нулю. Таким образом чем больше TTL, тем более запутанные сети может проходить пакет. В этой статье мы рассмотрим как изменить TTL Linux.
Такими низкоуровневыми параметрами сети как TTL в Linux управляет ядро. Поэтому и настраивать его надо с помощью интерфейса настройки ядра. Но давайте сначала посмотрим какой TTL используется сейчас в вашей системе. Для этого можно воспользоваться командой ping:
ping 127.0.0.1
В информации об отправке каждого пакета отображается 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 в пакеты при его прохождении через сетевой фильтр iptables. Для этого выполните такую команду:
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65
Это тоже будет работать. Как видите, смена TTL Linux выполняется совсем не сложно. Если у вас остались вопросы, спрашивайте в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
Содержание
- Как изменить TTL в Linux
- Изменение TTL в Linux
- Меняем TTL в Linux
- Как изменить TTL в Linux
- ����. �������� ������������ �������� TTL � Linux Mint 19
- ������� � ��������� ������� � Linux
- Arch Linux ����� ���������
- Shodan.io | ��� ��������, ���� ������ ����������� ������������/���.������?
- ��������� Ubuntu 20.04 �� ���������� VPS ������ �� Oracle. ����������� ����� «������������ Always Free VPS ������ ��� ���� ������ ����»
- ������ ����������� ������. OwnCloud+Let’s Encrypt
Как изменить TTL в Linux
Данные по сети передаются пакетами. При чём эти пакеты, прежде чем попадут адресату, проходят несколько других сетевых узлов чтобы добраться сначала в локальную сеть адресата, а потом уже непосредственно к нему. Иногда такие пакеты могут выбирать неверный маршрут и блудить. Чтобы они не блудили по сети вечность создавая ненужную нагрузку, у каждого пакета есть своё время жизни.
За время жизни пакета отвечает параметр TTL. Это количество узлов, которые может пройти пакет, прежде, чем он будет уничтожен. При прохождении каждого узла значение TTL для пакета уменьшается, пока не будет равным нулю. Таким образом чем больше TTL, тем более запутанные сети может проходить пакет. В этой статье мы рассмотрим как изменить TTL Linux.
Изменение TTL в Linux
Такими низкоуровневыми параметрами сети как TTL в Linux управляет ядро. Поэтому и настраивать его надо с помощью интерфейса настройки ядра. Но давайте сначала посмотрим какой TTL используется сейчас в вашей системе. Для этого можно воспользоваться командой ping:
В информации об отправке каждого пакета отображается 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
После этого ваш TTL будет 65:
Если вы не хотите менять параметры ядра, можно модифицировать TTL в пакеты при его прохождении через сетевой фильтр iptables. Для этого выполните такую команду:
iptables -t mangle -A POSTROUTING -j TTL —ttl-set 65
Это тоже будет работать. Как видите, смена TTL Linux выполняется совсем не сложно. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Меняем TTL в Linux
Эти сети передаются пакетами. Пакеты перед тем как попасть адресату проходят несколько других сетевых узлов, чтобы оказаться в начале локальной сети адресата, а потом уже непосредственно к нему. Нередко подобные пакеты сбиваются с маршрута. Чтобы их направить на верный путь в сети, каждому пакету придали определенное время жизни.
За время своей жизни он отвечает параметр TTL. Это число узлов, которые может пройти пакет, перед уничтожением. Во время прохождения каждого узла значение TTL снижается до тех пор, пока время не достигнет значения нуль Чем больше TTL, тем более запутанные сети может проходить пакет.
Как изменить TTL в Linux
Низкоуровневые параметры сети TTL в Linux управляются ядром. Настраивать его можно при помощи интерфейса настройки ядра. Какой TTL используется в системе.? Воспользуемся командой ping:
В данных об отправке пакета виден 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:
После TTL будет 65:
Если вы не хотите менять параметры ядра, можно модифицировать TTL в пакеты при его прохождении через сетевой фильтр iptables. Для этого выполните такую команду:
$ iptables -t mangle -A POSTROUTING -j TTL —ttl-set 65
Это тоже будет работать. Смена TTL Linux выполняется совсем не сложно.
Источник
����. �������� ������������ �������� TTL � Linux Mint 19
echo «net.ipv4.ip_default_ttl=65» >> /etc/sysctl.conf
echo «net.ipv4.ip_default_ttl=65» >> /etc/sysctl.conf
������� � ��������� ������� � Linux
1. ������� HP LaserJet 1018
sudo apt install printer-driver-foo2zjs printer-driver-foo2zjs-common
sudo apt install tix groff dc cups cups-filters
sudo getweb 1018
echo «set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo» | sudo tee /etc/pulse/ default.pa .d/default-sink.pa
printf «options radeon si_support=0noptions amdgpu si_support=1n» | sudo tee /etc/modprobe.d/amdgpu_si.conf
sudo update-initramfs -k all -u
4. ��� ����, ����� ����� ���� ���������� Xbox Wireless Controller �� bluetooth
echo «options bluetooth disable_ertm=1» | sudo tee /etc/modprobe.d/xbox_bt.conf
sudo update-initramfs -k all -u
mkdir /mnt/omv
chmod 0777 /mnt/omv
echo «//omv.lan/public /mnt/omv cifs user=USERNAME,dom=DOMAIN,pass=PASSWORD,rw,dir_mode=0777,file_mode=0666 0 0» | sudo tee /etc/fstab
Arch Linux ����� ���������
sudo pacman -S —needed git base-devel
yay -S pamac-aur-git
sudo pacman -S flatpak
sudo pacman -S gnome-software
sudo pacman -S gnome-software-packagekit-plugin
sudo systemctl enable —now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install snap-store
sudo pacman -S lightdm-gtk-greeter-settings
sudo systemctl enable —now ananicy-cpp
sudo systemctl restart ananicy-cpp
sudo systemctl enable —now nohang-desktop
sudo pacman -S haveged
sudo systemctl enable haveged
pacman-key —recv-key FBA220DFC880C036 —keyserver keyserver.ubuntu.com
pacman-key —lsign-key FBA220DFC880C036
sudo nano /etc/pacman.conf
pacman-key —add ctlos.gpg
pacman-key —recv-keys 98F76D97B786E6A3
pacman-key —finger 98F76D97B786E6A3
pacman-key —lsign-key 98F76D97B786E6A3
yay -S pamac-snap-plugin
yay -S pamac-flatpak-plugin
# pacman -Qqn | pacman -S —
Shodan.io | ��� ��������, ���� ������ ����������� ������������/���.������?
��������� Ubuntu 20.04 �� ���������� VPS ������ �� Oracle. ����������� ����� «������������ Always Free VPS ������ ��� ���� ������ ����»
������ ����������� ������. OwnCloud+Let’s Encrypt
����� ����� mydomen.ml ����� ����� �� ����, � ����� mycloud.mydomen.ml �� VPS � ownCloud. ������ � ��� � ������ ����� �� ��� VPS.
yum -y install epel-release
yum -y update
yum -y install php70w-fpm php70w-cli php70w-gd php70w-mcrypt
yum -y install php70w-pear php70w-xml php70w-mbstring php70w-pdo
yum -y install php70w-json php70w-pecl-redis php70w-mysql
yum -y install dialog crontabs wget unzip redis git bc
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
systemctl start redis
systemctl start php-fpm
systemctl start nginx
systemctl status php-fpm
systemctl status nginx
systemctl status redis
systemctl enable php-fpm
systemctl enable nginx
systemctl enable redis
yum -y install mariadb mariadb-server
Enter current password for root (enter for none):
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
create user ownclouduser@localhost identified by ‘ownclouduser_pass’;
grant all privileges on owncloud_db.* to ownclouduser@localhost identified by ‘ownclouduser_pass’;
cd /opt/letsencrypt
./letsencrypt-auto certonly -a webroot —webroot-path=/usr/share/nginx/html/ -d mycloud.mydomen.ml
Enter email address (used for urgent renewal and security notices) (Enter �c� tocancel)
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let�s Encrypt project and the non-profit
organization that develops Certbot? We�d like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
��������������������������-
(Y)es/(N)o:
Congratulations! Your certificate and chain have been saved at�
openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
server <
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / <
>
error_page 404 /404.html;
location = /40x.html <
>
error_page 500 502 503 504 /50x.html;
location = /50x.html <
>
>
upstream php-handler <
server 127.0.0.1:9000;
>
server <
# ��������������� � 80 �����, � ����� � www
server_name mycloud.mydomen.ml www.mycloud.mydomen.ml
listen 80;
return 301 https://mycloud.mydomen.ml$request_uri;
>
server <
listen 443 ssl;
server_name mycloud.mydomen.ml;
# ��������� ���� � ������������
ssl_certificate /etc/letsencrypt/live/mycloud.mydomen.ml/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mycloud.mydomen.ml/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers ‘ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA’;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
# ��������� ������� ����������� OCSP-������, ��� ����� �������� ����� �������� ������� � �������������
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options «SAMEORIGIN»;
add_header X-XSS-Protection «1; mode=block»;
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
location
/.well-known <
allow all;
log_not_found off;
access_log off;
>
# The rest of your server block
root /usr/share/nginx/html;
index index.php index.html index.htm;
location = /.well-known/carddav <
return 301 $scheme://$host/remote.php/dav;
>
location = /.well-known/caldav <
return 301 $scheme://$host/remote.php/dav;
>
location /.well-known/acme-challenge < >
# set max upload size
client_max_body_size 512M;
fastcgi_buffers 64 4K;
# Disable gzip to avoid the removal of the ETag header
gzip off;
# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
#pagespeed off;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location / <
rewrite ^ /index.php$uri;
>
location
^/(?:build|tests|config|lib|3rdparty|templates|data)/ <
return 404;
>
location
^/(?:.|autotest|occ|issue|indie|db_|console) <
return 404;
>
location
^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34]).php(?:$|/) <
fastcgi_split_path_info ^(.+.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
>
location
Источник
Большинство современных операторов мобильной связи, такие как МТС и Yota предоставляют тарифы, которые позволяют пользоваться интернетом без ограничения трафика. Всё вроде бы хорошо, и удобно. Но если рассмотреть этот вопрос более подробно, то всё будет не так уж и хорошо.
Изначально условия тарифа звучат следующим образом: вы можете пользоваться интернетом в любое время суток и без ограничения трафика, но за раздачу интернет-соединения через Wi-Fi, Usb-модем или Bluetooth с вас будет списана абонентская плата в размере N рублей.
P.S: я пользуюсь услугами оператора МТС, и за раздачу интернета раньше снимали 30 рублей в сутки, теперь же снимают по 50 рублей.
Но как быть, если нужно раздать интернет по Wi-Fi, а лишних денежных средств на балансе нет? Всё очень просто! нужно зафиксировать значение TTL файла на определённом значении в операционной системе: Linux, Windows или Mac OS.
P.S.S: данная статья носит исключительно ознакомительный характер, я никого не призываю использовать данную информацию в практических целях.
Изменение значения TTL в операционной системе Ubuntu
Чтобы обойти ограничение на раздачу интернета через телефон на компьютер с Ubuntu на борту, в случае, если ваш оператор Йота, вы должны сделать несколько простых вещей.
1. Открываем терминал сочетанием клавиш Ctrl+Alt+T.
2. Вводим следующую команду от супер-пользователя:
sudo vi /etc/init.d/local.autostart
Нажимаем Enter.
3. Система потребует ввести пароль от учётной записи администратора, вводим его и нажимаем Enter. Далее жмем кнопку i — это укажет редактору vi, что нужно перейти в режим редактирования.
4. Сейчас мы должны ввести скрипт с учётом особенности операционной системы вашего смартфона. Если у вас Android или iOS — нужно указать значение TTL=65 (вместо 64), а если Windows — то указываем TTL=129 (вместо 128).
Почему значение на 1 больше? Всё очень просто, значение TTL на компьютере должно быть на 1 больше, чем значение TTL на телефоне, с которого вы раздаете.
Скрипт для обхода ограничений на раздачу интернета для Android и iOS:
#!/bin/bash sudo iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65
Скрипт для обхода ограничений на раздачу интернета для Windows Phone:
#!/bin/bash sudo iptables -t mangle -A POSTROUTING -j TTL --ttl-set 129
5. Для завершения редактирования нажимаем Esc. Затем сохраняем внесённые изменения нажатием клавиш: Shift+ZZ (два раза нажать Z).
6. Присваиваем скрипту права на запуск:
sudo chmod +x /etc/init.d/local.autostart
Нажимаем Enter.
7. Добавляем скрипт в автозапуск:
sudo update-rc.d local.autostart defaults 80
8. Нажимаем Enter.
Всё готово! Мы успешно зафиксировали значение TTL в операционной системе Ubuntu, и обошли ограничение операторов мобильной связи: МТС и Yota, на раздачу интернет соединения по Wi-Fi, Usb-модем b Bluetooth.
С уважением, Артём Санников
Сайт: ArtemSannikov.ru
Метки: Ubuntu, Руководства.