rTorrent + iptables

Knoppix

Модераторы: Warderer, Модераторы разделов

Ответить
Jarvis
Сообщения: 7

rTorrent + iptables

Сообщение Jarvis »

Приветствую.
Второй раз обращаюсь к этому форуму за решением проблемы. на этот раз немного посложнее, я думаю.
Проблема заключается в следующем:
Не получается прописать в iptables правила для rTorrent.
Интерфейсы: tun0 eth0
Данные iptables
Spoiler

Код: Выделить всё

#!/bin/sh
iptables -F
iptables -X
iptables -Z

### policy
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT

### allow loopback access
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#test
#iptables -A INPUT -i tun0 -j ACCEPT
#iptables -A OUTPUT -o tun0 -j ACCEPT

### connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

### ping
iptables -A INPUT -m icmp -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT

### whois
iptables -A OUTPUT -m tcp -p tcp --dport 43 -j ACCEPT

### dns
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -m tcp -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -m udp -p udp --dport 53 -j ACCEPT

### traceroute
iptables -A OUTPUT -m udp -p udp --dport 33434:33534 -j ACCEPT

### allow VPN access
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
iptables -A OUTPUT -o eth0 -m udp -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i tun0 -p udp --dport 1194 -j ACCEPT
iptables -A OUTPUT -o tun0 -m udp -p udp --dport 1194 -j ACCEPT

### http/https
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -m tcp -p tcp --dport 443 -j ACCEPT

### rTorrent
iptables -A INPUT -p tcp --dport 48135:48136 -j ACCEPT
iptables -A INPUT -p udp --dport 48135:48136 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 48135:48136 -j ACCEPT
iptables -A OUTPUT -p udp --dport 48135:48136 -j ACCEPT

iptables-save > /root/firewall.rules

rTorrent

Код: Выделить всё

port_range = 48135-48136
port_random = no
dht = disable


Пробовал прописать вот это:
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
В этом случае закачка идёт нормально.
Но вот без этих правил торрент-клиент видит сидов/личей, но не качает. И на сидируемых торрентах пишет Tracker: [Timeout was reached]
Если ещё нужны какие-то данные, с радостью предоставлю.
Подскажите, какие правила нужно прописать, чтобы этот rTorrent наконец-то уже заработал.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: rTorrent + iptables

Сообщение Bizdelnick »

Jarvis писал(а):
16.10.2014 10:49
iptables -A OUTPUT -p tcp --dport 48135:48136 -j ACCEPT
iptables -A OUTPUT -p udp --dport 48135:48136 -j ACCEPT
Надо --sport.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Jarvis
Сообщения: 7

Re: rTorrent + iptables

Сообщение Jarvis »

Ничего не изменилось. :(
Спасибо сказали:
Jarvis
Сообщения: 7

Re: rTorrent + iptables

Сообщение Jarvis »

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Вот после этого тоже закачка пошла, но не очень понимаю, что означает это правило и решает ли оно проблему.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: rTorrent + iptables

Сообщение Bizdelnick »

Собственно, про ESTABLISHED,RELATED у Вас правило и раньше было, добавилось только NEW. Значит, rtorrent для исходящих соединений использует не указанные в конфигурации порты, а какие придётся. Собственно, если это домашняя машина, я бы не мудрил с правилами для OUTPUT, а установил политику ACCEPT.
Да, кстати, сейчас модуль state устарел, вместо него надо переходить на conntrack.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Jarvis
Сообщения: 7

Re: rTorrent + iptables

Сообщение Jarvis »

Bizdelnick писал(а):
16.10.2014 12:24
Да, кстати, сейчас модуль state устарел, вместо него надо переходить на conntrack.

Ок. Это я заменил.
Хм...вот по этой ссылке была похожая проблема.
Решено: rtorrent iptables
В одном из сообщений описывается "вариант с -m owner и запуском rtorrent от имени выделенного пользователя."
В моём случае это будет выглядеть вот так, правильно?
iptables -A OUTPUT -o tun0 -m owner --uid-owner user -p tcp --source-port 48135:48136 -j ACCEPT
iptables -A OUTPUT -o tun0 -m owner --uid-owner user -p udp --source-port 48135:48136 -j ACCEPT
user'a нужно нового создавать или подойдёт тот, от которого в данный момент запущен rtorrent?
и iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT по-прежнему нужно?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: rTorrent + iptables

Сообщение Bizdelnick »

Jarvis писал(а):
16.10.2014 13:06
user'a нужно нового создавать или подойдёт тот, от которого в данный момент запущен rtorrent?

Всё зависит от того, чего Вы хотите добиться. Если максимальной огороженности - то нужно создать отдельного пользователя, от которого будет работать только rtorrent, и больше ничего. Если запретить всё всем - не самоцель, я бы, как уже писал выше, вообще выставил политику для OUTPUT в ACCEPT и не заморачивался.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Jarvis
Сообщения: 7

Re: rTorrent + iptables

Сообщение Jarvis »

Bizdelnick
Понятно. Спасибо за ваши ответы. :)
Спасибо сказали:
Ответить