Как настроить Proton VPN на pfSense с помощью OpenVPN
- Чтение
- 2 мин.
- Категория
- Маршрутизаторы
В этом руководстве мы покажем вам, как настроить Proton VPN на pfSense 23.09 и pfSense 2.7.x с помощью протокола OpenVPN. Это позволит вашему маршрутизатору защитить любое подключенное к нему устройство с помощью подключения Proton VPN.
Если вы используете pfSense 2.7.x, мы рекомендуем использовать вместо этого протокол WireGuard®.
Обратите также внимание, что при использовании OpenVPN не рекомендуется устанавливать несколько подключений. Для этого случая мы также рекомендуем использовать WireGuard.
- Узнайте о сравнении OpenVPN и WireGuard
- Узнайте, как настроить Proton VPN на pfSense с помощью WireGuard
Перед началом работы вам понадобятся:
- Новая установка pfSense 23.09 или pfSense 2.7.x
- Компьютер, подключенный к вашей сети LAN, чтобы вы могли получить доступ к веб-интерфейсу pfSense
- Ваши имя пользователя и пароль OpenVPN. Они отличаются от ваших обычных имени пользователя и пароля Proton VPN. Чтобы найти их, войдите в аккаунт на account.protonvpn.com и перейдите в раздел Аккаунт → Имя пользователя OpenVPN.

1. Создайте файл конфигурации OpenVPN
Войдите в Proton VPN под своим именем пользователя и паролем Proton на account.protonvpn.com, перейдите в раздел Скачивания → Файлы конфигурации OpenVPN и скачайте файл конфигурации OpenVPN. Обязательно выберите Выберите платформу: Маршрутизатор.
Узнайте, как скачать файл конфигурации OpenVPN из Proton VPN
Для настройки pfSense вам понадобится сертификат TLS(новое окно) из этого файла конфигурации. Чтобы найти его, откройте скачанный файл конфигурации OpenVPN в текстовом редакторе и найдите текст, который начинается с —–BEGIN CERTIFICATE—- и заканчивается на –—-END CERTIFICATE—–.

Вам также понадобятся IP-адрес и номер порта VPN-сервера. Их можно найти в первой строке remote в сертификате. Первое число — это IP-адрес, а второе — номер порта. В примере ниже IP-адрес — 185.159.157.6, а номер порта — 51820

И, наконец, вам понадобится статический ключ OpenVPN Static key. Он начинается с —–BEGIN OpenVPN Static key V1—- и заканчивается на —–END OpenVPN Static key V1—–.

2. Добавление сертификата TLS в pfSense
Введите 192.168.1.1 в адресную строку браузера, чтобы открыть веб-интерфейс pfSense. Войдите в систему и перейдите в раздел System → Certificates → Add → Import certificate.

Настройте следующие параметры:
Создание / изменение CA. Перейдите в раздел Authorities → Add и измените следующие настройки:
- Descriptive name: это может быть любое имя, которое покажется вам удобным для описания TLS-сертификата Proton
- Method: Import an existing Certificate Authority
Existing Certificate Authority
- Скопируйте TLS-сертификат из файла конфигурации OpenVPN и вставьте его сюда

Нажмите Save, когда закончите.
3. Настройка клиента OpenVPN
Теперь вы добавите клиент OpenVPN для шифрования ваших данных и их туннелирования на VPN-сервер.
Перейдите в раздел VPN → OpenVPN → Clients, нажмите Add и настройте следующие параметры:
General Information:
- Description: выберите отображаемое имя для этой конфигурации
- Disabled: флажок снят
Mode Configuration
- Server Mode: Peer to Peer (SSL/TLS)
- Device mode: tun – Layer 3 Tunnel Mode
Endpoint Configuration
- Protocol: UDP on IPv4 only или TCP on IPv4 only (на ваш выбор, но этот параметр должен соответствовать скачанному вами файлу конфигурации). Узнать подробнее о сравнении UDP и TCP.
- Interface: WAN
- Local Port: –
- Server host or address: чтобы узнать этот параметр, обратитесь к Шагу 1.
- Server port: чтобы узнать этот параметр, также обратитесь к Шагу 1.
- Proxy host or address: –
- Proxy port: –
- Proxy Authentication: none

Настройки аутентификации пользователя
- Username: ваше имя пользователя OpenVPN в Proton VPN
- Password: ваш пароль OpenVPN в Proton VPN
- Authentication Retry: оставьте флажок снятым
Помните: они отличаются от ваших обычных имени пользователя и пароля Proton VPN. Чтобы включить дополнительные функции, добавьте следующие суффиксы к вашему имени пользователя OpenVPN.
- NetShield Ad-blocker: +f1
- NetShield Ad-blocker advanced (доступно только по платному тарифу; также блокирует вредоносные программы и трекеры): +f2
Например, чтобы включить NetShield Ad-blocker, введите имя_пользователя+f1.

Криптографические настройки
- Use a TLS Key: флажок установлен
- Automatically generate a TLS Key: флажок снят
- TLS Key: вставьте OpenVPN Static key из файла конфигурации OpenVPN (см. Шаг 1)
- TLS Key Usage Mode: шифрование и аутентификация TLS
- TLS keydir direction: использовать направление по умолчанию
- Peer Certificate Authority: Proton AG (или понятное имя, которое вы указали на шаге 2)
- Peer Certificate Revocation List: оставить без изменений
- Client Certificate: нет (требуется имя пользователя и/или пароль)
- Data Encryption Negotiation: отмечено
- Data Encryption Algorithms: AES-256-GCM, CHACHA20-POLY1305
- Fallback Data Encryption Algorithm: AES-256-GCM
- Auth digest algorithm: SHA256 (256-битный)
- Hardware Crypto: поддержка этой функции зависит от вашего устройства. Если она поддерживается, её необходимо сначала включить, перейдя в Система → Продвинутый → Разное. Если вы сомневаетесь, выберите No hardware crypto acceleration.
- Server Certificate Key Usage Validation: отмечено

Настройки туннеля
- IPv4 Tunnel Network: –
- IPv6 Tunnel Network:-
- IPv4 Remote network(s): –
- IPv6 Remote network(s): –
- Limit outgoing bandwidth: – (если вы не предпочитаете иное)
- Allow Compression: запретить любое сжатие, кроме заглушек (наиболее безопасно)
- Topology: подсеть — один IP-адрес на каждого клиента в общей подсети
- Type of service: оставить неотмеченным
- Don’t pull routes: отметьте
- Don’t add/remove routes: оставить неотмеченным
- Pull DNS: отметьте

Настройки пинга
- Оставьте все значения по умолчанию.

Дополнительные параметры
- Custom Options: добавьте следующее:
tun-mtu 1500;
mssfix 0;
reneg-sec 0;
remote-cert-tls server;
Примечание: эти настройки конфигурации заменяют настройки, показанные на снимке экрана ниже.
Чтобы повысить надёжность подключения, откройте скачанный файл конфигурации OpenVPN в текстовом редакторе и найдите строки, начинающиеся со слова remote. Начиная со второй строки remote, скопируйте каждую строку, начинающуюся с remote, в поле Custom Options в pfSense, добавив после каждой точку с запятой.

- UDP Fast I/O: отмечено
- Exit Notify: отключено
- Send/Receive Buffer: по умолчанию
- Gateway creation: только IPv4
- Verbosity level: 3 (рекомендуется)

Нажмите Сохранить и перейдите в Status → OpenVPN. Вы увидите новый VPN-клиент, а в его поле Status будет указано up.

4. Настройка интерфейса OpenVPN
Теперь VPN-клиент запущен, но трафик через него не направляется. Чтобы направлять весь ваш сетевой трафик через защищённый тоннель Proton VPN, вам потребуется настроить интерфейсы и правила брандмауэра.
Перейдите в раздел Interfaces → Interface Assignments → Available network ports, выберите добавленный вами VPN-клиент из раскрывающегося списка и нажмите Add.
В результате будет создан интерфейс с именем OPTx (где x зависит от количества физических интерфейсов у вашего маршрутизатора). Нажмите на созданный интерфейс, чтобы настроить его.

Перейдите на вкладку Interfaces, нажмите на OPTx и введите следующие настройки конфигурации·
Общая конфигурация:
- Enable: установлено
- Description: выберите понятное имя для интерфейса
Зарезервированные сети:
- Block bogon networks: отметьте
Оставьте остальные поля без изменений.
Нажмите Сохранить и Применить изменения.

5. Настройте правила брандмауэра
Мы используем правила брандмауэра для маршрутизации всего трафика через интерфейс Proton VPN, который мы только что настроили. Перейдите в Firewall → NAT → Outbound и выберите Manual Outbound NAT rule generation. Затем нажмите Сохранить и Применить изменения.

В разделе Mappings вы увидите список из шести правил. В столбце Source для 4 из этих правил указаны адреса 127.0.0.0/8 и ::1/128. Пропустите их и нажмите Edit (значок карандаша в столбце Actions), чтобы изменить два других правила.

Для обоих правил измените Interface на интерфейс Proton VPN, созданный вами на шаге 4. Нажмите Сохранить и Применить изменения.

Примечание: при этом также автоматически создается шлюз с тем же именем, что и интерфейс.

Теперь настройки в разделе Mappings должны выглядеть следующим образом:

Перейдите в раздел Firewall → Rules → LAN. Нажмите на значок ✓ рядом с правилом Default allow LAN IPv6 to any rule, чтобы его отключить.

Перейдите к правилу Default allow LAN to any rule → Edit (значок карандаша).

Нажмите Display advanced → Gateway и выберите шлюз, созданный на шаге 5. Нажмите Save и Apply Changes.

Теперь перейдите в раздел Status → OpenVPN и нажмите на значок Service → Restart, чтобы перезапустить клиент OpenVPN с новыми настройками.

Настройка параметров DNS
Теперь весь интернет-трафик, проходящий через брандмауэр pfSense, будет направляться через сервер Proton VPN. Однако это не касается DNS-запросов. Чтобы исправить это, нам необходимо изменить настройки DNS в pfSense.
Перейдите в System → General Setup → DNS Servers и введите следующие настройки:
- DNS-серверы → Адрес: 10.2.0.1
- DNS servers → Gateway: выберите интерфейс VPN, созданный на шаге 4
- DNS Server Override: установите флажок
- DNS Resolution Behavior: использовать удаленные DNS-серверы, игнорировать локальный DNS

Теперь перейдите в раздел Services → DNS Resolver → Outgoing Network Interfaces и введите следующие настройки:
- Outgoing Network Interfaces: выберите VPN-интерфейс, созданный на шаге 4
- DNS Query Forwarding: установите флажок
Если вы включили нашу функцию блокировки рекламы NetShield Ad-Blocker, добавив суффиксы +f1 или +f2 к вашему имени пользователя OpenVPN (см. шаг 3), вы должны отключить поддержку DNSSEC.

Нажмите Save и Apply changes.
Настройка завершена. Теперь весь трафик из вашей сети должен безопасно направляться через выбранный вами сервер Proton VPN. Вы можете проверить это, запустив наш бесплатный безопасный сканер IP-адресов с любого устройства в вашей сети.
Дополнительные настройки
Вы можете исключить некоторые компьютеры в вашей сети из использования VPN-интерфейса. Например, если вы хотите, чтобы игровая консоль подключалась к интернету напрямую, а не через VPN. Для этого:
1. Перейдите в раздел Firewall → Rules → LAN → Add.

2. Настройте параметры следующим образом:
- Action: Pass
- Disabled: флажок снят
- Interface: LAN
- Address Family: IPv4
- Protocol: Any
- Source: выберите Single Host or Alias и добавьте IP-адрес устройства, которое вы хотите исключить
- Destination: Any
- Log: без изменений
- Description: добавьте описание

3. Нажмите на Display Advanced и измените значение параметра Gateway на WAN.

4. Нажмите Save и Apply Changes.

5. Перейдите в раздел Firewall → NAT → Outbound и переключите Mode на Automatic, затем нажмите Save и Apply Change. После этого переключите Mode обратно на Manual, затем нажмите Save и Apply Change.

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

Теперь устройство исключено из VPN-интерфейса и будет выходить в интернет по IP-адресу, предоставленному вашим интернет-провайдером. Тем не менее, оно по-прежнему будет использовать DNS-сервер Proton VPN.