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

pgrishin 2 октября 2008 в 16:13 4k
Видимо по той причине, что 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 ярлык.
Проголосовать:
+29
Сохранить:
Лучшее на Habrahabr

Часть 2. Сначала они воруют, а когда ты побеждаешь, то тебя убивают

InkOutсегодня в 12:50
90

Исследование безопасности транспортной системы Тбилиси — или как кататься на транспорте и зарабатывать

из песочницы
Xadokвчера в 17:28
11

Что нового в PHP 7.2?

Cubistсегодня в 11:39
25

Битовый способ отображения тайловых карт

перевод
PatientZeroсегодня в 12:31
5

Снижаем цены на локальные SSD-накопители в «вытесняемых» инстансах и инстансах по требованию

zviadвчера в 17:47
13

Как легально «вскрыть» QIWI Кошелек и прокачать его по полной программе

d_garmashevсегодня в 11:26
20

CRM-система: полный алгоритм внедрения

Axelusсегодня в 13:23
5

Перехватываем запуск любого приложения в Windows и пытаемся ничего не сломать

из песочницы
diversenokсегодня в 11:07
5

Oh, My Code — новая передача про управление в IT на канале Технострим

Olga_olвчера в 20:00
11

Sosnovkino — первый отечественный скам? Или соберём денег побыстрее и побольше

Menaskopсегодня в 02:04
22