Всем доброго времени суток!
И так имеем:
====== IPFW Rulles =======
00100 7604 509736 allow ip from 192.168.2.1 to me dst-port 22
00200 8079 5227032 allow ip from me to 192.168.2.1 src-port 22
65200 0 0 pipe 65200 ip from any to 192.168.2.254
65300 0 0 pipe 65300 ip from 192.168.2.254 to any
65535 1502 190313 deny ip from any to any
====== IPFW Pipes ======
65200: 64.000 Kbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail
65300: 64.000 Kbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail1. в результате скорость на 192.168.2.254 ~100кбайт/сек (сама порезка заметна, но непонятна)
2. и ещё, если добавить в 65200 в конец сторки out, а в 65300 in пакеты на 192.168.2.254
перестают бегать вообще.Хотелось бы получить ответы на 2 этих вопроса.
Заранее извеняюсь если подобная тема уже была, хотелось бы её увидеть если есть такова ...
>Хотелось бы получить ответы на 2 этих вопроса.Если Вы думаете, что сформулировали хотя бы один вопрос, то... думайте дальше.
>>Хотелось бы получить ответы на 2 этих вопроса.
>
>Если Вы думаете, что сформулировали хотя бы один вопрос, то... думайте дальше.
>Извените, а что не понятно в вопросах ? По-моему ясно, почему скорость режится неправильно, список правил я привел ...
При таком раскладе пакет попадает в пайп 2 раза, т.к. ipfw пропускает пакет через правила и на входе и на выходе. Пайп надо ставить конкретно на in или на out, на противополжной стороне должно быть allow.
Вот пример:add 65200 pipe 65200 ip from any to 192.168.2.254 in
add 65300 pipe 65300 ip from 192.168.2.254 to any out
add 65310 allow ip from any to 192.168.2.254 out
add 65320 allow from 192.168.2.254 to any in
>При таком раскладе пакет попадает в пайп 2 раза, т.к. ipfw пропускает
>пакет через правила и на входе и на выходе. Пайп надо
>ставить конкретно на in или на out, на противополжной стороне должно
>быть allow.
>Вот пример:
>
>add 65200 pipe 65200 ip from any to 192.168.2.254 in
>add 65300 pipe 65300 ip from 192.168.2.254 to any out
>add 65310 allow ip from any to 192.168.2.254 out
>add 65320 allow from 192.168.2.254 to any inНу вот почему-то когда добавляю IN & OUT пропадает связь вообще.
то есть вот так не работает вообще
====== IPFW Rulles =======
00100 9023 601144 allow ip from 192.168.2.1 to me dst-port 22
00200 9579 6163451 allow ip from me to 192.168.2.1 src-port 22
64200 0 0 allow ip from any to 192.168.2.254 out
64300 0 0 allow ip from 192.168.2.254 to any in
65535 1905 240033 deny ip from any to any
====== IPFW Pipes ======
>
>Ну вот почему-то когда добавляю IN & OUT пропадает связь вообще.Это все правила, которые есть в системе??
>>
>>Ну вот почему-то когда добавляю IN & OUT пропадает связь вообще.
>
>Это все правила, которые есть в системе??да, это то что выдает ipfw show & ipfw pipe show
>>>
>>>Ну вот почему-то когда добавляю IN & OUT пропадает связь вообще.
>>
>>Это все правила, которые есть в системе??
>
>да, это то что выдает ipfw show & ipfw pipe showadd 65200 pipe 65200 ip from any to 192.168.2.254 in
add 65210 allow ip from any to 192.168.2.254 out
add 65300 pipe 65300 ip from 192.168.2.254 to any in
add 65310 allow from 192.168.2.254 to any outЭто ДОЛЖНО работать, проблема скорее всего не в правилах..
Еще помоему пакеты не проходят пока не был выполнен pipe config первый раз.
у вас ошибку надо поискать в коде ДНК ..
00100 7604 509736 allow ip from 192.168.2.1 to me dst-port 22
00200 8079 5227032 allow ip from me to 192.168.2.1 src-port 22
65200 0 0 pipe 65200 ip from any to 192.168.2.254
65300 0 0 pipe 65300 ip from 192.168.2.254 to anyнеужели не заметно что пакеты ВООБЩЕ НЕ ПОПАЛИ В ПРАВИЛО???
сдается мне фаревол таки не полный показывается
>[оверквотинг удален]
>00100 7604 509736 allow ip from 192.168.2.1 to me dst-port 22
>
>00200 8079 5227032 allow ip from me to 192.168.2.1 src-port 22
>65200 0 0
>pipe 65200 ip from any to 192.168.2.254
>65300 0 0
>pipe 65300 ip from 192.168.2.254 to any
>
>неужели не заметно что пакеты ВООБЩЕ НЕ ПОПАЛИ В ПРАВИЛО???
>сдается мне фаревол таки не полный показываетсяда все там попадает в правило, даже по 2 раза ...
просто скопировал ничего не делая ещё ...
на самом деле в логах имеем вид по этмоу правилу:Jan 15 17:35:04 mysrv kernel: ipfw: 65200 Pipe 65300 ICMP:8.0 192.168.2.254 192.168.2.1 in via le0
Jan 15 17:35:04 mysrv kernel: ipfw: 65200 Pipe 65300 ICMP:8.0 192.168.2.254 192.168.2.1 out via le0
Jan 15 17:35:04 mysrv kernel: ipfw: 65300 Pipe 65200 ICMP:5.1 192.168.2.3 192.168.2.254 out via le0
Jan 15 17:35:04 mysrv kernel: ipfw: 65300 Pipe 65200 ICMP:0.0 192.168.2.1 192.168.2.254 in via le0
Jan 15 17:35:04 mysrv kernel: ipfw: 65300 Pipe 65200 ICMP:0.0 192.168.2.1 192.168.2.254 out via le0
>[оверквотинг удален]
>>да, это то что выдает ipfw show & ipfw pipe show
>
>add 65200 pipe 65200 ip from any to 192.168.2.254 in
>add 65210 allow ip from any to 192.168.2.254 out
>add 65300 pipe 65300 ip from 192.168.2.254 to any in
>add 65310 allow from 192.168.2.254 to any out
>
>Это ДОЛЖНО работать, проблема скорее всего не в правилах..
>Еще помоему пакеты не проходят пока не был выполнен pipe config первый
>раз.работает с IN & OUT, но все равно режит неправильно.
и почему оба IN идут по пайпу а оба OUT по аллоу ?
>
>работает с IN & OUT, но все равно режит неправильно.Какие отклонения от заданной скорости?
DEVICE_POLLING ?
HZ=?
ipfw pipe show ?
sysctl net.inet.ip.fw.one_pass ?
>>
>>работает с IN & OUT, но все равно режит неправильно.
>
>Какие отклонения от заданной скорости?
>DEVICE_POLLING ?
>HZ=?
>ipfw pipe show ?
>sysctl net.inet.ip.fw.one_pass ?1.
mysrv# ipfw show
00100 6532 352984 allow ip from 192.168.2.1 to me dst-port 22
00200 9816 5037483 allow ip from me to 192.168.2.1 src-port 22
65200 1932 264476 allow ip from 192.168.2.254 to any out
65300 0 0 allow ip from any to 192.168.2.254 out
65400 1937 264949 pipe 65200 ip from 192.168.2.254 to any in
65500 0 0 pipe 65300 ip from any to 192.168.2.254 in
65535 267 23677 deny ip from any to any
mysrv# ipfw pipe show
65200: 64.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail
65300: 64.000 Kbit/s 0 ms 50 sl. 0 queues (1 buckets) droptailстредняя скорость закачки: 64Кбайта(скорость прыгает) - это не точно, ну точного числа нету ... чтобы было в 2 раза больше положенной или меньше, все время прыгает - но не фулл, то есть порезка присутсвует точно.
2. Нет.
3. Нет.
4.
mysrv# sysctl net.inet.ip.fw.one_pass
net.inet.ip.fw.one_pass: 1
>[оверквотинг удален]
>стредняя скорость закачки: 64Кбайта(скорость прыгает) - это не точно, ну точного числа
>нету ... чтобы было в 2 раза больше положенной или меньше,
>все время прыгает - но не фулл, то есть порезка присутсвует
>точно.
>
>2. Нет.
>3. Нет.
>4.
>mysrv# sysctl net.inet.ip.fw.one_pass
>net.inet.ip.fw.one_pass: 11. Что за канал? Ширина? Физическая среда? Возможно скорость прыгает на внешнем канале или есть потеря пакетов.
2. Обязательно пересобери ядро с DEVICE_POLLING и включи его на сетевой карте.
3. Попробуй поставить HZ>1000 kern.hz="2000" в /boot/loader.conf
4. Попробуй уменьшить размер queue на пайпе. Для такой скорости 10 или меньше..
>[оверквотинг удален]
>>mysrv# sysctl net.inet.ip.fw.one_pass
>>net.inet.ip.fw.one_pass: 1
>
>1. Что за канал? Ширина? Физическая среда? Возможно скорость прыгает на внешнем
>канале или есть потеря пакетов.
>2. Обязательно пересобери ядро с DEVICE_POLLING и включи его на сетевой карте.
>
>3. Попробуй поставить HZ>1000 kern.hz="2000" в /boot/loader.conf
>4. Попробуй уменьшить размер queue на пайпе. Для такой скорости 10 или
>меньше..1. 10мбит, адсл2+, на внешнем канале скорость не прыгает (по крайней мере в таким приделах точно), без фаервола поднимается до ~1мбайта/сек, с ним же прыгает от 15кбайт/сек до 120кбайт/сек (при 64000)
2. Собираю, глянем какой даст результат ...И ещё, судя по ipfw show почему-то работает только одно правило, например:
ipfw add 64200 allow log all from 192.168.2.254 to any
то есть для входа и выхода, или:
ipfw add 65200 pipe 65200 log all from 192.168.2.254 to anyпо второму пакеты не ходят вообще:
ipfw add 64300 allow log all from any to 192.168.2.254
ipfw add 65300 pipe 65300 log all from any to 192.168.2.254
Jan 16 21:36:14 mysrv kernel: ipfw: 65200 Pipe 65200 ICMP:8.0 192.168.2.254 213.130.26.7 in via le0
Jan 16 21:36:14 mysrv kernel: ipfw: 65200 Pipe 65200 ICMP:8.0 192.168.2.254 213.130.26.7 out via le0
>2. Обязательно пересобери ядро с DEVICE_POLLING и включи его на сетевой карте.вы хоть в курсе что не все драйвера поддерживают пулинг? )