Reverse tethering (получаем интернет на android с ПК linux)

Так как 3g интернет в месте использования телефона у меня медленный, то решено было попытаться использовать интернет от компьютера, на телефоне. Я был удивлен тем, что это стандартными средствами невозможно. Решил сделать нестандартными. Итак, нам понадобятся:
1. busybox
2. root
3. GScript Lite, либо эмуль терминала. GScript лучше, так как позволит сделать ярлычок на раб столе что бы не парится все время с скриптом.
4. Еще может пригодится утилита ifconfig, их много вариантов для андроида, выбрать тот, который похож на линуксовый… то бишь полноценный (но эта утилита только для справки, например если имя сетевого интерфейса, который создали для связи с компом, сменится).

Делать надо так:
1. Сопрягаем телефон с компом… ну тут ясно и инструкций полно.
2. На телефоне лезем в настройки->еще->Режим модема->«Общий интернет по bluetooth» и ставим галку.
2. Лезем в апплет блютуза и выбираем «параметры» (это на компе). Я пользуюсь ubuntu так что там есть апплет, для других дистров есть другие варианты и вы сами знаете куда надо нажать.
3. В параметрах видим свой телефон (мы его сопрягли). Заходим на него и выбираем «Использовать как сетевое устройство (PAN/NAP)». Делать это лучше один раз, NetworkManager, запоминает каждый раз по отдельности и стереть прошлые не дает, так что у меня там список, штук в двадцать пунктов из копий моего телефона. Позже, скрипт накатаю прямой, конечно. Можно посмотреть в сторону blueman он умеет то же.
4. Лезем в NetworkManager и, о чудо, там есть наш телефон, нажали на него.
5. В телефоне, если пункт 2 выполнен, придет оповещение «разрешить ли подключится точке доступа?». Разрешаем.
6. PROFIT1!!! Сеть поднялась. Мне выдает на компе адрес 192.168.44.39, на телефоне 192.168.44.1
7. На компе запускаем такое (у меня давно такое в стартовых скриптах, для домочадцев):
#!/bin/sh
modprobe ipt_MASQUERADE
iptables -F; iptables -t nat -F; iptables -t mangle -F
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -s ip_адрес_телефона(192.168.44.1) -j ACCEPT
iptables -A FORWARD -d ip_адрес_телефона(192.168.44.1) -j ACCEPT
iptables -t nat -A POSTROUTING -o имя_сетевого_интерфейса_с_интернетом(wlan1 у меня или ppp0 или eth0) -s ip_адрес_телефона(192.168.44.1) -j MASQUERADE

Это мы запустили NAT что бы пакеты от телефона, пришедшие нам, отправлять дальше в интернет. То бишь стали шлюзом.
8. Пишем в GSCript или терминале такое (на телефоне):
busybox route add -net default gw ip_адрес_компа(192.168.44.39) имя_сетевого_интерфейса_связанного_с_компом(btn0)

btn0 — это как раз имя сетевого интерфейса, который с компом связан у телефона.
Эта команда требует права root на телефоне.
9. PROFIT2!!! Имеем работающий интернет на телефоне, через комп, по блютузу.

Сейчас у меня на рабочем столе телефона есть ярлык для настройки шлюза по умолчанию (GSCript-овый). Я создаю сеть с телефоном, а потом запускаю ярлык. Интернет пашет, надо несколько секунд что бы до браузера или еще кого там в потрохах, доперло, что интернет уже есть. Осталось только сделать скриптик на компе, что бы сеть поднимать с такой же кнопочки, или найти софтину для андроида которая это умеет то же кнопочкой со стороны телефона. С телефона оно удобнее будет. Вот собственно и все.

Комментарии 17

    +4
    А чем плох вариант с wi-fi роутером?
      +3
      wi-fi батарею у меня жрет быстро, булютус по моим подозрениям экономнее.
      Плюс ко всему… не у всех есть роутер, а вот блютус пипка стоит копейки или встроена
      куда попало.
        +2
        usb wi-fi адаптер или pci wi-fi карточка не намного дороже bluetooth адаптера
        0
        Спасибо! Вопрос такой, маркет работает?
          +1
          У меня сейчас на компе то же интернет хреновый :) Я так понял при описанном способе
          настройки надо что бы на компе он был быстрый (тайминги что бы не превышались).
          Но даже при моем интернете маркет открывается и каталог показывает. Поставить
          что то не получилось, просто не дожидаюсь я, может и можно. «Загрузку» показывает.
          Через пару недель будет доделана линия на которой я вишу и можно будет проверить более
          качественно.
            0
            В любом случае я описал способ, который вообще больше не видел нигде описанным «от и до».
            Такой способ точно мной проверен и работает, все, что мне нужно часто.
          0
          Это если у аппарата нету режима Internet Pass-through по USB?
            0
            Сидеть в метре от компа на usb привязи… чем тогда комп плох :)
            Не слышал что бы pass-through работал через блютуз, может не знаю чего.
              0
              Дома я сижу на вифи, если гуляю. Сажаю на зарядку, если за столом.
              Но я понял ваше решение.
              Спасибо.

              (Хотя стоило бы мне 3G выжигать, бо накапливающийся тариф составляет уже 22 гига… Но за столом плохой сигнал сотовой :-( ).
                0
                Да, я бы то же пользовался 3g наверное, но у нас в Омске тарифы зверские, всего 3Гб трафика
                за триста рублей, а потом 64кбит в секунду скорости. Я поюзал месяц сначала билайн, потом мтс.
                Везде гадость… причем мтс ловит еще плохо. Попробую мегафон в следующем месяце.
                Но блютусное решение то же пригождается. В пределах квартиры хъодить вполне хватает, по
                офису то же хватит.
                  0
                  В .kz тариф Tele2 5GB/12USD. Нерастраченное переносится на след месяц, если вовремя продлён тариф. Это добавляет ещё 5GB. На смартофоне 12.6GB, на планшете, блин, 15GB (уточнил).

                  Особенность такова, что жаба душит прервать тариф — накопленное сгорает.

                  Надо им назло торренты начать качать.
                    0
                    Эммм… сейчас по всей России примерно одинаковые тарифы… насколько я вижу у МТС безлимит 650, ограничение не увидел по трафику, или у вас бюджет в 300 ограничен?
                      0
                      Жалко мне 550р за безлимит для компа платить и 650 для телефона. Блютуз отчасти и поэтому придуман :)
                      Когда линия на ПК будет нормально работать, доделаю описанный мной блютузный способ до постоянного
                      линка телефона с компом по одной кнопке, а потом от сотовых интернетов откажусь совсем.
                      За последнее время я около 15т.р. потратил на организацию доступа в интернет (сложные тех. условия, все сам делаю). Так что жаба меня душит больше тратить на него :)
              0
              при нынешних ценах что стационарных, что мобильных роутеров, статейка опоздала, имхо, года на четыре.
                +1
                Ну вот и появилось поколение ньюфагов, которым iptables — нестандартные средства.

                Да, мой роутер имеет 2 ядра, 8Гб оперативки и 10 отсекров для HDD. Впрочем, медиаплеер мощнее, но там только 2 отсека в угоду миниатюризации.
                  0
                  Для смарта, который телефон — iptables после рутинга и танцев — нестандартные средства. И нечего вы… пендриваться, а то я сейчас то же начну пальцы гнуть, под моими углами, ваши сломаются :) Лучше бы посоветовали толковый скрипт для подъема NAP на компе прямо с телефона… было бы дело.
                  0
                  Делал почти то же самое (gscript на телефоне, iptables/NAT на PC), только для USB. Пользовался первые пару-тройку дней после покупки телефона, когда чесалось поставить/прошить всё самое свежее. Потом просто купил, как белый человек, дешёвую точку доступа WiFi и перестал маяться ерундой.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое