android + OpenVPN + squid

Автор superbitch, 02 мая 2014, 21:08:12

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

superbitch

Цель: подключить android устройство к OpenVPN, а его в свою очередь к прокси squid.

Основное руководство:
https://wiki.debian.org/OpenVPN

1) Копируем easy-rsa
Цитировать#cd /etc/openvpn/
#make-cadir easy-rsa # значит создать папку easy-rsa и скопировать туда скрипты упрощающие создание ключей.
2) Создаём ключи, при этом оставляем поля: пароля, user name и organization, - пустыми.
3) Конфиг файл openvpn сервера: /etc/openvpn/server.conf
Цитироватьport 1194
proto udp
dev tun

ca      /etc/openvpn/easy-rsa/keys/ca.crt    # generated keys
cert    /etc/openvpn/easy-rsa/keys/server.crt
key     /etc/openvpn/easy-rsa/keys/server.key  # keep secret
dh      /etc/openvpn/easy-rsa/keys/dh2048.pem

server 10.9.8.0 255.255.255.0  # internal tun0 connection IP
ifconfig-pool-persist /etc/openvpn/ipp.txt

keepalive 10 120

comp-lzo         # Compression - must be turned on at both end
persist-key
persist-tun

status /etc/openvpn/log/openvpn-status.log

verb 3  # verbose mode
client-to-client
#push "redirect-gateway def1 bypass-dhcp"
#push "route 10.9.8.1 255.255.255.0"
#push "redirect-gateway"
push "dhcp-option DNS 212.1.224.6"
user nobody
group nogroup
ANDROID:
4)
- подключаем android через usb
- переводим андройд в USB debuggin
Цитировать# lsusb
...
Bus 001 Device 017: ID 18d1:4ee6 Google Inc.
Manufacturer ID (18d1) and the Model ID (4ee6).
Цитировать# sudo gedit /etc/udev/rules.d/99-android.rules
Цитировать# Google Nexus devices
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", OWNER="your-login" # Google Nexus devices
your-login should be your session login. Я вписал user - логин под которым я обычно работаю.
Цитировать# sudo service udev restart
5) Для того чтобы подключить android к компьютеру устанавливаем:  apt-get install android-tools-*
Цитировать#adb devices
Должно появиться что-то вроде
List of devices attached
4CA94Dxxxxx device
6) Копируем ключи openvpn на android:
Цитировать#adb push /etc/openvpn/easy-rsa/keys/ca.crt /sdcard/Download
#adb push /etc/openvpn/easy-rsa/keys/client.crt /sdcard/Download
#adb push /etc/openvpn/easy-rsa/keys/client.key /sdcard/Download
7) На android устанавливаем OpenVPN for Android
- создаём профиль
- указываем адрес или ip сервера, UDP порт
- в Basic: Type - Certificates
- Указываем ключи из /sdcard/Download
- Authentication/Encription - поставьте галочку Expect TLS server certificate
8 ) Настраиваем фаервол:
Цитировать#ufw allow in tun0
или можно конкретнее
Цитироватьufw allow in on tun0 to any port 3128
9) Запускаем "OpenVPN on Andoid" и проверяем доступность squid через браузер на андройде, вводя в адресную строку:
10.9.8.1:3128
Должна появиться страница с ошибкой от нашего прокси.
Можно проверить пинг с андройда:
Цитировать#adb shell ping 10.9.8.1
10) Настраиваем демон OpenVPN:
/etc/init.d/openvpn
AUTOSTART="server" # где server = /etc/openvpn/server.conf
11) Настраиваем http прокси в Firefox на android:
ЦитироватьType "about:config" in the address bar.
network.proxy.http = 10.9.8.1
network.proxy.http_port = 3128
network.proxy.ssl = 10.9.8.1
network.proxy.ssl_port = 3128
network.proxy.type = 1
где 3128 - порт Squid прокси сервера.
Если Squid настроен без ssl-bump, то он будет прозрачен для всех запросов https.