kirush Опубликовано 6 сентября, 2016 (изменено) · Жалоба Коллеги, подскажите пожалуйста, бьюсь второй день...вроде простецкая штука, но не пойму где ошибка. net.inet.ip.fw.one_pass: 1 Есть правила: 01200 86451 71347065 pipe tablearg ip from any to table(60) out 01200 99906 83939062 pipe tablearg ip from table(61) to any in 01201 86448 71340868 allow ip from any to table(60) 01201 99889 83947427 allow ip from table(60) to any pipы все настроены идиентично: ${fwcmd} pipe 5 config bw 35Mbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 6 config bw 35Mbit/s mask src-ip 0xffffffff в таблице 60 IP адрес указан так: 10.1.19.160/32 5 в таблице 61: 10.1.19.160/32 6 # ipfw pipe 5 list 00005: 35.000 Mbit/s 0 ms burst 0 q131077 50 sl. 0 flows (1 buckets) sched 65541 weight 0 lmax 0 pri 0 droptail sched 65541 type FIFO flags 0x1 64 buckets 5 active mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 162 ip 0.0.0.0/0 10.1.19.160/0 1 109 0 0 0 # ipfw pipe 6 list 00006: 35.000 Mbit/s 0 ms burst 0 q131078 50 sl. 0 flows (1 buckets) sched 65542 weight 0 lmax 0 pri 0 droptail sched 65542 type FIFO flags 0x1 64 buckets 9 active mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 65 ip 10.1.19.160/0 0.0.0.0/0 1 137 0 0 0 Без правила 1201 отказывается работать, а ведь должно...pipe должен выбросить его из трубы, он же работает как allow. Если удалить 1201 правило, счетчик у правила 1200 (которое out) перестает двигаться... Изменено 6 сентября, 2016 пользователем kirush Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GrandPr1de Опубликовано 6 сентября, 2016 · Жалоба попробуйте все таки разнести номера правил Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 6 сентября, 2016 · Жалоба 01150 12824 8986179 pipe tablearg ip from any to table(60) out 01160 15028 14026504 pipe tablearg ip from table(61) to any in 01201 12825 8981935 allow ip from any to table(60) 01201 15031 14030272 allow ip from table(60) to any не помогло Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
adeep Опубликовано 7 сентября, 2016 · Жалоба У вас правила pipe указаны с направлением, а allow на все направления. Проверьте не пропадают ли пакеты any to table(60) на направлении in и table(61) to any на направлении out Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 7 сентября, 2016 · Жалоба Тык в том то и дело, что allow там не должно быть вообще, но как убираю pipe перестает работать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
adeep Опубликовано 7 сентября, 2016 · Жалоба Тык в том то и дело, что allow там не должно быть вообще, но как убираю pipe перестает работать. Еще раз. У вас pipe пропускает пакеты только в одном направлении. Вам надо кроме этого разрешить пакеты в другом направлении. Попробуйте два правила поменять на: 01201 12825 8981935 allow ip from any to table(60) in 01201 15031 14030272 allow ip from table(60) to any out И посмотрите будет ли работать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 7 сентября, 2016 · Жалоба Да, приведите весь список. Если в конце есть deny ip from any to any то в Вашей раскладке выходной трафик туда и сложится. если Вы pipe замените на count то счетчик на count будет в 2 раза ниже чем на allow. у Вас они равны потому что входящий трафик разрешился pipe и до allow не дошел, а исходящий попал только в allow. 1 транзитный пакет проходит 2 раза по правилам, на входе в машину и на выходе. если убрать in и out из правил pipe, то скорость станет в 2 раза ниже заявленной :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 7 сентября, 2016 (изменено) · Жалоба # ipfw show 00001 30122 2828764 allow ospf from any to any00010 33422 3460655 deny ip from any to table(50) dst-port 135-139,445 00010 6700 552530 deny ip from table(50) to any dst-port 135-139,445 00050 1324177 166431991 allow ip from table(50) to my-net/23 00050 1027774 192434806 allow ip from my-net/23 to table(50) 00060 157669 11263751 allow ip from 172.16.0.0/16 to 10.0.0.0/8 00060 3842257 328948472 allow ip from 10.0.0.0/8 to 172.16.0.0/16 00099 2690376 702343787 allow ip from any to any via lo0 00180 104370865 66681957613 allow ip from 10.1.0.0/16 to 10.1.0.0/16 00210 3672674 476564516 allow ip from 172.16.0.0/16 to 172.16.0.0/16 00240 155673 9706629 allow ip from any to me 00250 3085836 94248152 allow ip from me to any 01000 161226579 73425610756 allow ip from table(100) to any 01000 188625877 208353611341 allow ip from any to table(100) 01100 17813903 20825826980 allow ip from table(101) to any 01100 15043905 9827671660 allow ip from any to table(101) 01150 96684897 82647815844 pipe tablearg ip from any to table(60) out 01160 94967696 64529071170 pipe tablearg ip from table(61) to any in 01201 96707738 82647363895 allow ip from any to table(60) 01202 94954100 64518722272 allow ip from table(61) to any 01202 0 0 allow ip from table(61) to any 02800 38356 6263386 fwd 127.0.0.1,8080 tcp from table(1) to any dst-port 80 02900 0 0 allow ip from table(1) to table(30) 02900 0 0 allow ip from table(30) to table(1) 03000 53953 24607276 pipe 1 ip from any to table(1) 03000 27591 4523082 pipe 2 ip from table(1) to any 03100 90 4950 fwd 127.0.0.1,8081 tcp from table(2) to any dst-port 80 03100 39658 2430453 pipe 1 ip from any to table(2) 03100 0 0 pipe 2 ip from table(2) to any 03200 0 0 allow ip from table(2) to table(30) 03200 0 0 allow ip from table(30) to table(2) 65535 523893 48113378 deny ip from any to any Сейчас выглядит это так... те правильно будет (мне надо резать как исходящую так и входящую): pipe tablearg ip from any to table(60) out allow ip from table(60) to any pipe tablearg ip from table(61) to any in allow ip from any to table(61) ? Изменено 7 сентября, 2016 пользователем kirush Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 7 сентября, 2016 · Жалоба входящий с, точки зрения его получателя, все равно сначала будет in (на внешнем интерфейсе) с точки зрения машины, а потом out (на внутреннем интерфейсе). Исходящий тоже сначала будет in (на внутреннем интерфейсе) а потом out (на внешнем). и в правилах именно эти IN и OUT фигурируют. Вы, вашем правиле in и out можете поставить хоть везде in хоть везде out хоть наоборот. Все равно тот же трафик в ту же трубу попадет. только не на, к примеру, внешнем интерфейсе, а на внутреннем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
adeep Опубликовано 7 сентября, 2016 · Жалоба те правильно будет (мне надо резать как исходящую так и входящую): pipe tablearg ip from any to table(60) out allow ip from table(60) to any pipe tablearg ip from table(61) to any in allow ip from any to table(61) ? Да. Вот тут можно попробовать почитать почему так и как происходит: http://nuclight.livejournal.com/124348.html Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...