Yota — раздача интернета на Ubuntu
На февраль 2017 самый беспроблемный способ пользоваться интернетом на компьютере, раздаваемый с телефона с сим картой оператора YOTA — это использовать Linux. Один из самых дружелюбных для пользователей дистрибутив linux — Ubuntu.
YOTA старается пресечь наиболее популярные методы обхода блокировок и синего экрана с тарифами на интернет при раздаче интернета по wi-fi или usb. Пользователи Windows пострадали первыми. Ведь у многих ОС пытается обновляться, стоит одинаковое ПО (Adobe Reader, Microsoft Office, популярные антивирусы, игры и т.д.), которое периодически обращается к своим серверам за информацией.
К счастью пользователей linux среди клиентов YOTA — не много, и поэтому их пока не блокируют.
Для того чтобы раздавать интернет с телефона на компьютер с Ubuntu достаточно в настройках ОС изменить параметры TTL — базовая характеристика, по которой оператор определяет факт раздачи интернета на другие устройства.
Всего понадобится проделать 2 шага:
- Узнать наименование сетевого интерфейса, через который компьютер подключается к смартфону. Вызываем консоль (CTRL+ALT+T) и вводим ifconfig
$ ifconfig eth0 Link encap:Ethernet HWaddr 68:b5:99:e1:52:13 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Локальная петля (Loopback) inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:3713 errors:0 dropped:0 overruns:0 frame:0 TX packets:3713 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:314583 (314.5 KB) TX bytes:314583 (314.5 KB) wlan0 Link encap:Ethernet HWaddr 90:00:4e:91:9a:60 inet addr:192.168.1.66 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::9200:4eff:fe91:9a60/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:99246 errors:0 dropped:0 overruns:0 frame:0 TX packets:79190 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:108714830 (108.7 MB) TX bytes:14367988 (14.3 MB)
В моем случае интернет раздается через wi-fi соответственно мне нужен интерфейс wlan0.
eth0 — проводной интерфейс, lo — петля (loopback, все пакеты отправленные в него, тут же возвращаются обратно как входящие, есть в любой системе).
- Добавляем в автозагрузку одну команду, которая изменяет TTL всех исходящих пакетов на выбранном интерфейсе. Для этого открываем с правами root на редактирование файл /etc/rc.local
$ sudo nano /etc/rc.local
И перед «exist 0;» вставляем следующую строку (интерфейс нужно подставить свой из предыдущего шага
iptables -t mangle -A POSTROUTING -o wlan0 -j TTL --ttl-set 65
Сохраняем файл (CTRL+O) и выходим (CTRL+X).
Изменения вступят в силу после перезагрузки, но чтобы не ждать, можно ввести в консоль команду и все заработает сразу.$ sudo iptables -t mangle -A POSTROUTING -o wlan0 -j TTL --ttl-set 65
Я уже более года использую данные способ. Если не запускать специфическое ПО, или Windows в виртуальной машине — YOTA никак не ограничивает раздачу интернета.
Но есть способ совсем обойти ограничения на любом операторе. Хотя он не такой простой и требует ресурсов для своей реализации. Суть его в следующем: раздавать интернет нужно на шлюз с linux (компьютер, ноутбук, raspberry PI), на котором изменить TTL, а так же настроить VPN клиент, который будет шифровать до сервера весь трафик, а дальше к этому шлюзу подключить ЛЮБЫЕ устройства с любыми ОС. Хоть Windows с WoT или Lineage. При таком варианте никакой оператор не сможет определить что за трафик идет с телефона и клиент не попадет под ограничения раздачи интернета.
Сервер имеется ввиду VPN сервер, находящийся за пределами сети оператора, например в датацентре Москвы или Франции. Есть сервисы, которые предлагают платные или бесплатные VPN.
Если у вас есть вопросы — пишите их в комментариях.
Gifisk
10.08.2018rc.local — на убунту-мейт нет такого файла в папке etc
nlinberg
10.08.2018Да, в новой версии ubuntu rc.local отключили
Включить так:
1)
touch /etc/rc.local
chmod +x /etc/rc.local
2) Добавляем содержание в файл:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will «exit 0» on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
3) И включаем:
systemctl enable rc-local
nlinberg
10.08.2018Способ кстати работает и сейчас, август 2018
Gifisk
10.08.2018Не создаётся файл после # touch /etc/rc.local # chmod +x /etc/rc.local. Может мате виноват?
nlinberg
10.08.2018Под каким пользователем создаете? Нужен или root, или из под sudo
sudo touch /etc/rc.local
Gifisk
11.08.2018Всё удалось, но обход блокировки так и не свершился.
После ifconfig — показывает:
enp0s20u3: flags=4163 mtu 1500
inet 192.168.42.54 netmask 255.255.255.0 broadcast 192.168.42.255
inet6 fe80::7b0d:6467:1b98:63c9 prefixlen 64 scopeid 0x20
ether ee:b0:3d:a6:3b:3f txqueuelen 1000 (Ethernet)
RX packets 841 bytes 529667 (529.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1171 bytes 214099 (214.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp2s0: flags=4099 mtu 1500
ether b8:88:e3:9a:a4:b0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Локальная петля (Loopback))
RX packets 78 bytes 6287 (6.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 78 bytes 6287 (6.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp3s0: flags=4099 mtu 1500
ether c0:14:3d:d4:be:8b txqueuelen 1000 (Ethernet)
RX packets 2373 bytes 1312501 (1.3 MB)
RX errors 0 dropped 0 overruns 0 frame 62802
TX packets 3121 bytes 673339 (673.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 17
Потом ввожу
sudo iptables -t mangle -A POSTROUTING -o wlp3s0 -j TTL —ttl-set 65
И всё равно скорость ограничена. Мате виноват что ли.