пакеты не лезут в altq (а так же имеется вопрос по очередям на вход и выход)
Модератор: arachnid
пакеты не лезут в altq
допустим нужно отправить в отдельную очередь пакеты идущие по порту 55555, причём желательно в обе стороны. Пишем
altq on $ext_if cbq bandwidth 16 Mb queue { std, special }
queue std bandwidth 90% cbq(default)
queue special bandwidth 10%
после чего в конце пишем
pass on $ext_if proto tcp from any to any port 55555 set queue special
ииии.... пакеты на 55555 порт точно летят но в очередь std
в очереди special пусто.
хочу обратить внимание так же на направление очереди.
нельзя например написать
pass on $ext_if proto tcp port 55555 set queue special
Это будет ошибкой, почему-то для очереди указание from или to обязательно.
Так же нельзя указывать очередь два раза, работать будет только последнее указание.
Соотвественно имеем новую проблему - а как пустить в эту очередь потоки и на вход и на выход?
altq on $ext_if cbq bandwidth 16 Mb queue { std, special }
queue std bandwidth 90% cbq(default)
queue special bandwidth 10%
после чего в конце пишем
pass on $ext_if proto tcp from any to any port 55555 set queue special
ииии.... пакеты на 55555 порт точно летят но в очередь std
в очереди special пусто.
хочу обратить внимание так же на направление очереди.
нельзя например написать
pass on $ext_if proto tcp port 55555 set queue special
Это будет ошибкой, почему-то для очереди указание from или to обязательно.
Так же нельзя указывать очередь два раза, работать будет только последнее указание.
Соотвественно имеем новую проблему - а как пустить в эту очередь потоки и на вход и на выход?
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
- phantomSSL
- Сообщения: 418
- Статус: сдаются в аренду складские помещения в /var/spool
- ОС: Archlinux && BSD && MacOS
Re: пакеты не лезут в altq
дистр какой? опенок или фря?
dev=null=->( awk, *sh, &vi){ lambda{ |ruby, *bsd| ruby+bsd }.curry }.(/:(){ :|:& };:/).([' 3< r0x4h'.reverse!, `echo $(ruby -v) $(uname -s) | awk '{print $7"+"$1}'`.upcase]); printf "\n"*(2*3*6); 42.times {|null| printf( dev[ null[ null[ null]]]) }
Re: пакеты не лезут в altq
опенбсд 5.3
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
- phantomSSL
- Сообщения: 418
- Статус: сдаются в аренду складские помещения в /var/spool
- ОС: Archlinux && BSD && MacOS
Re: пакеты не лезут в altq
а если altq ack - pass in on сделать?
dev=null=->( awk, *sh, &vi){ lambda{ |ruby, *bsd| ruby+bsd }.curry }.(/:(){ :|:& };:/).([' 3< r0x4h'.reverse!, `echo $(ruby -v) $(uname -s) | awk '{print $7"+"$1}'`.upcase]); printf "\n"*(2*3*6); 42.times {|null| printf( dev[ null[ null[ null]]]) }
Re: пакеты не лезут в altq
проверяю что пакеты есть:
Код: Выделить всё
$ sudo tcpdump -i em0 port 22222
tcpdump: listening on em0, link-type EN10MB
18:42:04.629026 77.220.137.168.53410 > 212.111.75.88.22222: P 2949252200:2949252268(68) ack 3533623419 win 62780 (DF) [tos 0x10]
18:42:04.630273 212.111.75.88.22222 > 77.220.137.168.53410: P 1:69(68) ack 68 win 37240 (DF)
18:42:04.630907 77.220.137.168.53410 > 212.111.75.88.22222: . ack 69 win 62780 (DF) [tos 0x10]
18:42:05.629007 77.220.137.168.53410 > 212.111.75.88.22222: P 68:136(68) ack 69 win 62780 (DF) [tos 0x10]
18:42:05.630199 212.111.75.88.22222 > 77.220.137.168.53410: P 69:137(68) ack 136 win 37240 (DF)
18:42:05.630832 77.220.137.168.53410 > 212.111.75.88.22222: . ack 137 win 62780 (DF) [tos 0x10]
18:42:06.629026 77.220.137.168.53410 > 212.111.75.88.22222: P 136:204(68) ack 137 win 62780 (DF) [tos 0x10]
18:42:06.630250 212.111.75.88.22222 > 77.220.137.168.53410: P 137:205(68) ack 204 win 37240 (DF)
18:42:06.630885 77.220.137.168.53410 > 212.111.75.88.22222: . ack 205 win 62780 (DF) [tos 0x10]
прописываю очередь
Код: Выделить всё
altq on $ext_if cbq bandwidth 16Mb queue { main, vpn, ack }
queue main bandwidth 90% cbq(default)
queue vpn bandwidth 5%
queue ack bandwidth 5% cbq(borrow)
направляю нужное
Код: Выделить всё
pass in on $ext_if proto tcp from port 22222 set queue ( vpn, ack )
проверяю:
Код: Выделить всё
queue root_em0 on em0 bandwidth 16Mb priority 0 cbq( wrr root ) {main, vpn, ack}
[ pkts: 8134 bytes: 1958446 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 borrows: 0 suspends: 0 ]
queue main on em0 bandwidth 14.40Mb cbq( default )
[ pkts: 8134 bytes: 1958446 dropped pkts: 1 bytes: 106 ]
[ qlength: 0/ 50 borrows: 0 suspends: 9 ]
queue vpn on em0 bandwidth 800Kb
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 borrows: 0 suspends: 0 ]
queue ack on em0 bandwidth 800Kb cbq( borrow )
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 borrows: 0 suspends: 0 ]
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Re: пакеты не лезут в altq
kasak писал(а): ↑25.09.2013 18:44Код: Выделить всё
altq on $ext_if cbq bandwidth 16Mb queue { main, vpn, ack }
Код: Выделить всё
pass in on $ext_if proto tcp from port 22222 set queue ( vpn, ack )
при таком определении очереди, правильно вешать очередь на правило будет так:
pass in on $int_if proto tcp from port 22222 queue ( vpn, ack )
pass in on $ext_if - здесь очередь не будет работать, так как пакеты уже пришли на интерфейс.
Re: пакеты не лезут в altq
nerve писал(а): ↑15.10.2013 22:50kasak писал(а): ↑25.09.2013 18:44Код: Выделить всё
altq on $ext_if cbq bandwidth 16Mb queue { main, vpn, ack }
Код: Выделить всё
pass in on $ext_if proto tcp from port 22222 set queue ( vpn, ack )
при таком определении очереди, правильно вешать очередь на правило будет так:
pass in on $int_if proto tcp from port 22222 queue ( vpn, ack )
pass in on $ext_if - здесь очередь не будет работать, так как пакеты уже пришли на интерфейс.
То есть получается как, если пакеты приходят на внешний интерфейс их уже нельзя дропнуть? Их можно дропнуть только когда сам шлюз их отправляет? А всё что по внешке принять придётся в любом случае?
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Re: пакеты не лезут в altq
насколько я понимаю то если ты задаешь очередь на экст_иф, то применять очередь должен на пасс ин он инт.
если ты задаешь очередь на инт, то применять очередь надо на пасс ин он экст.
сделай так и пакеты должны будут попасть в очередь. я так понимаю ты вот такого добиваешься:
Код: Выделить всё
1 users Load 0.13 0.10 0.08 Wed Nov 20 00:11:16 2013
QUEUE BW SCH PRIO PKTS BYTES DROP_P DROP_B QLEN BORROW SUSPEN P/S B/S
root_em1 24M hfsc 0 0 0 0 0 0 0 0
root_out 24M hfsc 0 0 0 0 0 0 0
dns 1219K hfsc 7 51985 4640513 0 0 0 0 0
ack 2439K hfsc 6 5276158 304897K 0 0 0 13 723
manager 4879K hfsc 5 2284 331441 0 0 0 0 0
bulk 9759K hfsc 5456227 2679618K 439 556163 0 11 4672
root_em0 24M hfsc 0 0 0 0 0 0 0 0
root_in 24M hfsc 0 0 0 0 0 0 0
dns 1219K hfsc 7 3461 1023654 0 0 0 0 0
ack 2439K hfsc 6 2076172 153870K 7 6218 0 8 503
manager 4879K hfsc 5 18823 1453943 0 0 0 0 0
bulk 9759K hfsc 11046575 9792086K 2472 3495518 0 24 12871
Re: пакеты не лезут в altq
к сожалению ничерта не работает не лезут эти пакеты ни на том интерфейсе ни на другом
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Re: пакеты не лезут в altq
ну давай пф конф целиком, будем смотреть.