Здравствуйте. Помогите разобраться.
Имеется шлюз на FreeBSD с двумя сетевыми интерфейсами, поднят NAT и поднят Squid.
Задача: выбраные ip ходят в интернет через NAT, всем остальным только squid (не прозрачный).Мои попытки:
# ipfw show
00048 89 6415 allow ip from 192.168.0.3 to any
00049 0 0 divert 8668 ip4 from 192.168.0.3 to any
00100 4 200 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65000 13755 5531886 allow ip from any to any
65535 2 137 deny ip from any to any
192.168.0.3 дожен пройти по нату, а он не идёт. Почему не пропускает? Squid при этом работает как положено.
а если так:# ipfw show
00050 892 547850 divert 8668 ip4 from any to any via fxp0
00100 4 200 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65000 1356 736231 allow ip from any to any
65535 2 137 deny ip from any to anyчерез нат может проходить каждый, это надо запретить.
>[оверквотинг удален]
>any to any via lo0
>00200 0 0 deny
>ip from any to 127.0.0.0/8
>00300 0 0 deny
>ip from 127.0.0.0/8 to any
>65000 1356 736231 allow ip from any to any
>65535 2 137 deny ip from
>any to any
>
>через нат может проходить каждый, это надо запретить.может быть дело в том что для использования прокси это надо явно указывать в браузере? ровно как и хождения через нат надо отменить использование прокси в браузере
>
>может быть дело в том что для использования прокси это надо явно
>указывать в браузере? ровно как и хождения через нат надо отменить
>использование прокси в браузереспасибо, это вы правильно говорите, только проблема лежит несколько в другой плоскости
IPFW работает по принципу "первый нах",- пакеты, удовлетворяющие правилу
00048 89 6415 allow ip from 192.168.0.3 to any
дальше не проверяются.
Разнесите разрешения\запреты и диверты по интерфейсам, например# разрешаем лишенцам прокси
add allow tcp from 192.168.0.3 to me 3128
# разрешаем прохождение в нат
add allow ip from 192.168.0.2 to any via fxp1
# запрещаем прохождение в нат на внутреннем интерфейсе
add deny ip from 192.168.0.3 to any via fxp1
#nat на внешнем интерфейсе
add divert natd ip from any to any via fxp0
Согласен. Спасибо за хороший совет, проверил - работает действительно так как нужно. Теперь проблема в другом, благодаря правилу
># запрещаем прохождение в нат на внутреннем интерфейсе
>add deny ip from 192.168.0.3 to any via fxp1по нату не проходит только один лишенец, а если написать
add deny ip from any to any via fxp1
по нату не пройдёт никто, даже те кто был перечислен выше для прохождения в натВнимание, вопрос. Неужели нужно перечислять запретами всю сеть кроме лишенцев? В доках так и не нашел синтаксиса чтобы создать правило вида "всем кроме некоторых". А если писать divert для конкретных ip
add divert 8668 ip from 192.168.0.3 to any via fxp0
что было бы весьма приемлимым вариантом, сквид не пропускает лишенцев.