она у вас и на внешнем и на внутренем интерфейсе
потому что если оставить только на внешнем , то ограничение вообще не работает,
на внешнем очередь ограничивает исходящий трафик
на внутреннем входящий, перепробовал множество вариантов (с очередями только на одном интерфейсе), о которых пишут в инете, они все не работают.
тем более как я сделаю только на одном интерфейсе , если канал ассимметричный, исходящий меньше входящего аж в 2 раза.
может в конфиге что то не так, но эта схема работает, если отключить altq то пинги становятся по 400-1200
и почему приоритеты одинаковые ? - 0
если вглядеться , то они все таки разные, например, для исходящих пакетов
приведу все таки конфиг
Код: Выделить всё
ext_if = "vr0" # external interface
int_if = "rl0" # internal interface
game_port = "{6112 , 4000 , 5795, 3724, 1513, 6113 , 6114, 6115, 6116, 6117, 6118, 6119 ,1119 , 1513, 1514, 8688, 7456, 6200, 8080}"
lan="10.75.0.0/24"
ext_ip="xx.xx.xx.xx"
int_ip="10.75.0.1"
set optimization aggressive
scrub in on $ext_if all fragment reassemble min-ttl 20 max-mss 1440
scrub in on $ext_if all no-df
scrub on $ext_if all reassemble tcp
#altq on $ext_if hfsc bandwidth 1100Kb queue {gameport_out def_out}
#queue gameport_out bandwidth 30% priority 7 hfsc (red)
#queue def_out bandwidth 1% priority 0 hfsc (default , red , rio)
#altq on $int_if hfsc bandwidth 2800Kb queue {gameport_in def_in}
#queue gameport_in bandwidth 30% priority 7 hfsc (red)
#queue def_in bandwidth 1% priority 0 hfsc (default ,red , rio )
altq on $ext_if priq bandwidth 1100Kb queue {gameport_out def_out}
queue gameport_out priority 15 priq
queue def_out priority 0 priq (default ,red )
altq on $int_if priq bandwidth 2900Kb queue {gameport_in def_in}
queue gameport_in priority 15 priq
queue def_in priority 0 priq (default ,red )
#rdr pass on $ext_if proto {tcp udp} from any to $ext_if port 24978 -> 10.75.0.2 port 24978
## NAT
nat on $ext_if from $int_if:network to any -> ($ext_if)
rdr pass on $ext_if proto {tcp} from any to $ext_ip port 6112 -> 10.75.0.12 port 6112 #переадресация, чтоб создать сервер игры на внешнем ip
block in log on $ext_if
antispoof log quick for { lo0, $int_if, $ext_if }
pass in quick on $int_if proto tcp from !$lan to $lan port $game_port queue gameport_in
pass in quick on $int_if proto udp from !$lan to $lan port $game_port queue gameport_in
pass in quick on $int_if proto tcp from !$lan port $game_port to $lan queue gameport_in
pass in quick on $int_if proto udp from !$lan port $game_port to $lan queue gameport_in
pass in quick on $int_if inet proto icmp from !$lan to $lan icmp-type echoreq queue gameport_in
pass in quick on $int_if inet proto icmp from !$lan to $lan icmp-type echorep queue gameport_in
pass in quick on $int_if inet proto icmp from !$lan to $lan icmp-type unreach queue gameport_in
pass out quick on $ext_if proto tcp from $ext_ip to any port $game_port queue gameport_out
pass out quick on $ext_if proto udp from $ext_ip to any port $game_port queue gameport_out
pass out quick on $ext_if proto tcp from $ext_ip port $game_port to any queue gameport_out
pass out quick on $ext_if proto udp from $ext_ip port $game_port to any queue gameport_out
pass out quick on $ext_if inet proto icmp from $ext_ip to any icmp-type echoreq queue gameport_out
pass out quick on $ext_if inet proto icmp from $ext_ip to any icmp-type echorep queue gameport_out
pass out quick on $ext_if inet proto icmp from $ext_ip to any icmp-type unreach queue gameport_out