Yota — раздача интернета на Ubuntu

На февраль 2017 самый беспроблемный способ пользоваться интернетом на компьютере, раздаваемый с телефона с сим картой оператора YOTA — это использовать Linux. Один из самых дружелюбных для пользователей дистрибутив linux — Ubuntu.

YOTA старается пресечь наиболее популярные методы обхода блокировок и синего экрана с тарифами на интернет при раздаче интернета по wi-fi или usb. Пользователи Windows пострадали первыми. Ведь у многих ОС пытается обновляться, стоит одинаковое ПО (Adobe Reader, Microsoft Office, популярные антивирусы, игры и т.д.), которое периодически обращается к своим серверам за информацией.

К счастью пользователей linux среди клиентов YOTA — не много, и поэтому их пока не блокируют.

Для того чтобы раздавать интернет с телефона на компьютер с Ubuntu достаточно в настройках ОС изменить параметры TTL — базовая характеристика, по которой оператор определяет факт раздачи интернета на другие устройства.

Всего понадобится проделать 2 шага:

  1. Узнать наименование сетевого интерфейса, через который компьютер подключается к смартфону. Вызываем консоль (CTRL+ALT+T) и вводим ifconfig

    В моем случае интернет раздается через wi-fi соответственно мне нужен интерфейс wlan0.

    eth0 — проводной интерфейс, lo — петля (loopback, все пакеты отправленные в него, тут же возвращаются обратно как входящие, есть в любой системе).

  2. Добавляем в автозагрузку одну команду, которая изменяет TTL всех исходящих пакетов на выбранном интерфейсе. Для этого открываем с правами root на редактирование файл /etc/rc.local

    И перед «exist 0;» вставляем следующую строку (интерфейс нужно подставить свой из предыдущего шага

    Сохраняем файл (CTRL+O) и выходим (CTRL+X).
    Изменения вступят в силу после перезагрузки, но чтобы не ждать, можно ввести в консоль команду и все заработает сразу.

     

Я уже более года использую данные способ. Если не запускать специфическое ПО, или Windows в виртуальной машине — YOTA никак не ограничивает раздачу интернета.

Но есть способ совсем обойти ограничения на любом операторе. Хотя он не такой простой и требует ресурсов для своей реализации. Суть его в следующем: раздавать интернет нужно на шлюз с linux (компьютер, ноутбук, raspberry PI), на котором изменить TTL, а так же настроить VPN клиент, который будет шифровать до сервера весь трафик, а дальше к этому шлюзу подключить ЛЮБЫЕ устройства с любыми ОС. Хоть Windows с WoT или Lineage. При таком варианте никакой оператор не сможет определить что за трафик идет с телефона и клиент не попадет под ограничения раздачи интернета.

Сервер имеется ввиду VPN сервер, находящийся за пределами сети оператора, например в датацентре Москвы или Франции. Есть сервисы, которые предлагают платные или бесплатные VPN.

Если у вас есть вопросы — пишите их в комментариях.

6 комментариев

  • Gifisk

    10.08.2018

    rc.local — на убунту-мейт нет такого файла в папке etc

    Ответить (Reply)
    • 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

      Ответить (Reply)
  • nlinberg

    10.08.2018

    Способ кстати работает и сейчас, август 2018

    Ответить (Reply)
  • Gifisk

    10.08.2018

    Не создаётся файл после # touch /etc/rc.local # chmod +x /etc/rc.local. Может мате виноват?

    Ответить (Reply)
    • nlinberg

      10.08.2018

      Под каким пользователем создаете? Нужен или root, или из под sudo

      sudo touch /etc/rc.local

      Ответить (Reply)
  • 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
    И всё равно скорость ограничена. Мате виноват что ли.

    Ответить (Reply)

Добавить комментарий