QBittorrent с ProtonVPN и переадресацией портов

Здравствуйте,
Я только что купил ProtonVPN, потому что хочу использовать VPN, который поддерживает переадресацию портов.

Однако я заметил, что каждый раз, когда я повторно подключаюсь к одному и тому же серверу, назначается новый порт. Так что, нужно ли мне обновлять порт в qBittorrent каждый раз, когда я включаю компьютер, так как ProtonVPN назначает новый порт каждый раз?

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

Или я что-то упускаю?

Буду признателен за помощь.

Существует решение этой проблемы, посмотрите на Quantum

И нет, если вы используете ProtonVPN с qBittorrent, то вам не нужно настраивать переадресацию портов на вашем роутере, UPnP должен быть выключен в qBittorrent.

Да, порт меняется каждый раз, когда вы подключаетесь к VPN, поэтому вам нужно вносить это изменение в qBittorrent. На Linux, и, вероятно, на OSX, не слишком сложно сделать автоматическое решение, которое считывает переадресованный порт и устанавливает порт ожидания в qBittorrent. Я не знаю, как это работает на Windows.

Я уверен, что вам не нужно трогать ваш роутер, но я бы протестировал это для уверенности. Например, используя https://canyouseeme.org

Этот образ docker поддерживает изменение порта (известного как NAT-PMP). По сути, он меняет порт в клиенте при каждом запуске: GitHub - binhex/arch-qbittorrentvpn: Docker build script for Arch Linux base with qBittorrent, Privoxy and OpenVPN

Попробуйте использовать quantum для автоматической настройки порта в Windows

если вы используете Linux, у меня есть решение. Я получил помощь, которая превратила скрипт в системную службу, которая навсегда перенаправляет на один и тот же порт.

Я это проверю. Лично мне не сложно обновлять его, так как я не часто на нем.

Можете предоставить больше информации о том, почему UPnP должен быть выключен? Есть ли проблемы, если он включен?

Мне нужно проверить, так как я не знаю, выключен он или включен. Это не шаг, который был покрыт друзьями, если угодно.

Огромное спасибо! Проблема решена!

Большое спасибо за это!

Отлично! Значит, все работает как должно, проверял порт, находясь за VPN, и он появился как открытый!

Спасибо за советы

Как я могу увидеть перенаправленный порт? Я использую Linux и OpenVPN, и не знаю, как это найти.

Я спрашиваю, потому что qBittorrent с ProtonVPN на Manjaro Linux вообще не работает. Я пытался подключиться к серверу, который отмечен символом P2P. Я настроил qBittorrent на подключение исключительно к VPN-туннелю. У меня просто появляется предупреждение о том, что нет входящих соединений.

Не могли бы вы поделиться им?

Версия 1.5 Quantum довольно стабильна, я еще не нашел в ней ошибок.

Что касается UPnP, то вам следует выключить его в qBittorrent, если вы используете VPN, я не думаю, что это вызовет проблему, если вы оставите его включенным, но VPN не поддерживают UPnP, вот почему я предлагаю его отключить.

И не забудьте привязать ваш VPN к qBittorrent, быстрая поисковая операция в Google покажет вам, как это сделать.

Не забудьте привязать ваш VPN к qBittorrent.

Вам нужно следовать этому руководству, особенно разделу о ручной переадресации портов в Linux:

https://protonvpn.com/support/port-forwarding-manual-setup/

Я вставил свой личный скрипт ниже как вдохновение, но вам нужно изменить его под свои нужды. Я только перенаправляю TCP порт и сохраняю номер порта в файле /home/p2p/.forwarded_port. Вам, вероятно, следует это изменить. Строки iptables предназначены для открытия порта в моем файрволе и требуют, чтобы интерфейс VPN назывался proton. Они не обязательны, если вы не запускаете файрвол.

#!/bin/bash
while true
do 
  tcp_port=$(natpmpc -a 1 0 tcp 60 -g 10.2.0.1 | grep "Mapped public" | awk '{print $4}')
  echo "${tcp_port}" > /home/p2p/.forwarded_port

  if ! iptables --check INPUT -i proton -p tcp --dport "${tcp_port}" -j ACCEPT
  then
    iptables -A INPUT -i proton -p tcp --dport "${tcp_port}" -j ACCEPT
  fi

  sleep 45
done

Затем вы можете написать простой скрипт, который запускает qbittorrent с номером порта, при условии, что он может устанавливать номер порта с аргументом командной строки, который я думаю, он может

Это будет что-то вроде

#!/bin/bash
TCP_PORT=$(cat /home/p2p/.forwarded_port)
qbittorrent --torrenting-port=$TCP_PORT

Это должно сработать, если такая опция командной строки существует, но я не использую qbittorrent.

В идеале, вы хотите, чтобы переадресация порта запускалась автоматически, когда вы запускаете VPN. У меня есть код для этого, но он написан для системы, работающей на OpenRC.

/lib/systemd/system/((ИМЯ СЛУЖБЫ))).service файл:

[Unit]

Description=(((вставьте что угодно сюда)))
After=network.target

[Service]
Type=simple
Restart=always
RestartSec=1
User=(((ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ)))
ExecStart=/usr/local/bin/(((ИМЯ СКРИПТА))).sh

[Install]
WantedBy=multi-user.target

Это сам скрипт:

/usr/local/bin/(((ИМЯ СКРИПТА))).sh

!/bin/bash
set -x
while true
do
date
natpmpc -a $$$$$ $$$$$ udp 60 -g #.#.#.#
natpmpc -a $$$$$ $$$$$ tcp 60 -g #.#.#.#
sleep 45
done

Для вышеуказанного, #.#.#.# это шлюз, используемый natpmpc, который, как я узнал, не меняется.
Просто введите в консоли: natpmpc

Вторая строка будет:
используя шлюз: #.#.#.#
Просто вставьте то, что говорит, что это шлюз, в скрипт выше в обоих местах.

Для четырех $$$$$, это порт, который вы хотите привязать. Если вы используете торрент-клиент и хотите слушать на порту 12345, просто вставьте 12345 во все 4 места. Да, он одинаковый для всех 4. Например, в моем примере первая строка будет:
natpmpc -a 12345 12345 udp 60 -g 10.1.0.0

Когда оба файла будут на месте, выполните следующее:

sudo systemctl daemon-reload
sudo systemctl enable (((ИМЯ СЛУЖБЫ))).service
sudo systemctl start (((ИМЯ СЛУЖБЫ))).service

Затем просто подтвердите, что он работает нормально с: sudo systemctl status (((ИМЯ СЛУЖБЫ))).service

Есть ли версия для Mac или аналог, о котором вы знаете?
пытаюсь использовать в gluetun

дружище, этот пост золото, и я буду использовать ваши скрипты в качестве вдохновения.

вопрос к тебе - как часто вы замечаете, что номер порта меняется? Я предполагаю, что в основном каждый раз, когда подключение разрывается/восстанавливается? Я сейчас с AirVPN, и у него статическая конфигурация порта, так что мне никогда не приходилось об этом беспокоиться, но с proton мне нужно будет автоматизировать обновление порта как в iptables, так и в qbittorrent.

Я несколько месяцев пропустил, но я должен спросить. Как вы решили проблему с “openresolv”? Согласно руководству Proton VPN, мы должны выполнить: “sudo apt install openresolv’”, проблема в том, что этот пакет больше не существует.