James Brown wrote: > Konstantin Fadeyev wrote: >> 24 августа 2010 г. 11:26 пользователь Konstantin Matyukhin >> <[email protected]> написал: >>> 2010/8/24 Konstantin Fadeyev <[email protected]>: >>>> Тогда уж сразу открывать с 1 порта, начиная. >>> Зачем? Чтобы какая-нибудь зараза смогла притвориться почтовым >>> сервером и рассылать спам? >>> >>> -- >>> С уважением, >>> Константин Матюхин >>> >> Для торрентов достаточно открыть диапазон 6881-6889, тем более что как >> правило, он уже есть в пресетах роутера. А я вообще открываю только >> 6881. И настраиваем программы на него. >> > > У меня в выводе netstat (см. тред выше) transmission работает через > какие-то 5-ти > значные порты. > Или, определяя случайные порты, он будет ломиться сам, через те, которые > открыты? Соединения устанавливаются в две стороны: 1) входящие соединения от других клиентов к transmission: они устанавливаются *с* случайного порта на *заданные* порт transmission
В типичной/нормальной установке файрвола фильтруются только соединения извне на локальные сервисы, поэтому для торрента их нужно специально разрешить: # (упрощённо) # разрешаем прохождение пакетов относящихся к уже установленным соединениям # (под это правило попадает большинство пакетов, оно должно идти первым) iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # разрешаем всё на loopback iptables -A INPUT -i lo -j ACCEPT # режем левизну iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state NEW -p tcp '!' --syn -j DROP # параноим #iptables -A INPUT -s 169.254.0.0/16 -j DROP # (аналогично с другими *не используемыми* приватными сетями) # (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) # разрешаем входящие соединения для торрента (порт поменяй на свой!) iptables -A INPUT -p udp -m udp --dport 6688 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 6688 -j ACCEPT # убиваем *все остальные* попытки соединения: #iptables -A INPUT -j LOG iptables -A INPUT -j REJECT 2) исходящие от transmission к другим клиентам, трекерам,...: они идут со случайного порта (из диапазона sysctl net/ipv4/ip_local_port_range) на разные порты извне (на которых трекеры, другие клиенты,... выбрали слушать) Обычно исходящие соединения *не* фильтруются. Если очень хочется попараноить, можно так: # Разрешаем прохождение пакетов относящихся к уже установленным соединениям # (под это правило попадает большинство пакетов, оно должно идти первым) iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Не разрешаем соединятся группе NONET iptables -N NONET iptables -F NONET iptables -A NONET -p tcp -j REJECT --reject-with icmp-port-unreachable iptables -A NONET -p udp -j REJECT --reject-with icmp-port-unreachable iptables -A NONET -j DROP iptables -A OUTPUT -m owner --gid-owner NONET -j NONET # Тут можно добавить всяких правил для паранойи, # к примеру превентивно[*] порезать гарантированно # неиспользуемые *у вас* приватные сети: #iptables -A OUTPUT -d 169.254.0.0/16 -j REJECT # (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) # ... но если нихера не понимаете - *не лезте*! # [*] они всё равно с высокой вероятностью порежутся внутри провайдера # Pазрешаем всё остальное. Бездумно менять тут ACCEPT на REJECT НЕЛЬЗЯ! # Чтобы хоть что-то работало, тут нужно ещё *ОЧЕНЬ МНОГО* разрешить! iptables -A OUTPUT -j ACCEPT -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

