2 октября 2008 в 16:13

iPhone —как полноценный gprs/3g модем, используя VPN over SSH.

Видимо по той причине, что Apple заинтересована в безлимитном интернете только на самом iPhone (а не на устройствах подключенных к iPhone), они построили ядро ОС не включив в него технологию DIVERT, которая позволяет использовать NAT подобный тому, который обычно стоит в маршрутизаторах для обеспечения интернетом «серых» сетей (те которые 192.168.0.0/24 например).

К счастью, используя стороннее ПО на iPhone можно запустить socks –сервер, но с ним не умеют работать куча программ.

Однако у нас есть возможность использовать на iPhone SSH и туннелирование трафика, что частично позволяет нам неполноценно и достаточно неудобно, но доставать нужные сервисы из интернета.

Но оказывается такого туннелирования достаточно, что бы, благодаря программе OpenVPN, установить связь с удаленным сервером, который умеет и маршрутизировать и NAT-ить.

Единственный нюанс: необходим удалённый сервер, который будет вашим маршрутизатором. Для этого нужен обычный сервер с реальным белым IP- адресом (динамический тоже можно использовать, например, с помощью dynDNS). Таким сервером может быть: домашний компьютер, сервер на работе, VPS и т.п.

Сначала нужно провести небольшую подготовительную работу:
  1. На iPhone должен быть установлен SSH
  2. На сервере и на компьютере устанавливаете OpenVPN [http://openvpn.net/]
  3. Настраиваете конфиги на компьютере и на сервере для OpenVPN. Простой случай настройки примерно такой:
    1. Генерируете секретный ключ:
      openvpn --genkey --secret static.key
      и копируете его в папку с конфигами на сервере и компьютере
    2. Настройка конфига на сервере:
      dev tap
      proto tcp-server
      ifconfig 192.168.20.13 255.255.255.0
      push "dhcp-option DNS 192.168.20.13"
      secret static.key
      comp-lzo
      keepalive 10 120
      verb 3
      log openvpn.log
    3. Настройка конфига на компьютере:
      dev tap
      proto tcp-client
      remote localhost
      ifconfig 192.168.20.11 255.255.255.0
      route-gateway 192.168.20.13
      redirect-gateway
      push "dhcp-option DNS 192.168.20.13"
      secret static.key
      comp-lzo
      verb 3
      route-method exe # это для windows лучше оставить
      route-delay 2 # а для linux и mac убрать
  4. На сервере должен быть запущен DNS- сервер, NAT
  5. Надо не забыть завернуть трафик из сети 192.168.20.0/24 в NAT
  6. Запускаете и оставляете запущенным серверную часть OpenVPN

Дальше собственно установка соединения:
  1. Убедитесь что iPhone находится в интернете, а то мало ли 
  2. Создаете туннель от вашего компьютера до удаленного сервера через iPhone: L1194 server.ru:1194 | root@alpine
  3. Запускаете на компьютере OpenVPN: openvpn client.ovpn

И если все получилось, то у вас на компьютере уже есть полноценный интернет. (хотя не думаю что получится с первой попытки ;) )

В принципе, для удобства, пункты 2 и 3 можно поместить в 1 ярлык.
pgrishin @pgrishin
карма
12,5
рейтинг 0,0
Похожие публикации
Самое читаемое

Комментарии (30)

  • +2
    Кстати может кто-то сервис такой сделает? Ведь можно сделать полностью автоматическую клиентскую часть :)
  • –4
    CUT please!!!
    • +1
      сделал, хотя вроде не такая большая статья :/
  • 0
    Спасибо. Мысль давно крутилась в голове, но за отсутствием реальной необходимости — откладывалась.
    • 0
      Я просто собрался в регион поехать, а покупать для этого gprs модем неохота, раз уж тут возможна такая халява :)
  • +2
    В Сидии есть PdaNet for iPhone. Как раз роутер, в отличие от остальных.
    • 0
      Честно говоря только-что услышал о ней. Плюсы у openvpn еще вот какие:
      1. трафик шифруется и оператор не вкурсе что передается и что подключено
      2. через openvpn можно перекинуть белую подсеть
      3. openvpn и openssh — это opensource, я знаю как они устроены и спокоен за пароли (если об этом в интернете вообще можно говорить) :)
      4. судя по всему pdanet использует много durty хаков что бы работать с сетевыми стеками, это мне кажется не очень хорошо.

      Но такие программы я тоже ценю. Может apple одумается и сделает эту фичу в самой ОС на iphone.
      • 0
        На моем мегафоновском EDGE не поднимается VPN. Только на более дорогом тарифе. Так что бывает всякое…
        • +1
          У вас не поднимается VPN потому что провайдер блокирует GRE трафик. GRE и в SSH тоже не пролезает.

          Но OpenVPN может использовать только TCP (в статье в конфигах как раз он настроен), поэтому работать он точно должен.
    • 0
      +1. PdaNet — решает все вопросы.

      Раньше я мучался со SLiRP'ом — тоже полноценный НАТ и все дела, но все-таки PdaNet в миллион раз удобнее.
  • 0
    Т. е. без jailbreak'а (неофиц. софта на iPhone) вообще никак?
  • 0
    Видел программку iModem, вроде бы делает именно это =)
    • 0
      Угу. И именно сегодня ночью в связи с началом продаж iphone в росси продаётся за 3.33$.
      www.iphones.ru/iNotes/9584/ (отношение к сайту и продавцу не имею.)
      Сам собираюсь сегодня купить.
      • 0
        Да, я видел именно там, просто читал статьи об айфоне и раздумывал взять или нет.
    • 0
      iModem это почему-то платный socks-прокси. Многие программы не будут с ним работать, но как минимум браузером пользоваться будет можно :)
  • +4
    А можно вопрос? Вопрос: для чего это?
    У Эппла политика не лучше Майкрософта, ей Богу. Народ понакупает девайсов, а потом давится говном, приправляя его укропом, петрушкой, пряностями. Нет, айфон мне нравится: красивый прикольный девайс. Но политика компании и его внутренняя начинка… Впиндюрить в мобильник модем не проблема ведь.
    • +3
      Верно, только такая политика у всех компаний :), и произаодителей телефонов и продавцов сервисов. И план на телефон сей (по крайней мере в США) почти никак не отличается от аналогов от htc и т. п. И план стоит столько же, и точно так-же на других смартфонах запрещён любой шаринг в дата-планах для мобильников. Для шаринга есть более дорогие планы, которые это предусматривают, начинаются от 60$, против 30$ безлимита на iphone. Вот этой припаркой её и пытаются реализовать ;). И даёт это экономию в 30$ и более в месяц.

      Что значит «впиньдюлить модем»? Современные телефоны получают данные по радиоканалу и раздают его по синезубу, вай-фаю, или по USB. Модема там давно уже нет. А значит, что, если при наличии данных переферийных устройств — функция отцуствует, то она отключена или нереализована програмно (в большенстве случаев). Вот эту функциональность т пытаются прикрутить как могут. ;)
      • 0
        Я и имел ввиду программно. Ну да, модем там есть же. Тем не менее чушь какая-то. Впрочем, они имеют право делать что угодно. Но убого же это. Например, мерзкие мелкие провайдеры «в одни руки один интернет», которые запрещают раздавать инет(одного юзера) на несколько машин. И компании, которые ставят подобные условия, для меня являются говнокоторами с фимозом головного мозга у правителей. Эппл же хорошая компания с качественное продукцией, но огромная куча народа, превратившаяся в стадо леммингов погнавшихся за гламуриками и пантовостями, начинает откровенно бесить. И народ начинает придумывать изощеренные способы обхода защиты, вместо того чтобы за эти же деньги было купить лучший(или не худший) аппарат с нормальнореализованной раздачей интернета. А Эппл(и другие компании) в таком случае никогда и не изменят свою политику, т. к. знают, что юзер и так прохавает. Главное пиар и гламурики.
        • +1
          Хорошо написано. Только вот нет такого аппарата в котором бы за те-же деньги (ежемесячная плата) была бы реализована раздача инета. Потому что это уже другой сервис и провайдеры его продают за дополнительные деньги, и терять этот рынок они совсем нехотят. Поэтому и пресекают как могут.
          А ситуация с противодействием использования интернета, за который я заплатил меня тоже бесит. Тоесть выходит что-то вроде этого: контора которая снабжает воду в дома (по водопроводу) даёт воду, но говорит что это только для того чтобы мыть посуду!, а пить её нельзя! (хоть она и питьевая), чтобы пить — покупайте у нас же воду в бутылках! И потом, ещё, после того как видит что народ забивает на то что они говорят, водопроводная компания начинает подмешивать в воду какую-то гадость чтобы сделать воду непригодной для питья.
          Хотя, в принципе это их право (эпл), у них почти все платформы закрытые, и они в принципе могут творить что хотят. Не хочешь — небери. Правдв стараются совсем не борзеть, и если видят что сделали большую глупость — по хоть стараются исправится. :)
          • 0
            Впаривать аппарат вместе с лже«безлимитным» сервисом — это не что иное, как демпинговый заговор, и другим провайдерам давно пора затаскать яблочников по судам — за неоднократную организацию консорциумов с операторами с целью недобросовестного захвата рынков.

            Хочешь завтра платить по $200 в месяц за один только телефон и не иметь возможности поставить на него свой софт — покупай йаМобилко.
            • 0
              Как это за «лжэ» ??? Я его, с момента написанания этого комента купил таки :)
              Я 3 раза спрашивал в АТТ безлимитный ли это, или очень большой лимитный (есть имплойи-айди людей которые мне это говорили). А в США устная договорённасть считается контрактом.

              Вы это серйозно??? (я ешё могу «всё» отменить без разберательств)???
  • –7
    млин, заипали своими еблофонами… всю главную загадили
  • +1
    … они построили ядро ОС не включив в него технологию DIVERT, которая не позволяет использовать NAT подобный…

    Одно «не», кажется, лишнее…
    • 0
      thx
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Идеальный телефон интересует только нас пользователей, но никак не производителей… Я не думаю, что Apple случайно забыла реализовать столько много интересных функций в iPhone. Все же новые фишки это новые модели телефонов или обновления, а это опять же новые продажи и новая прибыль…
  • +2
    Бред какой то покупать девайс за штуку баксов, а потом устраивать с ним такую дрочку…
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    И он сделает то, что всем, малым и великим, богатым и нищим, свободным и рабам, положено будет начертание на правую руку* их или на чело** их, и что никому нельзя будет ни покупать, ни продавать***, кроме того, кто имеет это начертание****, или имя зверя*****, или число имени его. Здесь мудрость. Кто имеет ум, тот сочти число зверя, ибо это число человеческое; число его шестьсот шестьдесят шесть******.

    * Интерфейс вывода (а как бы вы объяснили это понятие древним?).
    ** Интерфейс ввода.
    *** Политика Apple в отношении продаж софта (и не только) под iPhone.
    **** Цифровая подпись ака сертификат.
    ***** Cheetah, Puma, Jaguar, Panther, Tiger, Leopard, Snow Leopard… — «зверская» серия операционных систем Mac OS X.
    ****** Комбинация разрешений CHMOD 666 означает «разрешение на чтение и запись, запрет на исполнение» — то есть именно та политика, которую ведет Apple в отношении разработки под iPhone, хочешь выполнить на нем код — получай зверское начертание.
    • 0
      эк вас торкнуло, однако… Хотя Apple можно только позавидовать… при таком ущемлении потребителей сделать из них своих фанатов — это мощно.

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