Оглавление:
- Шаг 1. Выбор службы VPN
- Шаг 2: Установите Raspberry Pi
- Шаг 3: Установите OpenVPN
- Шаг 4: настройка маршрутизации
- Шаг 5. Настройте брандмауэр и NAT
- Шаг 6: Заключение
Видео: VPN-шлюз Raspberry Pi: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Обновление 2018-01-07:
- Обновлены отсутствующие элементы и внесены изменения, необходимые для текущей версии Raspian.
- Также создано специальное руководство для NordVPN.
Есть несколько разных применений VPN. Либо вы хотите защитить свою конфиденциальность и личные данные от посторонних глаз, либо вам необходимо получить их из другой страны. Источники из другой страны могут быть очень полезны для получения доступа к услугам, которые не предоставляются в вашей стране. Сегодня существует ряд VPN-сервисов, и большинство из них предлагает простое в использовании программное обеспечение для вашего компьютера и приложения для вашего планшета или телефона. Но если у вас есть другие устройства, не поддерживаемые программным обеспечением, которые вы хотите использовать через VPN? Затем создайте шлюз, который даст вам доступ в Интернет через VPN.
Если вы посмотрите на свою базовую настройку сети, у вас есть «шлюз по умолчанию», который используется для любого IP-адреса, не находящегося в вашей текущей подсети (очень упрощенно). Таким образом, если вы настроили шлюз, который может маршрутизировать интернет-трафик через установленное VPN-соединение, любое сетевое устройство может использовать VPN-туннель.
Мой основной вариант использования в моей квартире в Сан-Франциско - это VPN-туннель в мою родную Швецию, поэтому я могу транслировать шведские игровые каналы на свои медиаплееры и Smart TV. Это довольно распространенный вариант использования для большинства людей, которым нужен VPN-туннель. Поскольку мои медиаплееры и смарт-телевизоры не поддерживаются программным обеспечением VPN, я построил один из Raspberry Pi.
Вы можете купить его менее чем за 40 долларов на Amazon. Однако я рекомендую вам также купить чехол и приличный адаптер питания. Для этого вам понадобятся:
- Raspberry Pi 2 или 3
- Случай на ваш вкус
- Приличный адаптер питания
- Сетевой кабель
Шаг 1. Выбор службы VPN
При выборе службы VPN важно, чтобы она соответствовала вашим требованиям. Для этого варианта использования мне понадобился VPN-сервис со шведской точкой выхода, это самая важная вещь, поскольку мне нужны шведские сервисы, чтобы убедиться, что я нахожусь в Швеции. На протяжении многих лет я использовал несколько разных поставщиков, и ниже приведены вещи, которые я принимаю во внимание при выборе поставщика VPN для конкретного случая использования:
Бесплатный тест
Мне нужен бесплатный тестовый период или небольшой объем тестовых данных, чтобы разобраться в программном обеспечении или приложении. Также я хочу протестировать производительность и общее впечатление, прежде чем платить за это. Также приятно убедиться, что моя идея сработает, прежде чем я начну платить.
Конфиденциальность
Если реализация предназначена для обеспечения конфиденциальности, то действительно важно, что указано в политике конфиденциальности. Также важно, в какой стране работает компания и какие законы защищают вашу конфиденциальность. Пользователи, которые действительно заинтересованы в конфиденциальности, должны обратить внимание на сервис, который заявляет, что журналы трафика не хранятся и разрешает анонимные платежи, например, через биткойны.
Разрешенный трафик
Могут быть ограничения на то, какой тип трафика вам будет разрешено запускать. Более серьезные поставщики обычно блокируют одноранговый трафик. Это делается не только для того, чтобы избежать юридических проблем, но и для того, чтобы поддерживать производительность для всех пользователей. Однако есть много хороших поставщиков, которые разрешают одноранговую связь и при этом предоставляют высококачественные услуги. Но если это не ваше основное возмещение, я рекомендую выбрать услугу, которая не поддерживает одноранговую связь.
Ограничение данных
Никогда не используйте сервис, который ограничивает объем данных для своих платящих пользователей. Они просто закончатся в самый неподходящий момент, точно так же, как данные на вашем телефоне перед самой забавной частью видеоклипа!
Выезд из страны
В зависимости от варианта использования это имеет разное значение. Для такого случая использования, как мой, когда мне нужно оказаться в определенной стране, конечно, это должно быть в списке. Мне также нужно иметь право выбирать, из какой страны я выезжаю. Существуют службы, в которых вы не можете выбрать страну выезда, держитесь подальше от них. Вы можете оказаться в стране с плохими законами о производительности или конфиденциальности. Даже если вам не нужна конкретная страна, вы все равно должны выбрать службу с несколькими странами для показа, чтобы иметь возможность найти службу с хорошей производительностью.
Тип ПО и поддержка
Это одна из основных причин, по которой я предпочитаю услуги с бесплатным тестированием. Есть так много поставщиков с плохим программным обеспечением, которое глючит, небезопасно или просто не работает. Для реализации Raspberry Pi мне нужен провайдер, поддерживающий OpenVPN.
Мой выбор
Для этой сборки я выбрал Tunnel Bear. Предлагается бесплатный тест объемом до 500 ГБ, чтобы я мог проверить, действительно ли я могу стримить, прежде чем что-нибудь заплачу. Они базируются в Канаде, где, рядом со Швецией, действуют одни из самых строгих законов о конфиденциальности в мире. Нет ограничения на объем данных для платных услуг, и мне также разрешено подключать несколько устройств одновременно. Таким образом, защита для моего телефона, планшета и компьютера во время путешествий по незащищенному Wi-Fi также отсортирована. Выходной узел в Швеции поддерживается, фактически он предоставляется через Bahnhof, который известен своей строгой конфиденциальностью в Швеции. Для платных планов они предлагают поддержку OpenVPN. Они не подходят для бесплатного теста, но этого было достаточно, чтобы запустить его с моего ноутбука, чтобы убедиться, что потоковые сервисы работают.
Шаг 2: Установите Raspberry Pi
Для подобных реализаций я использую операционную систему Raspbian Lite. Поскольку мне вообще не нужен графический интерфейс. Вы можете получить последнюю версию здесь.
Я использую Win32DiskImager для загрузки файла.img на SD-карту для Raspberry Pi.
После загрузки Raspberry Pi я просматриваю список DHCP маршрутизаторов, чтобы получить IP-адрес, а затем подключаюсь через SSH с помощью Putty. Стандартное имя пользователя и пароль - pi / raspberry
После подключения я запускаю инструмент raspi-config, чтобы изменить основные настройки.
sudo raspi-config
Самые важные вещи, о которых нужно позаботиться в этой конфигурации:
- Расширить файловую систему
- Измени пароль
Вы также можете изменить имя хоста своего Raspberry Pi, если хотите. У моего DHCP очень долгая аренда, и я также могу зарезервировать конкретный адрес. Если у вас нет такой возможности, вам необходимо настроить Raspberry Pi на использование статического IP-адреса. Поскольку другие устройства будут использовать его в качестве шлюза по умолчанию, важно, чтобы он продолжал использовать тот же IP-адрес. Вот сообщение, которое я написал о настройке статического IP-адреса в Raspbian Jessie.
Затем нам нужно обновить все до последней версии:
sudo apt-get updatesudo apt-get upgrade sudo apt-get dist-upgrade
Шаг 3: Установите OpenVPN
Теперь нам нужно установить OpenVPN на Raspberry Pi.
sudo apt-get install openvpn
Затем нам нужно убедиться, что служба запускается правильно.
sudo systemctl включить openvpn
Когда установка будет завершена, нам нужно скопировать файлы конфигурации и сертификаты OpenVPN в коробку. Он будет предоставлен вам вашим провайдером VPN. В моем случае, используя TunnelBear, я нашел там сообщение в блоге о поддержке Linux. На этой странице есть ссылка на zip-файл, содержащий все, что нам нужно.
Этот файл содержит файлы сертификатов и файл конфигурации.opvn для каждой страны, к которой вы можете подключиться. Вам потребуются все файлы сертификатов и файл конфигурации.opvn для выбранной вами страны, в моем случае - Швеции. Разархивируйте необходимые файлы и используйте winscp для загрузки файлов на Raspberry Pi. То же имя пользователя / пароль, что и для SSH, приведет вас в / home / pi, просто перетащите туда файлы.
Затем мы возвращаемся к терминалу SSH и перемещаем файлы в папку OpenVPN. Первая команда - просто убедиться, что мы находимся в папке / home / pi.
cd / home / pi
sudo mv * / и т. д. / openvpn /
Теперь нам нужно внести некоторые изменения в файлы. Сначала нам нужно переименовать файл конфигурации с.ovpn в.conf. Любой файл с расширением.conf в папке / etc / openvpn будет автоматически запускаться при запуске демона OpenVPN. Сначала нам нужно попасть в этот каталог.
cd / etc / openvpn
Затем мы меняем имя файла конфигурации. Вы можете называть его как хотите, если оно заканчивается на.conf. Я предпочитаю использовать имена файлов без пробелов, в данном случае я использую swe.conf.
sudo mv *.ovpn swe.conf
Затем нам понадобится файл аутентификации, содержащий имя пользователя и пароль, используемые для VPN-туннеля. Откройте текстовый редактор и напишите имя пользователя и пароль в отдельные строки. Мы назовем этот файл auth.txt.
sudo nano auth.txt
Контент должен быть похож на этот пример:
имя пользователя
пароль
Затем используйте CTRL + O для записи в файл и CTRL + X для выхода из текстового редактора nano. Нам также необходимо защитить файл auth.txt, содержащий наши учетные данные.
Судо chmod 600 /etc/openvpn/auth.txt
Затем нам нужно отредактировать файл конфигурации, чтобы убедиться, что все пути верны, и добавить ссылку на только что созданный файл auth.txt.
sudo nano swe.conf
Необходимо изменить строки, относящиеся к другим файлам, они должны быть абсолютными путями. В этом примере это то, что мы ищем:
ca CACertificate.crt
сертификат UserCertificate.crt ключ PrivateKey.key
Мы меняем их на абсолютные пути следующим образом:
ca /etc/openvpn/CACertificate.crt
cert /etc/openvpn/UserCertificate.crt ключ /etc/openvpn/PrivateKey.key
Затем в конце файла мы добавляем ссылку на файл auth.txt, например:
auth-user-pass /etc/openvpn/auth.txt
Мы снова используем CTRL + O, чтобы сохранить файл, а затем CTRL + X, чтобы выйти из nano. Теперь мы можем перезапустить демон OpenVPN и убедиться, что туннель работает.
sudo service openvpn перезапуск
Если вы запустите команду ifconfig, вы должны увидеть адаптер tun0 в дополнение к вашим адаптерам eth0 и lo, если туннель запущен. Вы также можете запустить команду this command, чтобы проверить свой общедоступный IP-адрес:
wget https://ipinfo.io/ip -qO -
Если у вас возникли проблемы с подключением туннеля, сначала попробуйте перезагрузить Raspberry Pi, а затем дважды проверьте конфигурацию на наличие ошибок.
Шаг 4: настройка маршрутизации
Теперь нам нужно включить переадресацию IP. Это позволяет сетевому трафику поступать с одного из сетевых интерфейсов и выходить из другого. По сути создание роутера.
sudo / bin / su -c "echo -e '\ n # Включить IP-маршрутизацию / nnet.ipv4.ip_forward = 1'> /etc/sysctl.conf"
Если вы запустите sudo sysctl -p, вы должны увидеть на экране следующее:
net.ipv4.ip_forward = 1
Теперь маршрутизация включена, и трафик может проходить через Raspberry Pi, через туннель и выходить в Интернет.
Шаг 5. Настройте брандмауэр и NAT
Поскольку у нас будет несколько внутренних клиентов, получающих доступ в Интернет через один общедоступный IP-адрес, нам необходимо использовать NAT. Он означает трансляцию сетевых адресов и будет отслеживать, какой клиент запрашивал какой трафик, когда информация возвращается по туннелю. Нам также необходимо настроить безопасность вокруг самого Raspberry Pi и туннеля.
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Включение NAT.
sudo iptables -A ВПЕРЕД -i eth0 -o tun0 -j ПРИНЯТЬ
Разрешение любому трафику от eth0 (внутреннего) проходить через tun0 (туннель).
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED, ESTABLISHED -j ACCEPT
Разрешение трафику из tun0 (туннель) возвращаться через eth0 (внутренний). Поскольку мы указываем состояние RELATED, ESTABLISHED, оно будет ограничено подключением, инициированным из внутренней сети. Блокировка внешнего трафика, пытающегося инициировать новое соединение.
sudo iptables -A ВВОД -i lo -j ПРИНЯТЬ
Разрешение собственного кольцевого трафика Raspberry Pi.
sudo iptables -A ВВОД -i eth0 -p icmp -j ПРИНЯТЬ
Разрешение компьютерам в локальной сети проверять связь с Raspberry Pi.
sudo iptables -A ВВОД -i eth0 -p tcp --dport 22 -j ПРИНЯТЬ
Разрешение SSH из внутренней сети.
sudo iptables -A INPUT -m state --state УСТАНОВЛЕНО, СВЯЗАННО -j ПРИНЯТЬ
Разрешение возврата всего трафика, инициированного Raspberry Pi. Это тот же государственный принципал, что и раньше.
sudo iptables -P FORWARD DROP
sudo iptables -P ПАДЕНИЕ ВВОДА sudo iptables -L
Если трафик не соответствует ни одному из указанных правил, он будет удален.
sudo apt-get install iptables-persistent
sudo systemctl включить netfilter-persistent
Первая строка устанавливает кусок кода, который делает правила iptable, которые мы только что создали, постоянными между перезагрузками. Второй сохраняет правила после того, как вы их изменили. На этот раз достаточно запустить первый. Если вы измените правила, запустите второе, чтобы сохранить. Iptable правила вступают в силу, как только вы их добавите, если вы ошиблись и потеряете доступ, просто перезагрузитесь, и те, которые еще не были сохранены, вернутся.
Шаг 6: Заключение
Теперь вы можете использовать этот туннель с любого устройства или компьютера в той же сети. Просто измените шлюз по умолчанию на любой IP-адрес, который есть у вашего Raspberry Pi. В моем случае оба моих медиацентра Kodi (одна спальня и одна гостиная) используют это соединение, поэтому я могу транслировать свои шведские каналы воспроизведения. Конечно, вы можете использовать это и для других целей.
Просто имейте в виду, что в зависимости от выбранного поставщика VPN и скорости вашего интернет-соединения производительность может быть низкой.
Если у вас есть вопросы или вы хотите, чтобы я что-то прояснил, дайте мне знать в комментариях! Для получения дополнительных технических сообщений посетите мой блог Hackviking!
Рекомендуемые:
Дизайн игры в Flick за 5 шагов: 5 шагов
Дизайн игры в Flick за 5 шагов: Flick - это действительно простой способ создания игры, особенно чего-то вроде головоломки, визуального романа или приключенческой игры
Создайте VPN на своем устройстве Raspberry Pi: 6 шагов (с изображениями)
Создайте VPN на своем устройстве Raspberry Pi: VPN или виртуальная частная сеть может помочь обычным пользователям Интернета оставаться немного более конфиденциальными при серфинге в сети. Он также может помочь профессиональным разработчикам программного обеспечения в работе над своими проектами. И подключение Raspberry Pi VPN, которое основано
Руководство по настройке VPN Premium для ВЫСОКОСКОРОСТНОЙ ЗАГРУЗКИ и Ладно стриминг от REO: 10 шагов
Руководство по установке VPN Premium для ВЫСОКОСКОРОСТНОЙ ЗАГРУЗКИ и Ладно потоковой передачи от REO: Спасибо, Asuswrt-Merlin, привет, я из Таиланда. Я собираюсь написать подробное руководство по настройке VPN для высокой скорости загрузки в среднем около 100 Мбит / с и, возможно, самой плавной потоковой передачи для Netflix, Crunchyroll, Hulu и т. Д. Из Таиланда, место назначения
Установка Raspbian на Raspberry Pi 3 B без HDMI - Начало работы с Raspberry Pi 3B - Настройка Raspberry Pi 3: 6 шагов
Установка Raspbian на Raspberry Pi 3 B без HDMI | Начало работы с Raspberry Pi 3B | Настройка Raspberry Pi 3: как некоторые из вас знают, компьютеры Raspberry Pi довольно крутые, и вы можете получить весь компьютер всего на одной крошечной плате. Raspberry Pi 3 Model B оснащен четырехъядерным 64-битным ARM Cortex A53 работает на частоте 1,2 ГГц. Это ставит Pi 3 примерно на 50
Защитите весь Wi-Fi с помощью VPN - точка доступа !: 5 шагов
Защитите весь Wi-Fi с помощью VPN - точки доступа!: По мере того, как все больше и больше нашей жизни направляется в большое облако в небе, которым является Интернет, становится все труднее оставаться в безопасности и конфиденциальности в ваших личных приключениях в Интернете. Независимо от того, получаете ли вы доступ к конфиденциальной информации, которую хотите сохранить в тайне