Настройка VPN клиента на Raspberry Pi (OpenVPN и WireGuard)
Это руководство охватывает настройку VPN клиентов на Raspberry Pi для создания безопасного удаленного доступа из любой точки мира. Вы узнаете, как настроить OpenVPN и WireGuard, включая автоматическое переподключение и маршрутизацию сети.
Требования
- Raspberry Pi с установленной Raspbian/Raspberry Pi OS
- SSH или прямой доступ к Pi
- Файл конфигурации VPN сервера (.ovpn для OpenVPN или .conf для WireGuard)
- Базовые знания командной строки
Вариант 1: Настройка клиента OpenVPN
Установка
Установите клиент OpenVPN:
1 | sudo apt-get update |
Конфигурация
Создайте директорию для конфигурации клиента и добавьте ваш файл конфигурации VPN:
1 | # Создайте директорию, если её не существует |
Вставьте конфигурацию от вашего VPN провайдера в этот файл. Типичная конфигурация включает адрес сервера, порт, сертификаты и данные для аутентификации.
Запуск и включение сервиса
Запустите клиент OpenVPN и включите его автозапуск при загрузке:
1 | # Запустите сервис |
Примечание: Имя сервиса openvpn-client@client.service соответствует файлу конфигурации /etc/openvpn/client/client.ovpn. Если ваш файл конфигурации имеет другое имя (например, myvpn.ovpn), используйте openvpn-client@myvpn.service.
Проверка подключения
Проверьте ваш публичный IP, чтобы убедиться, что VPN работает:
1 | curl ifconfig.me |
IP адрес должен соответствовать местоположению вашего VPN сервера, а не вашему реальному местоположению.
Автоматическое переподключение
Чтобы VPN автоматически переподключался при обрыве соединения, добавьте эти параметры в файл конфигурации:
1 | sudo nano /etc/openvpn/client/client.ovpn |
Добавьте в конец файла:
1 | # Keepalive: ping каждые 10 секунд, перезапуск при отсутствии ответа 60 секунд |
Перезапустите сервис для применения изменений:
1 | sudo systemctl restart openvpn-client@client.service |
Вариант 2: Настройка клиента WireGuard
WireGuard — это современный, легковесный VPN протокол с лучшей производительностью и более простой конфигурацией, чем OpenVPN.
Установка
Установите WireGuard:
1 | sudo apt update |
Конфигурация
Создайте и настройте интерфейс WireGuard:
1 | # Создайте файл конфигурации |
Добавьте вашу конфигурацию WireGuard (предоставленную VPN сервером):
1 | [Interface] |
Установите правильные права доступа:
1 | sudo chmod 600 /etc/wireguard/wg0.conf |
Запуск и включение сервиса
Запустите WireGuard и включите его автозапуск при загрузке:
1 | # Запустите VPN |
Включение IP форвардинга (для маршрутизации трафика)
Если вы хотите, чтобы ваш Raspberry Pi маршрутизировал трафик через VPN:
1 | # Включите IP форвардинг |
Настройка iptables для NAT
Настройте трансляцию сетевых адресов (NAT) для маршрутизации трафика через VPN:
1 | # Разрешите форвардинг с ethernet на VPN |
Сделайте правила iptables постоянными после перезагрузки:
1 | sudo apt install iptables-persistent -y |
Во время установки выберите “Да” для сохранения текущих правил IPv4 и IPv6.
Чтобы сохранить правила позже:
1 | sudo netfilter-persistent save |
Настройка сети
Настройка статического IP адреса
Для надежной маршрутизации VPN установите статический IP адрес для вашего Raspberry Pi:
1 | sudo nano /etc/dhcpcd.conf |
Добавьте в конец файла (настройте значения для вашей сети):
1 | # Конфигурация статического IP |
Замените на значения вашей сети:
192.168.1.100- Желаемый статический IP для вашего Pi192.168.1.1- IP вашего роутера (шлюз)8.8.8.8- Вторичный DNS сервер (Google DNS)
Перезапустите сеть:
1 | sudo systemctl restart dhcpcd |
Устранение неполадок
Проверка статуса VPN
Для OpenVPN:
1 | sudo systemctl status openvpn-client@client.service |
Для WireGuard:
1 | sudo wg show |
Тестирование подключения
1 | # Проверьте, существует ли интерфейс VPN |
Частые проблемы
OpenVPN не запускается:
- Проверьте синтаксис файла конфигурации:
sudo openvpn --config /etc/openvpn/client/client.ovpn - Убедитесь, что сертификаты и ключи корректны
- Проверьте настройки файрвола
Соединение WireGuard обрывается:
- Добавьте
PersistentKeepalive = 25в секцию [Peer] - Проверьте, доступна ли конечная точка сервера
- Убедитесь, что файрвол разрешает UDP трафик на порту WireGuard
Нет интернета после подключения:
- Проверьте настройки DNS в конфигурации VPN
- Убедитесь, что
AllowedIPs = 0.0.0.0/0для полного туннеля - Тест с помощью:
nslookup google.com