Вопрос или проблема
У меня установлен Transmission на VPS с Ubuntu 20.XX, и я могу войти в веб-интерфейс с помощью MYIP:9091/ для управления файлами.
Я использую брандмауэр ufw. Я добавил следующие правила для открытия этих портов:
- 22/tcp (OpenSSH) ALLOW IN Anywhere
- 20/tcp ALLOW IN Anywhere
- 21/tcp ALLOW IN Anywhere
- 40000:50000/tcp ALLOW IN Anywhere
- 990/tcp ALLOW IN Anywhere
- 6688/tcp ALLOW IN Anywhere
- 28967/tcp ALLOW IN Anywhere
- 9091 ALLOW IN Anywhere
- 5432 on eth1 ALLOW IN Anywhere
- 9091/tcp ALLOW IN Anywhere
- 22/tcp ALLOW IN Anywhere
- 2222 ALLOW IN Anywhere
- 80/tcp ALLOW IN Anywhere
- 80 ALLOW IN Anywhere
- 443/tcp ALLOW IN Anywhere
- 443 ALLOW IN Anywhere
- 6000:6003/tcp ALLOW IN Anywhere
- 6000:6003/udp ALLOW IN Anywhere
- 49152:65535/udp ALLOW IN Anywhere
- 49152:65535/tcp ALLOW IN Anywhere
- 9091/udp ALLOW IN Anywhere
- 22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
- 20/tcp (v6) ALLOW IN Anywhere (v6)
- 21/tcp (v6) ALLOW IN Anywhere (v6)
- 40000:50000/tcp (v6) ALLOW IN Anywhere (v6)
- 990/tcp (v6) ALLOW IN Anywhere (v6)
- 6688/tcp (v6) ALLOW IN Anywhere (v6)
- 28967/tcp (v6) ALLOW IN Anywhere (v6)
- 9091 (v6) ALLOW IN Anywhere (v6)
- 5432 (v6) on eth1 ALLOW IN Anywhere (v6)
- 9091/tcp (v6) ALLOW IN Anywhere (v6)
- 22/tcp (v6) ALLOW IN Anywhere (v6)
- 2222 (v6) ALLOW IN Anywhere (v6)
- 80/tcp (v6) ALLOW IN Anywhere (v6)
- 80 (v6) ALLOW IN Anywhere (v6)
- 443/tcp (v6) ALLOW IN Anywhere (v6)
- 443 (v6) ALLOW IN Anywhere (v6)
- 6000:6003/tcp (v6) ALLOW IN Anywhere (v6)
- 6000:6003/udp (v6) ALLOW IN Anywhere (v6)
- 49152:65535/udp (v6) ALLOW IN Anywhere (v6)
- 49152:65535/tcp (v6) ALLOW IN Anywhere (v6)
- 9091/udp (v6) ALLOW IN Anywhere (v6)
Когда я ввожу sudo ufw enable
, веб-интерфейс Transmission перестает быть доступным. Но когда я ввожу sudo ufw disable
, он снова работает, так что это проблема с ufw.
Есть идеи, какие порты я упустил или что неправильно настроено?
Похоже, вы разрешили все, возможно, стоит проверить, не настроено ли для Transmission AppArmor и разрешен ли порт 9091?
Если у вас есть HTTP-демон (Apache/Nginx), вы можете его настроить и проксировать порт Transmission, это должно сработать, так как HTTP-демон использует AppArmor.
Когда вы включаете брандмауэр, доступен ли порт 22? Возможно, стоит очистить конфигурацию UFW и добавить только 80/443, а затем 9091, это может подсказать, где проблема.
Я выяснил, в чем была проблема: я не добавил прослушивающий порт Transmission, теперь все работает нормально.
Ответ или решение
UFW (Uncomplicated Firewall) — это интерфейс управления брандмауэром на основе iptables, предназначенный для обеспечения безопасности серверов Ubuntu, в том числе версии 20.XX, максимально простым способом. Ваш вопрос касается настройки брандмауэра UFW для работы с Transmission-daemon на вашем VPS, с которым вы сталкиваетесь проблемами при доступе к веб-интерфейсу Transmission через порт 9091.
Теория
UFW позволяет управлять правилами доступа как входящих, так и исходящих соединений. Transmission — это популярный BitTorrent-клиент, работающий как демон, который обычно использует веб-интерфейс управления. Для работы этого веб-интерфейса необходимо открыть соответствующие порты как для управления, так и для передачи данных.
Пример
Перед нами конфигурация брандмауэра, которая выглядит очень открытой, поскольку включает в себя большое количество разрешенных портов. Вы уже открыли порт 9091, который также имеет TCP и UDP правила, но проблема сохраняется, когда UFW включен. Из вашего описания следует, что проблема была в отсутствии открытия «порта прослушивания Transmission», который может быть отличным от упомянутых стандартных.
Применение
Для обеспечения правильной работы Transmission-daemon с UFW необходимо сделать ряд шагов, чтобы идентифицировать и устранить проблему.
-
Проверка конфигурации Transmission:
- Откройте файл конфигурации Transmission. Обычно это:
/etc/transmission-daemon/settings.json
. - Найдите параметр
"rpc-port"
, чтобы убедиться, что он установлен на 9091. - Найдите параметр
"peer-port"
, чтобы узнать порт, на котором Transmission слушает входящие соединения торрент-клиентов.
- Откройте файл конфигурации Transmission. Обычно это:
-
Обновление правил UFW:
- Для начала убедитесь, что порт, использующийся для торрентов (обычно
"peer-port": 51413
по умолчанию), также разрешен:sudo ufw allow 51413/tcp sudo ufw allow 51413/udp
- Если "peer-port" изменён, используйте актуальное значение.
- Для начала убедитесь, что порт, использующийся для торрентов (обычно
-
Очистка и настройка правил:
- Рекомендуется очистить текущие правила и начать с важных:
sudo ufw reset sudo ufw allow 22/tcp # SSH для управления сервером sudo ufw allow 9091/tcp # Веб-интерфейс Transmission sudo ufw allow 80/tcp # HTTP (если нужен) sudo ufw allow 443/tcp # HTTPS (если нужен)
- Теперь добавьте необходимые правила для торрент-трафика:
sudo ufw allow 51413/tcp sudo ufw allow 51413/udp
- Рекомендуется очистить текущие правила и начать с важных:
-
Проверка и активация UFW:
- Проверьте примененные правила командой:
sudo ufw status
- Активируйте брандмауэр:
sudo ufw enable
- Проверьте примененные правила командой:
-
Диагностика:
- Убедитесь, что проблемы исчезли. Если веб-интерфейс все еще недоступен, убедитесь, что другие службы, например, AppArmor, не блокируют Transmission.
- Зайдите через
sudo
в консоль и проверьте логи с помощью:sudo journalctl -xe
Заключение
Корректная работа Transmission через UFW требует как правильной настройки самих правил брандмауэра, так и учёта особенностей конфигурации Transmission. Правильная диагностика и поочерёдное разрешение портов, задействованных в работе Transmission, поможет устранить проблемы с доступом и трафиком. Учитывая все варианты конфигурации, вы сможете более надежно защитить ваш сервер без потери функциональности Transmission.