ладно, с курением доков все понятно 
До чего я на данный момент дошел. Я разрешил форвард всех пакетов пришедших от ip моей локальной машины
$IPTABLES -A FORWARD -s 192.168.48.220 -j ACCEPT
После этого стал в пассиве работать полностью, т.е. коннектится, качает файллисты и пр.
Но в активе почемуто работать всеравно отказывается. Можете пояснить, в чем разница работы клиета в пассиве и в активе?
[snapback]4279[/snapback]
Для актива необходимо чтобы клиент p2p фактически являлся сервером который ожидает соединения на каком-то там порту. И соответственно firewall должен пропускать входящие соединения по инициативе внешнего хоста.
Ситуация такая же как и с установкой любого другого сервиса ftp/http/smtp и т.д.

Другое дело, что протокол p2p видимо очень кучерявый :ujasnah: и надо читать доки по тому как он устроен. Возможно есть модули типа p2p_contrack (по аналогии с ftp_contrack) которые занимаются трассировкой соединения.
Мне приходилось решать обратную задачу -- зарубить все p2p полностью. Такой модуль есть. Работает очень эфективно

Т.е. понятно, что из пассива ты с актива ничего не выкачаешь, но мне интересно в чем различаются принципы соединения.
[snapback]4279[/snapback]
Вот этой фразы не понял. Актив может качать от любых клиентов. Пассив только с актива. И прежде чем заниматься настройкой firewallа нужно по основам tcp/ip почитать чего-нибудь.
Кстати p2p работает и при полностью зарубленном UDP.
Для ручной трассировки соединений я еще раз советую запуск tcpdump ну или iptraf на шлюзе. Сразу становиться видно что происходит
--при соединении с сервером
--при скачивании файла в passive или active режиме
У меня при построении правил не раз возникали проблемы с тем какие же правила написать чтобы пропустить определенный протокол, при этом ничего лишнего не открыв -- доки по протоколам и tcpdump всегда помогали
