есть 2 канала в инет допустим канал1 194.58.241.24(23 шлюз) и канал2 83.237.80.12
шлюз по умолчанию стоит с канала2 83.237.80.11
на канал1 в ipfw прописано правило
00010 6 288 allow ip from any to 194.58.241.24
00020 2915 156464 fwd 194.58.241.23 ip from 194.58.241.24 to anyиспользую tcp_outgoing_address для того чтобы разделить часть пользователей на один канал часть на другой
acl fat_channel_user_list src "/home/admin/squid/fat_ch_user_list"
acl weak_channel_user_list src "/home/admin/squid/weak_ch_user_list"
tcp_outgoing_address 194.58.241.24 weak_channel_user_list
tcp_outgoing_address 83.237.80.12 fat_channel_user_list
вот так все и работало отлично на FreeBSD 5.2.1 версию сквида на скажу
установил то же самое на 6.2 - сквид отказывается работать через первый канал (weak_channel_user_list)
смотрел tcpdump ом как пакеты ходят - видно как с правильного интерфейса уходят пакеты с правильным source ip и возвращаются и даже пользователю какие-то 2-3 пакета уходят но ничего не работает