Код: Выделить всё
pass in quick on $int_if inet proto { tcp udp } from 192.168.0.138 port 34052 to any
Код: Выделить всё
pass in quick on $int_if inet proto { tcp udp } from 192.168.0.138 port 34052 to any
Код: Выделить всё
pass in quick on $ext_if inet proto { tcp udp } from any to 192.168.0.138 port 34052
Код: Выделить всё
http://inferno.demonoid.me:3412/announce
нее... Это выглядит неудобноgumeniuc писал(а):это уж точно лишнее:
Да и вообще, так делать в корне неправильно.Код: Выделить всё
pass in quick on $ext_if inet proto { tcp udp } from any to 192.168.0.138 port 34052
Пример:
Есть некий торрент. Список адресов трекеров для него:Т.е. по этому адресу он обратится для получения списка пиров. А порт 34052 - для входящих соединений. Каким образом начнётся загрузка если нет списка пиров ? Поэтому когда открываете полный доступ - всё прекрасно начинает работать.Код: Выделить всё
http://inferno.demonoid.me:3412/announce
Код: Выделить всё
rdr pass on $ext_if proto { tcp udp } from any to $gate_ext port 34052 -> 192.168.0.138 port 34052
Код: Выделить всё
#user_ports = "{ ...34052...}"
pass in on $int_if inet proto tcp from $lan_net to any port $user_ports flags S/SA keep state
Код: Выделить всё
pass in quick on $ext_if inet proto { tcp udp } from any to 192.168.0.138 port 34052
неа, не помогло...pimlab писал(а):a tak ?!Код: Выделить всё
pass in quick on $int_if inet proto { tcp udp } from 192.168.0.138 port 34052 to any
Код: Выделить всё
pass out on $ext_if from $ext_if to any keep state
pass out on $int_if from $int_if to any keep state
Код: Выделить всё
pass out on $ext_if from any to any keep state
pass out on $int_if from any to any keep state
Код: Выделить всё
rdr pass on $ext_if proto { tcp udp } from any to $gate_ext port 34052 -> 192.168.0.138 port 34052
...
pass in on $int_if inet proto tcp from $lan_net to any port $user_ports flags S/SA keep state
...
pass in quick on $ext_if inet proto { tcp udp } from any to 192.168.0.138 port 34052
Код: Выделить всё
rdr pass on $ext_if proto { tcp udp } from any to $gate_ext port 34052 -> 192.168.0.138 port 34052
...
pass in on $int_if inet proto tcp from $lan_net to any port $user_ports flags S/SA keep state
...
pass in quick on $ext_if inet proto { tcp udp } from any to 192.168.0.138 port 34052
Да, работает. И так и так работает.pimlab писал(а):utorrent - насколько я помню качает и без открытого внешнего порта... соответственно он никаких портов не ищет - работает с тем что прописано , активно юзая UDP.в первом вы уже разрешили , последнее в таком случае не надоКод: Выделить всё
rdr pass on $ext_if proto { tcp udp } from any to $gate_ext port 34052 -> 192.168.0.138 port 34052 ... pass in on $int_if inet proto tcp from $lan_net to any port $user_ports flags S/SA keep state ... pass in quick on $ext_if inet proto { tcp udp } from any to 192.168.0.138 port 34052
Нет, не моментально - 10-15 минут и начинает качать. Даже очень популярное.pimlab писал(а):utorrent тест порта проходит ?
пиры - так ведь смотря что и где качать, попробуйте что то очень популярное.
у меня качает моментально , но у меня transmission прямо на сервере...
правила окончательные покажите, чего накрутили ....
Код: Выделить всё
#NAT'им всех на внешний интерфейс
nat on $ext_if from $lan_net -> ($ext_if)
#пробрасываем www
rdr on $ext_if proto tcp from any to $gate_ext port 80 -> 192.168.0.138 port 80
#пробрасываем sftp
rdr on $ext_if proto tcp from any to $gate_ext port 8022 -> $sftp port 8022
#пробрасываем smtp
rdr on $ext_if proto tcp from any to $gate_ext port 25 -> $mail port 25
#пробрасываем pop3
rdr on $ext_if proto tcp from any to $gate_ext port 110 -> $mail port 110
#Торренты
rdr pass on $ext_if proto { tcp udp } from any to $gate_ext port 34052 -> 192.168.0.138 port 34052
#----------------------------------------------------------------------------------------------
# 7. PACKET FILTERING
#----------------------------------------------------------------------------------------------
###### ------------ COMMON --------------- ########
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
rdr pass on $ext_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021
# блокируем всё, если только нет явного разрешения для обратного
block log all
# Блокируем тех, кто лезет на внешний интерфейс с частными адресами
block drop in quick on $ext_if from $private_nets to any
block drop out quick on $ext_if from any to $private_nets
#Спуфинг
antispoof quick for { lo0 $int_if $ext_if }
#Не проверяем пакеты с этого хоста (127.0.0.1)
pass quick from $int_lan
pass quick on lo0 all
#разрешаем Ping на внешнем и внутреннем интерфейсе
pass in on $ext_if inet proto icmp all icmp-type echoreq
pass in on $int_if inet proto icmp all icmp-type echoreq
#Разрешаем все исходящие на внешнем и внутреннем интерфейсе gate
pass out on $ext_if from any to any keep state
pass out on $int_if from any to any keep state
##### ------------ OUTGOING TO INET --------------- ######
#разрешаем доступ из офисной сети во внешний мир портам, перечисленным в переменных user_ports
#user_ports = "{ 80, 443, 25, 110, 8080, 20, 21 }"
pass in on $int_if inet proto tcp from $lan_net to any port $user_ports flags S/SA keep state
anchor "ftp-proxy/*"
#Блокируем все серваки и WiFi, чтобы потом разрешить отдельные порты для каждого ограничения
block in on $int_if from $dc_core to any
block in on $int_if from $dc_uran to any
block in on $int_if from $mail to any
block in on $int_if from $WiFi1 to any
block in on $int_if from $WiFi2 to any
#ДНС разрешен всем без исключения
pass quick on $ext_if inet proto tcp from any to $gate_ext port 53 keep state
pass quick on $ext_if inet proto udp from any to $gate_ext port 53 keep state
pass quick on $int_if inet proto tcp from any to $gate port 53 keep state
pass quick on $int_if inet proto udp from any to $gate port 53 keep state
# Разрешаем с WiFi выходить только по определенным портам:
pass in on $int_if inet proto tcp from $WiFi1 to any port $wifi_ports flags S/SA keep state
pass in on $int_if inet proto tcp from $WiFi2 to any port $wifi_ports flags S/SA keep state
#Выпускаем почтовик - smtp
pass in on $int_if proto tcp from $mail to any port 25 flags S/SA keep state
# Выпускаем сервер времени на почтовике - ntp
pass in on $int_if proto tcp from $ntp to any port 123 flags S/SA keep state
# Выпускаем сервер времени на обоих КД
pass in on $int_if proto tcp from $dc_one to any port 123 flags S/SA keep state
pass in on $int_if proto tcp from $dc_two to any port 123 flags S/SA keep state
##### ------------ INCOMING FROM INET --------------- ######
#входящий ssh на gate на внешнем и внутреннем интерфейсе
pass in log on $int_if inet proto tcp from any to $gate port 2222 flags S/SA keep state
pass in log on $ext_if inet proto tcp from any to $ext_if port 2222 flags S/SA keep state
#входящий smtp на внутренний почтовик
pass in on $ext_if inet proto tcp from any to $mail port 25 flags S/SA keep state
#входящий www на веб-сервер
pass in on $ext_if inet proto tcp from any to 192.168.0.138 port 80 flags S/SA keep state
#входящий sftp на внутренний sftp-сервер
pass in on $ext_if inet proto tcp from any to $sftp port 4022 flags S/SA keep state
#входящий pop3 на внутренний почтовик для возможности подключаться к pop3-серверу извне
pass in on $ext_if inet proto tcp from any to $mail port 110 flags S/SA keep state
#Торренты для юзера
pass in quick on $ext_if inet proto { tcp udp } from any to 192.168.0.138 port 34052
Код: Выделить всё
pass in quick on $int_if inet proto { tcp udp } from 192.168.0.138 port 34052 to any