URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89427
[ Назад ]

Исходное сообщение
"Парадокс IPFW pipe"

Отправлено Folder , 22-Июл-10 13:12 
Доброго времени суток уважаемые знатоки, внимание вопрос!

Долгое время на своем шлюзе в Интернет (FreeBSD 7.2) использовал механизм pipe для ограничения скорости по двум направлениям. Теперь же необходимость шейпить одного из направлений отпало, так как строить pipe 100 Мбит/сек как-то не к селу не к городу. Образовалась проблема, на фоне которой правело, allow не работает при включенной опции net.inet.ip.forwarding=1 зато пакеты проходят через pipe при отключении net.inet.ip.forwarding=0 начинает работать allow не работает pipe.

Содержимое sysctl.conf
kern.polling.enable=0
kern.ipc.somaxconn=8192
kern.ipc.maxsockbuf=8388608

net.inet.tcp.rfc1323=1
net.inet.tcp.rfc3042=1
net.inet.tcp.rfc3390=1

net.inet.ip.forwarding=1
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0

net.inet.ip.dummynet.hash_size=4096
net.inet.ip.dummynet.io_fast=1

kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.tcp.delayed_ack=0
net.inet.tcp.sendspace=65535
net.inet.tcp.recvspace=65535
net.inet.udp.recvspace=65535
net.inet.udp.maxdgram=57344
net.local.stream.recvspace=32768
net.local.stream.sendspace=65535
net.inet.icmp.drop_redirect=1
net.inet.ip.redirect=0
net.inet.icmp.log_redirect=1
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0
net.inet.icmp.icmplim=100
net.inet.icmp.icmplim_output=0
net.inet.tcp.always_keepalive=0
net.inet.ip.intr_queue_maxlen=1000

net.inet.tcp.msl=7500
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1

net.inet.tcp.inflight.enable=1
net.inet.ip.fastforwarding=1
net.inet.ip.fw.dyn_buckets=1024
net.inet.ip.fw.dyn_max=4096

kern.random.sys.harvest.ethernet=0
kern.random.sys.harvest.interrupt=0

Подскажите, пожалуйста, как можно побороть это проблема??


Содержание

Сообщения в этом обсуждении
"Парадокс IPFW pipe"
Отправлено Folder , 22-Июл-10 13:18 
Такого накрутил в основном сообщении, что аж сам не понял о чем писал.
В двух словах:
net.inet.ip.forwarding=1 работает pipe, но не работает allow
net.inet.ip.forwarding=0 работает allow, но не работает pipe

Нужно что бы работали allow и pipe одновременно


"Парадокс IPFW pipe"
Отправлено Michael , 22-Июл-10 13:37 
>Такого накрутил в основном сообщении, что аж сам не понял о чем
>писал.
>В двух словах:
>net.inet.ip.forwarding=1 работает pipe, но не работает allow
>net.inet.ip.forwarding=0 работает allow, но не работает pipe
>
>Нужно что бы работали allow и pipe одновременно

one_pass?


"Парадокс IPFW pipe"
Отправлено YuryD , 22-Июл-10 13:40 
>net.inet.ip.forwarding=1 работает pipe, но не работает allow
>net.inet.ip.forwarding=0 работает allow, но не работает pipe
>
>Нужно что бы работали allow и pipe одновременно

Не понял почему не работает. У меня работает сначала pipe и затем allow в таком порядке правил...и дело тут видимо не в net.inet.ip.forwarding, а в net.inet.ip.fw.one_pass


"Парадокс IPFW pipe"
Отправлено Folder , 22-Июл-10 14:45 
>>net.inet.ip.forwarding=1 работает pipe, но не работает allow
>>net.inet.ip.forwarding=0 работает allow, но не работает pipe
>>
>>Нужно что бы работали allow и pipe одновременно
>
> Не понял почему не работает. У меня работает сначала pipe и
>затем allow в таком порядке правил...и дело тут видимо не в
>net.inet.ip.forwarding, а в net.inet.ip.fw.one_pass

net.inet.ip.fw.one_pass уменя установлен в "1"


"Парадокс IPFW pipe"
Отправлено YuryD , 22-Июл-10 15:17 
net.inet.ip.forwarding=1

Это переменная, разрешающая перекладывать пакеты между интерфейсами (gateway_enable="yes")
Соответственно у вас что-то накручено в ipfw, не позволяющее межинтерфейсную маршрутизацию


"Парадокс IPFW pipe"
Отправлено Folder , 22-Июл-10 15:34 
>net.inet.ip.forwarding=1
>
> Это переменная, разрешающая перекладывать пакеты между интерфейсами (gateway_enable="yes")
> Соответственно у вас что-то накручено в ipfw, не позволяющее межинтерфейсную маршрутизацию
>

Не чего не накручено, така я же схема работает
skipto 5010 ip from table(127) to table(32)
pipe tablearg ip from table(127) to any

А такая нет
allow ip from table(127) to table(32)


"Парадокс IPFW pipe"
Отправлено universite , 27-Июл-10 22:58 

>Не чего не накручено, така я же схема работает
>skipto 5010 ip from table(127) to table(32)
>pipe tablearg ip from table(127) to any
>
>А такая нет
>allow ip from table(127) to table(32)

явно указывать интерфейсы пробовали?
пересечения IP в таблицах нет?
как ругается система на такое правило?


"Парадокс IPFW pipe"
Отправлено Folder , 27-Июл-10 23:22 
>[оверквотинг удален]
>>Не чего не накручено, така я же схема работает
>>skipto 5010 ip from table(127) to table(32)
>>pipe tablearg ip from table(127) to any
>>
>>А такая нет
>>allow ip from table(127) to table(32)
>
>явно указывать интерфейсы пробовали?
>пересечения IP в таблицах нет?
>как ругается система на такое правило?

Указание интерфейсов не чего не дает, появилась новая информация: allow не работает для NAT адресов, реальные IP проходят нормально


"Парадокс IPFW pipe"
Отправлено Allexx , 28-Июл-10 10:48 
>[оверквотинг удален]
>>>
>>>А такая нет
>>>allow ip from table(127) to table(32)
>>
>>явно указывать интерфейсы пробовали?
>>пересечения IP в таблицах нет?
>>как ругается система на такое правило?
>
>Указание интерфейсов не чего не дает, появилась новая информация: allow не работает
>для NAT адресов, реальные IP проходят нормально

Попробуйте
sysctl net.inet.ip.fw.one_pass=0


"Парадокс IPFW pipe"
Отправлено Folder , 28-Июл-10 13:02 
>[оверквотинг удален]
>>>
>>>явно указывать интерфейсы пробовали?
>>>пересечения IP в таблицах нет?
>>>как ругается система на такое правило?
>>
>>Указание интерфейсов не чего не дает, появилась новая информация: allow не работает
>>для NAT адресов, реальные IP проходят нормально
>
>Попробуйте
>sysctl net.inet.ip.fw.one_pass=0

Уже пробовал, как и ожидалось просмотр павел заканчиваться на skipto 5010 ip from table(127) to table(32) в результате не чего не работает, потому что до правила 5010 дело не доходит