pf & torrent, nerik, 06-Мрт-09, 08:25 [смотреть все]Приветствую всех.Помоги разобраться с такой проблемкой. Есть шлюз, в нём работает pf. Натит серую сеть 10.8.0.0 в пул выделенных адресов. nat pass on $ext_if inet from 10.8.0.0/14 to any -> 217.1.1.0/22 source-hash Все натится прекрасно, но вот торрент у клиентов не работает. Тобишь когда клиент открывает у себя порт в торренте к примеру 58981 или дает возможность программе самой открывать его, то к нему не могут подключиться другие юзеры интернета. К примеру по state выводится такая связка all tcp 10.8.7.80:58981 -> 217.1.1.105:57971 -> 93.190.177.116:12517 ESTABLISHED:ESTABLISHED Что ещё нужно прописать в pf чтобы натилось в другую сторону для торрент-клиента? Спасибо. P.S. Надеюсь что ясно изложил проблему))
|
- pf & torrent, Mr_Dee, 18:56 , 11-Мрт-09 (1)
- pf & torrent, nerik, 08:07 , 18-Мрт-09 (2)
>[оверквотинг удален] >может работать только с теми у кого стоит прямой ip а >со всеми теми кто сидит под натом не может работать , >для этих целей если хочешь пойти навстречу людям сделай правила форварда >что всё например с порта 20101 идёт на хост 10.8.0.10 на >порт 20101 , с порта 20102 всё идёт на хост 10.8.0.15 >на порт 20102 (грубо говоря люди должны настроить свои клиенты так >что бы входящий порт для торента был у каждого уникальный и >четко прописанный) . >не уверен , но вроде так (правила fwd для ipnat найти не >сложно) Помогите пожалуйста разобраться хотя бы для одного порта. к примеру нат у меня настроен так nat pass on $ext_if inet from 10.15.0.0/16 to any -> 217.X.X.X/16 source-hash К примеру я хотел бы форвардить до клиентов порты с 38820 по 38825 Какое лучше правило мне создать дополнительно (чего то с rdr не получается сделать)?? rdr pass on $ext_if proto {tcp, udp} from 217.X.X.X/16 port 38820:38825 to 10.15.0.0/16 port 38820:38825 Так нужно??
- pf & torrent, urusha, 17:12 , 18-Мрт-09 (3)
- pf & torrent, nerik, 16:16 , 19-Мрт-09 (4)
>[оверквотинг удален] >выдаешь каждому внутреннему адресу по порту, если внутренний адрес динамически можно по >доменному имени отслеживать (somehost.local) port 38825 > >а лучше наверно для каждого внутреннего адреа с торентом выделить внешний и >для каждого писать правило типа > >rdr pass on $ext_if proto {tcp, udp} to 217.?.0.5 port 38825 -> 10.15.0.5 port 38825 > >но тогда для торрента и натить надо этот внутренний адрес на определенный >внешний Хм, но ведь пакеты каждого внутреннего адреса транслируются на внешние адреса из пула по вышеприведенному правилу через опцию source-hash. Как тогда правило rdr узнает соответствие между внутренним и внешним адресами??
- pf & torrent, urusha, 17:20 , 19-Мрт-09 (5)
- pf & torrent, urusha, 17:24 , 19-Мрт-09 (6)
- pf & torrent, krosavcheg, 19:27 , 20-Мрт-09 (7)
- pf & torrent, urusha, 20:41 , 22-Мрт-09 (8)
- pf & torrent, nerik, 08:40 , 23-Мрт-09 (9)
>>Хорошо, а откуда ты знаешь что внутреннему адресу 10.15.0.5 будет соответствовать всегда >>внешний адрес 217.15.0.5 при опции source-hash?? > >man pf. В правилах ната срабатывает первое подошедшее правило. То есть траф >для торрента вообще не будет знать о source-hashed, он пойдет по >вышеизложенным правилам. Кстати можно для торент-юзеров применить перед source-hashed bitmask, с >ним сопоставление адресов становится предсказуемым... Извиняюсь ступил))) Спасибо. Но я заметил, когда выдается айпи по source-hashed, то трекер берет этот айпи выделенный и уже после к нему подключается.
|