Pi как VPN-прокси?

Я не уверен, существует ли что-то для этого, но решил спросить здесь. У меня есть Apple TV, и я хотел бы иметь возможность переключать его между американской и британской версиями Netflix (я в Великобритании). Я могу сделать это, используя VPN и делясь соединением с ноутбуком, но это неудобно.

Мое идеальное решение — это Pi, выступающий в роли прокси-сервера и также обрабатывающий VPN. Мне хотелось бы подключаться к нему через веб-интерфейс или приложение для iPad/Android, чтобы включать или отключать VPN.

Я уверен, что это возможно, и достаточно уверен, что Pi справится с задачей, но знает ли кто-нибудь, есть ли готовое решение, которое я могу просто подключить для этого?

Это очень просто, если вы хотите просто использовать SSH-туннель. В сети много руководств. Я предполагаю, что ваш ноутбук — Windows или OS X? Если Windows, проще всего использовать Putty.

Это создает безопасный туннель к вашему дому, и передаваемые по нему данные зашифрованы. Это делает его «прокси-сервером», отправляя ваш трафик по зашифрованной ссылке и выходя в интернет с вашего домашнего аккаунта.

Вы также можете добавить легитимное прокси-программное обеспечение на Pi. Я использую Privoxy и перенаправляю веб-трафик именно туда.

Могу сделать видео, если хотите. Дайте знать.

РЕДАКТИРОВАНИЕ: Также этот парень сделал довольно классный пост о VPN (используя pptp!) на Raspberry Pi! http://wellsb.com/post/29412820494/raspberry-pi-vpn-server

Изучите socks proxy через ssh. Он, вероятно, работает изначально с установкой Raspbian. Просто подключитесь через Putty, затем выберите порт для динамической передачи трафика. Затем вы можете настроить браузер для его использования, я использую Firefox с foxyproxy basic, чтобы выбирать его или нет одним кликом. Вы укажете прокси на localhost, а Putty перенаправит трафик на ваш Pi.

Я действительно делал что-то очень похожее со своим использованием Python. В основном у меня есть скрипт в init.d, который

  1. открывает SSH-туннель до моего удаленного сервера (аутентификация через сертификат), на котором работает squid и перенаправляет порт 8080.

  2. Определяет IP, который он получил через DHCP.

  3. Отправляет мой IP-адрес на мой Gmail.

Затем я могу настроить прокси на моем PS3 или другом устройстве, и весь трафик будет туннелироваться.

Возможно, очень просто, зависит от вашей настройки.

Единственная проблема: вам придется немного поработать, так как нет готового решения (по моим знаниям).

Проблема с Putty на Windows в том, что при использовании публичных ключей все становится очень запутанным. Я не могу заставить себя использовать аутентификацию по паролю для сервиса, доступного из Интернета.

С другой стороны, с GNU/Linux это очень просто.

На самом деле очень легко использовать puttygen для создания публичных и приватных ключей и переноса публичного ключа в локальный файл ~/.ssh/authorized_keys на сервере Raspberry Pi.

Я обычно генерирую ключи в puttygen, копирую (в буфер обмена) строку публичного ключа, которая выводится в GUI. Затем я зашел на сервер через обычное SSH-соединение, перешел в ~/.ssh/ и создал файл:

vi authorized_keys

Затем вставляю публичный ключ — нажимаю “i” для вставки в vi, затем вставляю правой кнопкой и сохраняю:

:wq

Последовательно убедитесь, что права доступа правильные:

chmod 600 authorized_keys

Теперь все готово. Можно использовать Pageant для управления приватными ключами.

Иногда я также использую Filezilla для SCP публичных ключей на сервер и переименовываю файл. Сообщите, если возникнут проблемы.

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

Нет, это не так. Я использую PuTTy постоянно и никогда не столкнулся с проблемами использования аутентификации по сертификатам.

Хорошо, грамотный подход, я собирался сказать то же самое. Putty действительно легко работать с ключами. Когда я наконец понял, насколько это просто, был удивлен.