URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 5517
[ Назад ]

Исходное сообщение
"NAT & Squid"

Отправлено SergioSalvani , 16-Апр-08 18:59 
Здравствуйте. Помогите разобраться.
Имеется шлюз на 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

через нат может проходить каждый, это надо запретить.


Содержание

Сообщения в этом обсуждении
"NAT & Squid"
Отправлено CrAzOiD , 17-Апр-08 06:24 
>[оверквотинг удален]
>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
>
>через нат может проходить каждый, это надо запретить.

может быть дело в том что для использования прокси это надо явно указывать в браузере? ровно как и хождения через нат надо отменить использование прокси в браузере


"NAT & Squid"
Отправлено SergioSalvani , 17-Апр-08 15:50 
>
>может быть дело в том что для использования прокси это надо явно
>указывать в браузере? ровно как и хождения через нат надо отменить
>использование прокси в браузере

спасибо, это вы правильно говорите, только проблема лежит несколько в другой плоскости


"NAT & Squid"
Отправлено adews , 17-Апр-08 07:38 
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


"NAT & Squid"
Отправлено SergioSalvani , 17-Апр-08 12:20 
Согласен. Спасибо за хороший совет, проверил - работает действительно так как нужно. Теперь проблема в другом, благодаря правилу
># запрещаем прохождение в нат на внутреннем интерфейсе
>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
что было бы весьма приемлимым вариантом, сквид не пропускает лишенцев.