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

Исходное сообщение
"FreeBSD + PBR + NAT+ Transparent proxy squid"

Отправлено krava13 , 02-Апр-09 15:33 
Здравствуйте!
Дано:
1. FreeBSD 6.4, Squid 3.0, ipfw, natd
2. Два провайдера
3. Внутренний интерфейс - один
4. Внешних интерфейса - два

5. 192.168.100.1 - шлюз для локалки
6. 192.168.100.55 - нужно выпустить через 192.168.0.108
7. 109.168.0.108 - быстрый интернет
7.1 192.168.0.15 - гейтвей быстрого инета
8. 192.168.2.2 - шлюз медленного интернета наружу
9. 192.168.2.1 - гейтвей медленного инета

Задача:
1. Выпускать всех пользователей из локалки в интернет через только через прозрачный прокси
2. Определенный ай-пи из локалки выпустить так-же через сквид, но только на другой провайдер

Что есть:
1. Запускаю два ната
natd -a 192.168.2.2 -p 8668
natd -a 192.168.0.108 -p 8778

2. правила в ipfw

10    ipfw add fwd 127.0.0.1,3128 tcp from 192.168.100.0/24 to any 80    # прозрачный прокси

20    ipfw add divert 8778 ip from 192.168.100.55 to any
30    ipfw add divert 8668 ip from any to any

40    ipfw add fwd 192.168.2.1 ip from 192.168.2.2 to any
50    ipfw add fwd 192.168.0.15 ip from 192.168.0.108 to any

60    ipfw add divert 8668 ip from any to 192.168.2.2
70    ipfw add divert 8778 ip from any to 192.168.0.108

80    ipfw add allow all from any to any

Работает или отдельно прозрачное проксирование:
без правил 20-70 а, с правилом ipfw add divert all from any to any
или же PBR, но без правила 10

Уважаемые знатоки! Внимание вопрос:

Как сделать так, чтобы вся эта связка заработала?!
Помогите, кто может.
tpc_outgoing_address 192.168.0.108 my_ip в сквид ничего не дает.


Содержание

Сообщения в этом обсуждении
"FreeBSD + PBR + NAT+ Transparent proxy squid"
Отправлено reader , 02-Апр-09 16:18 
>[оверквотинг удален]
>Работает или отдельно прозрачное проксирование:
>без правил 20-70 а, с правилом ipfw add divert all from any
>to any
>или же PBR, но без правила 10
>
>Уважаемые знатоки! Внимание вопрос:
>
>Как сделать так, чтобы вся эта связка заработала?!
>Помогите, кто может.
>tpc_outgoing_address 192.168.0.108 my_ip в сквид ничего не дает.

и все таки копайте squid, пакеты прошедшие через прокси уже будут идти с адресом прокси , а не клиента, и nat им уже не нужен


"FreeBSD + PBR + NAT+ Transparent proxy squid"
Отправлено krava13 , 03-Апр-09 12:32 
>[оверквотинг удален]
>>
>>Уважаемые знатоки! Внимание вопрос:
>>
>>Как сделать так, чтобы вся эта связка заработала?!
>>Помогите, кто может.
>>tpc_outgoing_address 192.168.0.108 my_ip в сквид ничего не дает.
>
>и все таки копайте squid, пакеты прошедшие через прокси уже будут идти
>с адресом прокси , а не клиента, и nat им уже
>не нужен

natd -a 192.168.2.2 -p 5555 (это для rl3)
natd -a 192.168.0.108 -p 8668 (это для nve0)
default route = 192.168.0.108

Переписал правила.
Работает http, но pop3 все равно продолжает ходить через nve0, а должен через rl3. Не пойму, почему ни один пакет не попадает в правило 100 ??

00100     0        0 divert 5555 ip from 192.168.100.0/24 to any via rl3
00110 12424  1026719 divert 8668 ip from 192.168.100.0/24 to any
00200     0        0 fwd 192.168.2.1,110 log ip from 192.168.2.2 to any dst-port 110
00300 10170   682003 fwd 127.0.0.1,3128 tcp from 192.168.100.0/24 to any dst-port 80
00400     0        0 divert 5555 log ip from any to 192.168.2.2
00450  9379 10503842 divert 8668 ip from any to 192.168.0.108
00500 39008 23185826 allow ip from any to any
65535  9292  1261748 deny ip from any to any

Начал копать сквид:
tcp_outgoing_address 192.168.2.2 my_ip
tcp_outgoing_address 0.0.0.0
при добавлении этих правил сквид вообще никуда не отправляет пакеты. Что делать? Как быть?


"FreeBSD + PBR + NAT+ Transparent proxy squid"
Отправлено krava13 , 03-Апр-09 14:19 
Обновленные правила:

00050      0         0 divert 5555 ip from 192.168.100.0/24 to any via rl3
00110    202     12520 divert 8668 ip from 192.168.100.0/24 to any via nve0
00300  52584   3021259 fwd 127.0.0.1,3128 tcp from 192.168.100.0/24 to any dst-port 80
00310    298     17836 fwd 192.168.2.1 ip from 192.168.2.2 to any

-------------------------------------------------------------------------------------
00400    377    482404 divert 5555 log ip from any to 192.168.2.2 #### вот это правило нужно было добавить, чтобы пакеты возвращались обратно с 192.168.2.1(1-гейт) на 192.168.2.2---192.168.100.1----192.168.100.55 (мой ай-пи).
------------------------------------------------------------------

00450  45240  51823075 divert 8668 ip from any to 192.168.0.108

00500 136603 108815960 allow ip from any to any

Теперь вопос: Как сделать чтобы почта (110,25 и тд.) ходила не через дефаулт, а через 192.168.2.2 ???


"FreeBSD + PBR + NAT+ Transparent proxy squid"
Отправлено wital , 07-Апр-09 08:03 
А почта на этой машине?
А теперь попробуйте откл. дефолтовый сетевой интерфейс (фишку напр. выдернуть) и посмотреть а ходит ли всё?