LINUX.ORG.RU

Какие порты нужно открыть в iptables, чтобы на локальных ПК работал Bittorrent?

 , ,


0

1

Здравствуйте, господа. Есть в планах закрыть все порты, оставив открытыми только необходимые. Однако, мне неизвестны порты, которые используются Bittorrent, и если я прописываю, например, эти правила:

iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 br0 -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p tcp -m multiport --dports 53,80,139,443,445,5190 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth0 br0 -p udp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p udp -m multiport --dports 53,123,137,138 -m conntrack --ctstate NEW -j ACCEPT

, то на ПК в локалке торренты не скачиваются. А с правилами ниже всё качается нормально (добавил лишь диапазон открываемых портов 0:65535):

iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 br0 -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p tcp -m multiport --dports 53,80,139,443,445,5190,0:65535 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth0 br0 -p udp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p udp -m multiport --dports 53,123,137,138,0:65535 -m conntrack --ctstate NEW -j ACCEPT

Подскажите, пожалуйста, какой диапазон портов следует указать в iptables, чтобы на локальных ПК работал Bittorrent? Не хочется оставлять открытыми все порты.

С уважением.


чтобы на локальнЫх ПК работал Bittorrent

у каждой запущенной копии свои порты, которые пробиты в конфиге битторрент клиента

и вообще плохая идея держать несколько торрентов на одной линии связи

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)

если это домашний роутер, то там обычно upnp есть. если это рабочий роутер - то какого ж хрена на работе торренты качать? О_о

а так - в конфиге можно забить порт какой хочешь, открой и пользуйся

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

В настройках qBittorrent на локальном ПК указан порт для входящих подключений - 17119. Его же указал в правилах:

iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 br0 -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p tcp -m multiport --dports 53,80,139,443,445,5190,17119 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth0 br0 -p udp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p udp -m multiport --dports 53,123,137,138,17119 -m conntrack --ctstate NEW -j ACCEPT

При этом скорость скачивания в qBittorrent постоянно на 0.

Sferg
() автор топика
Ответ на: комментарий от upcFrost

Пардон, ступил. Конечно же для исходящих. В iptables параметр -o говорит же об исходящих.

Нет, у меня не роутер. У меня ПК с Debian, выполняющий роль роутера.

Sferg
() автор топика

Подскажите, пожалуйста, какой диапазон портов следует указать в iptables, чтобы на локальных ПК работал Bittorrent

Те, которые укажешь в настройках торренто-качающего клиента. У меня для входящих соединений два udp 21220 и 21221. Для исходящих соединений любые. Если хочешь сделать анализ того, что происходит, то создай в iptables цепочки с разными правилами и смотри счётчики по "-c", когда начинает работать твоё приложение. По ходу дела, политику по умолчанию меняешь периодически на accept/drop и видишь перестаёт ли работать твоё приложение. Для больших подробностей можно и LOG задействовать.

justAmoment ★★★★★
()
Ответ на: комментарий от justAmoment

Как уже писал выше, я пробовал прописывать в iptables (в фрагмент правила ниже) порт, который задаётся в торренто-качающем клиенте как порт для входящих подключений (28790):

iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 br0 -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p tcp -m multiport --dports 53,80,139,443,445,5190,28790 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth0 br0 -p udp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p udp -m multiport --dports 53,123,137,138,28790 -m conntrack --ctstate NEW -j ACCEPT

На торренто-качающем клиенте при этом скорость скачивания на 0 (т.е. ничего не качается). Если же указать диапазон, например 1024:65535, то скорость появляется и скачивание идёт:

iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 br0 -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p tcp -m multiport --dports 53,80,139,443,445,5190,1024:65535 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth0 br0 -p udp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p udp -m multiport --dports 53,123,137,138,1024:65535 -m conntrack --ctstate NEW -j ACCEPT

В этом фрагменте правила, для локальных ПК, на роутере прописан запрет для исходящего трафика по всем портам, кроме указаных как разрешенные. Я и хочу установить эти самые разрешённые порты. Чтоб с локальных ПК никакие левые программы наружу не лезли, кроме самбы, браузера, ICQ и торрентов.

Sferg
() автор топика
Последнее исправление: Sferg (всего исправлений: 1)
Ответ на: комментарий от Sferg

в торрент-клиентах указывается порт для входящих соединений. Исходящий может быть любой, по идее.

targitaj ★★★★★
()
Ответ на: комментарий от Sferg

ты вообще не понимаешь как работает Сеть. Иди теорию изучай.

Чтоб с локальных ПК никакие левые программы наружу не лезли, кроме самбы, браузера, ICQ и торрентов.

это ппц...

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от targitaj

это ппц...

А ты в курсе, что в моём случае речь идёт про цепочку FORWARD с указанным исходящим интерфейсом (-o), а не про цепочки INPUT или OUTPUT? Если локальный ПК не сможет послать запрос через закрытый наружу порт, то, соответственно, он и не получит снаружи ответа.

Sferg
() автор топика
Ответ на: комментарий от Sferg

Те порты, которые --dports - это ДЕСТИНЕЙШЕН порты.

Чтоб с локальных ПК никакие левые программы наружу не лезли, кроме самбы, браузера, ICQ и торрентов.

вот эта цитата - бессмысленный набор слов. Если у тебя разрешены 80 и 443 dports на любой удалённый хост, то любое локальное приложение может сходить на любой удалённый хост на эти dports.

Кроме того, FORWARD работает в ОБЕ стороны одинаково.

Попробуй пролистать это

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

Те порты, которые --dports - это ДЕСТИНЕЙШЕН порты.

Я осведомлён о том, что есть «ДЕСТИНЕЙШЕН порты».

Если у тебя разрешены 80 и 443 dports на любой удалённый хост, то любое локальное приложение может сходить на любой удалённый хост на эти dports.

Не «если», а разрешены. Для этого я в dports и перечислил порты, по которым разрешается ходить всем устройствам в локальной сети. Если я исключу из списка порты 80 и 443, то веб-браузеры на этих устройствах просто перестанут открывать сайты.

Sferg
() автор топика
Последнее исправление: Sferg (всего исправлений: 2)
Ответ на: комментарий от Sferg

осталось понять, что ходить на 80/443 порт может ЛЮБОЕ приложение. В торговых системах, например, массово используется 443 порт для подключения.

Чтоб с локальных ПК никакие левые программы наружу не лезли

на твоём гейте обеспечить такое нереально

targitaj ★★★★★
()
Ответ на: комментарий от Sferg

teredo/isatap/6to4 в венде в своей локалке выключил?

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

Ну, я только что прописал в dports всего один порт под номером 1. После этого ни с одного из устройств в локальной сети я не могу открыть ни один сайт. Пинги до сайтов просто не доходят.

iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 br0 -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p tcp -m multiport --dports 1 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth0 br0 -p udp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 br0 -p udp -m multiport --dports 1 -m conntrack --ctstate NEW -j ACCEPT

При этом с самого гейта всё прекрасно пингуется

Sferg
() автор топика
Ответ на: комментарий от Sferg

Пинги до сайтов просто не доходят.

пинги вообще по отдельному протоколу работают. Тебе надо читать по матчасти.

targitaj ★★★★★
()

Я отчётливо телепатирую про твою ситуацию. И могу дать сразу ответ «Нет, твоими силами нельзя». На твой недовысказанный вопрос «Можно ли такое сделать в принципе?».

Вообще-то, ты не с того конца к проблеме подходишь. Когда ты смотришь со стороны роутера на соединении от клиента, как ты собираешь отличать что поехало по порту 25325: торрент, айсикью или новейшая версия вируса «Васёк»? Да, есть некоторое негласное соглашение о том, какое приложение клиента на каком порту работает. И оно нужно лишь для того, чтобы обеспечить правильную настройку оборудования сети для беспрепятственного прохождения пакетов от источника до адресата. Ну, и в некоторых случаях приоритезацию трафика. А вовсе не для того, чтобы кому-то что-то запрещать. Ну, давай запрети что-нибудь клентским скайпу или тору на роутере. Вместе посмеёмся. Частично можно через DPI, анализом layer 7.

Если ты являешься администратором клиента торрента, то ты можешь приказать этому клиенту выходить наружу по определённому порту. Для мюторрента: третья ссылка в гугле «ограничение исходящего порта торрент».

https://rutracker.org/forum/viewtopic.php?t=3302823

net.outgoing_port
Заставляет µT использовать только этот порт для исходящих соединений (обычно этот порт выбирается случайно для каждого соединения). Только для Windows 2000 и выше. Иногда настройка может не работать корректно. Эта настройка должна использоваться только в исключительных случаях. Может быть использована для уменьшения количества NAT трансляций и таким образом предотвращения зависания некоторых моделей маршрутизаторов. Может быть использована для решения NAT проблемы входящих соединений в некоторых видах NAT.
Следовать или нет твоим приказам это уже дело софта.

Ту работу по анализу поведения и запрещаторству, которую ты хочешь переложить на роутер, должна выполнять программа агент на клиентском компе. Например, какой-нибудь касперский, ну, или ты сам напишешь этого агента. А уже этот агент может стучать в центр с результатами / рулить поведением роутера / получать новые приказы из центра.

justAmoment ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.