TheTooth-Systems

Как пустить интернет на iдевайс через USB? Вообще без Wi-Fi

Данная инструкция рассчитана на продвинутого пользователя

Сначала нужно скачать и установить всё необходимое:

PC:
- iTunnel с WinSCP и PuTTy
- MyEnTunnel
- OpenVPN 2.1.1

Cydia:
- OpenSSH
- network-cmds
- OpenVPN Toggle for SBSettings из репозитория BigBoss (тут не только переключатель для SBS, но и сам OpenVPN)

Принцип действия:

При установке на девайс OpenVPN создаёт сетевое устройство (эмулирует) и изменяет роуты (пути) для всех соединений на девайсе через это устройство. Запросы далее передаются на IP 127.0.0.1 порт 1194 девайса, где их уже ждёт созданное MyEnTunnel перенаправление через SSH туннель на IP 127.0.0.1 порт 1194, но уже компьютера. Запущенный на компе сервер OpenVPN слушает локальный порт 1194 и все поступающие на него запросы отправляет на сетевое псевдоустройство (так назывемый TAP-Adapter).
При расшаривании интернет-подключения для TAP-Adapter запросы наконец достигают внешнего мира.

Шаг за шагом

1. Настройте iTunnel. Для соединения через него я использую порт 1022.

2. Установите OpenVPN из Cydia на девайс и MyEnTunnel с OpenVPN (отметить все галки при установке) на комп.

3. Как настраивать OpenVPN. В установочной папке найдите папку sample-config. Можно редактировать конфиги из этой папки, можно скопировать те, что даны ниже (conf.ovpn это переименованный client.ovpn):

server.ovpn

local 127.0.0.1
port 1194
proto tcp
dev tun
;dev-node MyTap
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
server 192.168.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 0.0.0.0 0.0.0.0"
push "dhcp-option DNS 192.168.1.1"
push "dhcp-option WINS 192.168.1.1"
keepalive 10 120
comp-lzo
;max-clients 100
persist-key
persist-tun
status openvpn-status.log
;log openvpn.log
;log-append openvpn.log
verb 4
;mute 20

conf.ovpn

client

dev tun
;dev-node MyTap
proto tcp
remote 127.0.0.1 1194
resolv-retry infinite
nobind
;user nobody
;group nobody
persist-key
persist-tun
;mute-replay-warnings
ca "ca.crt"
cert "client.crt"
key "client.key"
ns-cert-type server
comp-lzo
verb 4
;mute 20

mssfix 1275
route-delay 0 120

up /var/mobile/Library/OpenVPN/update-resolv-conf
down /var/mobile/Library/OpenVPN/update-resolv-conf

В данном случае настраивается TAP-Adapter на сеть 192.168.1.0/255.255.255.0
Если уже есть соединения с этим диапазоном IP, то измените 192.168.1.0 например на 192.168.10.0 (и 192.168.1.1 на 192.168.10.1)

4. Создание сертификатов и ключей для OpenVPN.
Всё необходимое для этого лежит в подпапке easy-rsa.
Нужно открыть cmd.exe и зайти в эту папку:

cd C:\Program Files\OpenVPN\easy-rsa\

Далее все .bat файлы нужно запускать из этой командной строки не закрывая её.

Сначала нужно запустить init-config.bat
Затем отредактировать файл vars.bat примерно так (данные можно указывать свои):

set KEY_COUNTRY=Ru
set KEY_PROVINCE=Moscow
set KEY_CITY=Moscow
set KEY_ORG=iPTM
set KEY_EMAIL=iwantinet@overusb.com

После этого запустить
vars.bat
clean-all.bat
build-ca.bat

Во время запуска скрипт спросит Вас о различной информации для сертификата. Указывать лучше то, что было в vars.bat, либо просто нажимать Enter (тогда будет оставлено написанное в квадратных скобках). Также попросит ввести «Common Name», укажите например Admin.

Далее, запустить
vars.bat
build-key-server.bat server
build-key.bat client

На вопросы отвечайте y. Challenge password и Optional company name можно оставить пустыми.

Наконец, создайте параметры для алгоритма Diffie Hellman командой
build-dh.bat
Процесс займёт какое-то время. Откиньтесь на спинку стула и… ой, это не отсюда =)

5. Копируем файлы на свои места.
Файл server.ovpn поместите в папку config вместе со следующими файлами:
easy-rsa\keys\ca.crt
easy-rsa\keys\server.crt
easy-rsa\keys\server.key

А файл easy-rsa\keys\dh1024.pem в папку bin (он должен тоже быть в config, но у меня сервер его там не находит).

Файл conf.ovpn поместите в какую-нибудь отдельную папку (назовём её client) вместе с этими файлами:
easy-rsa\keys\ca.crt
easy-rsa\keys\client.crt
easy-rsa\keys\client.key

6. Файлы подготовлены, теперь можно заливать конфиг на девайс. Содержимое папки client скопируйте в
/var/mobile/Library/OpenVPN/
Скачайте и залейте туда же update-resolv-conf

Затем через WinSCP скачайте, отредактируйте и залейте обратно файл
/var/mobile/Library/SBSettings/Commands/net.openvpn.up
На всякий случай на него и на net.openvpn.down можно поставить права 777.

net.openvpn.up (кодировка - Unix Text)

#!/bin/sh
/bin/rm /var/mobile/Library/SBSettings/Toggles/OpenVPN/OFF
cd /var/mobile/Library/OpenVPN/
/usr/sbin/openvpn-iphone --script-security 2 --config /var/mobile/Library/OpenVPN/conf.ovpn &

7. Выполните следующие команды в PuTTy под root-ом (su → alpine):

cd /var/mobile/Library
chown -R mobile.mobile OpenVPN
cd OpenVPN
chmod +x update-resolv-conf
cp client.key client.key.orig
openssl rsa -in client.key.orig -out client.key

8. Настройка MyEnTunnel. Пароль для рута - alpine.

MyEnTunnel 1

MyEnTunnel 2

9. Последний шаг. Запустите iTunnel и в MyEnTunnel нажмите Connect.
Если порт успешно перенаправлен, то Вы увидите эти строки
plink.exe: Requesting remote port 1194 forward to localhost:1194
plink.exe: Remote port forwarding from 1194 enabled
Connection is stable

Далее запустите на компе сервер командой

C:\Program Files\OpenVPN\bin\openvpn.exe --script-security 2 --config "C:\Program Files\OpenVPN\config\server.ovpn"

(через Пуск→Выполнить, .cmd файл или создайте ярлык к openvpn.exe)

Первый раз запустите на девайсе клиент через MobileTerminal или PuTTy, чтобы видеть процесс запуска (потом клиент можно будет вкл/выкл из SBSettings), командой
/private/var/mobile/Library/SBSettings/Commands/net.openvpn.up

Когда в окне сервера и клиента появится надпись Initialization Sequence Completed, значит всё ок, можете пользоваться инетом.

Не забудьте расшарить соединение с интернетом для TAP-Adpater (делается это в свойствах соединения, вкладка «Дополнительно», галка «Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера»).

Обсуждение

Makc, 23:43 13.11.2010

Фигня Полная.Не чего не понятно и таких папок нету

Mikanoshi, Mikanoshi, 01:45 16.11.2010

Потому что данная инструкция рассчитана на продвинутого пользователя

SwapoN, SwapoN, 04:39 15.01.2011

c файлами10 тунца и вин7х64 , видимо, не работает?
итуннель вылетает как только запускаешь путти…

Константин, пропал безвести, 17:27 15.01.2012

Попробуй поставить совместимость! правой кнопкой по ярлыку, там будет совместимость и попробуй поставить XP

Farinelli, farinelli@xakep.ru, 21:44 12.02.2011

Уважаемый, что я сделал не так?

Sat Feb 12 16:37:44 2011 us=156000 127.0.0.1:4359 TLS: Initial packet from 127.0
.0.1:4359, sid=baa03342 03818a6a
Sat Feb 12 16:37:44 2011 us=375000 127.0.0.1:4359 VERIFY ERROR: depth=1, error=s
elf signed certificate in certificate chain: /C=US/ST=CA/L=SanFrancisco/O=OpenVP
N/OU=admin/CN=admin/emailAddress=mail@host.domain
Sat Feb 12 16:37:44 2011 us=375000 127.0.0.1:4359 TLS_ERROR: BIO read tls_read_p
laintext error: error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certi
ficate returned
Sat Feb 12 16:37:44 2011 us=375000 127.0.0.1:4359 TLS Error: TLS object → incom
ing plaintext read error
Sat Feb 12 16:37:44 2011 us=375000 127.0.0.1:4359 TLS Error: TLS handshake faile
d
Sat Feb 12 16:37:44 2011 us=375000 127.0.0.1:4359 Fatal TLS error (check_tls_err
ors_co), restarting
Sat Feb 12 16:37:44 2011 us=390000 127.0.0.1:4359 SIGUSR1[soft,tls-error] receiv
ed, client-instance restarting
Sat Feb 12 16:37:44 2011 us=390000 TCP/UDP: Closing socket

Mikanoshi, Mikanoshi, 22:25 12.02.2011

SwapoN
У меня в Win 7 32bit с самым последним тунцом вообще iTunnel.exe вылетал сразу после запуска, всё перепробывал, всё переустанавливал - ничего не помогло. Через некоторое время проверил - заработало само ) iTunnel давно не обновлялся, может работать вообще непредсказуемо с новыми ОС.

Farinelli
Что-то не так с CA сертификатом, попробуйте пересоздать. Common Name везде указывать одинаково. Также можно гуглить «OpenVPN self signed certificate in certificate chain», там много разных ответов.

Farinelli, 13:56 13.02.2011

Кстати, в последней версии OpenVPN немного другие пути. В частности, папки имеют название не OpenVpn, а OpenVPN; бинарник переместили в /usr/sbin и еще пара мелочей; com.offinf.openvpnup теперь называется net.openvpn.up, если я правильно помню.

Hitman, 20:09 16.02.2011


/private/var/mobile/Library/SBSettings/Commands/net.openvpn.up помните правильно

Ребята трабл, не могу запустить клиент
через PuTTy получаю ответ /private/var/mobile/Library/SBSettings/Commands/net.openvpn.up: /bin/bash^M: bad interpreter: No such file or directory
наверно что-то не так в файле net.openvpn.up?
MobileTerminal вылетает сразу после запуска. Подскажите плз, что не так!

Mikanoshi, 21:03 10.03.2011

Сохранить его нужно в кодировке юникс, а не win.

Лиса, 16:55 01.03.2011

Подскажите пожалуйста, все сгенерила, все вроде правильно ,но Putty отказывается соединяться, то есть я запускаю его , однако терминал остается черным и девственно чистым )
что я могла сделать неправильно ?

Mikanoshi, 15:46 10.07.2011

Обновлена статья про iTunnel, теперь он должен работать с новыми версиями iTunes 10.

Ваш комментарий. Вики-синтаксис разрешён:
E​ E T S P
 
Наверх
faq/usbinet.txt · Последние изменения: 16:04 15.04.2011 — punkass