ipfw setfib 2 пров
Добавлено: 2010-02-18 12:55:00
Всем привет, подключил второго провайдера, с настройками ipfw возникли проблемы:
uname -a
Интерфейсы:
настройки setfib
Для нарезки трафика использую ipfw dummynet pipe table
Правила где задействован только ISP1:
В результате в таблице 50 и 51 есть юзеры, счётчики тикают:
Идём дальше, вносим второго провайдера в конфиг ipfw:
В результате в таблицы ниего не заходит, кроме сегмента 2:
Не могу понять с чем может быть связано что сегмент vlan55 попадает в таблицы, остальные нет
uname -a
Код: Выделить всё
FreeBSD router 7.2-RELEASE-p6 FreeBSD 7.2-RELEASE-p6 #0: Tue Feb 9 03:07:33 MSK 2010 baton@router:/usr/obj/usr/src/sys/ROUTER i386
Код: Выделить всё
em0 - ISP1
ng0 - ISP2
em1 - local network (segment1)
vlan55 - local network (segment2)
Код: Выделить всё
setfib 0 - ISP1
setfib 1 - ISP2
Правила где задействован только ISP1:
Код: Выделить всё
[root@router.net11.ru] /root/config/> less ipfw.sh
fw="/sbin/ipfw -q"
${fw} -f flush
${fw} -f pipe flush
${fw} -f queue flush
#Тут секция pipe, пример
${fw} pipe 1024 config bw 4096Kbit/s mask src-ip 0xffffffff
${fw} pipe 1025 config bw 1024Kbit/s mask dst-ip 0xffffffff
${fw} add 10 allow ip from any to me
${fw} add 20 allow ip from me to any
#out segment 1
${fw} add 1110 pass ip from any to any out via em0
${fw} add 1120 pipe tablearg ip from "table(50)" to any in via em1
${fw} add 1130 pass ip from "table(50)" to any in via em1
#out segment 2
${fw} add 1131 pipe tablearg ip from "table(50)" to any in via vlan55
${fw} add 1132 pass ip from "table(50)" to any in via vlan55
#in segment 1
${fw} add 1210 pass ip from any to any in via em0
${fw} add 1220 pipe tablearg ip from any to "table(51)" out via em1
${fw} add 1230 pass ip from any to "table(51)" out via em1
# in segment 2
${fw} add 1231 pipe tablearg ip from any to "table(51)" out via vlan55
${fw} add 1232 pass ip from any to "table(51)" out via vlan55
${fw} add 1500 deny ip from any to any
Код: Выделить всё
00010 122563 9031346 allow ip from any to me
00020 262404 202261486 allow ip from me to any
01110 7354396 2864558022 allow ip from any to any out via em0
01120 7349165 2883636886 pipe tablearg ip from table(50) to any in via em1
01130 0 0 allow ip from table(50) to any in via em1
01131 40504 2813366 pipe tablearg ip from table(50) to any in via vlan55
01132 0 0 allow ip from table(50) to any in via vlan55
01210 7318628 5035582227 allow ip from any to any in via em0
01220 7279067 4974534392 pipe tablearg ip from any to table(51) out via em1
01230 0 0 allow ip from any to table(51) out via em1
01231 52479 72570186 pipe tablearg ip from any to table(51) out via vlan55
01232 0 0 allow ip from any to table(51) out via vlan55
01500 18408 1202822 deny ip from any to any
65535 82137 43058973 allow ip from any to any
Код: Выделить всё
fw="/sbin/ipfw -q"
userip="10.1.1.1"
${fw} -f flush
${fw} -f pipe flush
${fw} -f queue flush
$
#Тут секция pipe, пример
${fw} pipe 1024 config bw 4096Kbit/s mask src-ip 0xffffffff
${fw} pipe 1025 config bw 1024Kbit/s mask dst-ip 0xffffffff
${fw} add 1000 skipto 1100 ip from ${userip} to any in recv em1
${fw} add 1001 setfib 0 ip from any to any in recv em1
${fw} add 1002 allow ip from any to any via em1
${fw} add 1100 setfib 1 ip from any to any in recv em1
${fw} add 1101 allow ip from any to any via em1
#OUT segment1
${fw} add 1110 pass ip from any to any out via em0
${fw} add 1120 pipe tablearg ip from "table(50)" to any in via em1
${fw} add 1130 pass ip from "table(50)" to any in via em1
#OUT segment 2
${fw} add 1131 pipe tablearg ip from "table(50)" to any in via vlan55
${fw} add 1132 pass ip from "table(50)" to any in via vlan55
#OUT userip
#${fw} add 1134 pass ip from any to any out via ng0
#${fw} add 1135 pipe tablearg ip from "table(50)" to any in via em1
#${fw} add 1136 pass ip from "table(50)" to any in via em1
#IN segment1
${fw} add 1210 pass ip from any to any in via em0
${fw} add 1220 pipe tablearg ip from any to "table(51)" out via em1
${fw} add 1230 pass ip from any to "table(51)" out via em1
#IN segment2
${fw} add 1231 pipe tablearg ip from any to "table(51)" out via vlan55
${fw} add 1232 pass ip from any to "table(51)" out via vlan55
#OUT userip
${fw} add 1233 pass ip from any to any in via ng0
${fw} add 1234 pipe tablearg ip from any to "table(51)" out via em1
${fw} add 1235 pass ip from any to "table(51)" out via em1
${fw} add 1500 deny ip from any to any
Код: Выделить всё
00010 1347 103624 allow ip from any to me
00020 2644 2113172 allow ip from me to any
01000 7 10500 skipto 1100 ip from 10.20.254.1 to any in recv em1
01001 69633 30623765 setfib 0 ip from any to any in recv em1
01002 149839 76642829 allow ip from any to any via em1
01100 7 10500 setfib 1 ip from any to any in recv em1
01101 7 10500 allow ip from any to any via em1
01110 69620 30604856 allow ip from any to any out via em0
01120 0 0 pipe tablearg ip from table(50) to any in via em1
01130 0 0 allow ip from table(50) to any in via em1
01131 127 16517 pipe tablearg ip from table(50) to any in via vlan55
01132 0 0 allow ip from table(50) to any in via vlan55
01134 0 0 allow ip from any to any out via ng0
01135 0 0 pipe tablearg ip from table(50) to any in via em1
01136 0 0 allow ip from table(50) to any in via em1
01210 80131 46000893 allow ip from any to any in via em0
01220 0 0 pipe tablearg ip from any to table(51) out via em1
01230 0 0 allow ip from any to table(51) out via em1
01231 129 135150 pipe tablearg ip from any to table(51) out via vlan55
01232 0 0 allow ip from any to table(51) out via vlan55
01233 0 0 allow ip from any to any in via ng0
01234 0 0 pipe tablearg ip from any to table(51) out via em1
01235 0 0 allow ip from any to table(51) out via em1
01500 0 0 deny ip from any to any
65535 87062 45583770 allow ip from any to any