Тема: IPFW сначала запретить доступ, потом разрешить
Доброе время суток.
FreeBSD 7.2. IPFW как фаер. Столкнулся с такой проблемой:
Имеется схема (упрощенная) локалка - биллинг - шейпер - нат - инет.
шейпер с биллинга грузит табличку с разрешенными IP и соответствующими каждому IP скоростями. На шейпере пайпами разрезается скорость абонам, все работает.
т.е.
pipe 101 config bw 1800Kbit/s mask src-ip 0xffffffff
pipe 102 config bw 1800Kbit/s mask dst-ip 0xffffffff
pipe 103 config bw 2000Kbit/s mask src-ip 0xffffffff
pipe 104 config bw 2000Kbit/s mask dst-ip 0xffffffff
pipe 105 config bw 2200Kbit/s mask src-ip 0xffffffff
pipe 106 config bw 2200Kbit/s mask dst-ip 0xffffffff
add 1 pipe 101 ip from table(1,1800) to any xmit igb0 out
add 2 pipe 102 ip from any to table(1,1800) xmit igb1 out
add 3 pipe 103 ip from table(1,2000) to any xmit igb0 out
add 4 pipe 104 ip from any to table(1,2000) xmit igb1 out
add 5 pipe 105 ip from table(1,2200) to any xmit igb0 out
add 6 pipe 106 ip from any to table(1,2200) xmit igb1 out
Есть задача сделать доступ к определенному адресу только при скоростях ВЫШЕ 2Мбит/с, а тем у кого скорость ниже чтобы доступа не было. Поставить правило между 4и5 не прокатит, потому что изначально нет прямого запрета. А если сначала запретить, то как потом разрешить после 4 правила, ведь как только правило запрета отобьется - дальше проверять правила фаер не будет. Вот в этом и загвоздочка.