Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
sedfom
Зарегистрирован: 04.11.2002 Сообщения: 309 Откуда: Moscow
|
Добавлено: Пт Ноя 18 2005 10:46 Заголовок сообщения: Прокси-сервер + маршрутизатор |
|
|
Есть вот такая сеть.
Код: |
INTERNET
|
|
|
----------------
| PROXY |
----------------
| 192.168.170.1
|
| 192.168.170.2
----------------
| GATE |
----------------
| 192.168.152.1
|
|
| 192.168.152.2
----------------
| CLIENT |
----------------
|
На сервере PROXY установлен Биллинг + NAT + Squid + DNS. Squid висит на порту 3128. Сервер ранее был настроен без Squid, все работает по сей день. Хочется сделать прозрачный прокси. Для этого в настройках Squid я добавил строки. ОС на PROXY OS/2. К сожалению не удалось перенаправить средствами OS/2 входящие запросы http на 3128.
Код: |
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
|
На сервере GATE установлена FreeBSD 5.3 включена маршрутазация. поднят ipfw (ядро откомпилировано со всеми необходимыми для этого ключами). GATE настроен на шлюз по умолчанию 192.168.170.1.
GATE rc.firewall
Код: |
fwcmd="/sbin/ipfw"
${fwcmd} -f flush
${fwcmd} add pass all from any to any via lo0
${fwcmd} add pass icmp from any to any
# Defaul Gateway
${fwcmd} add pass all from 192.168.170.1 to any
${fwcmd} add pass all from any to 192.168.170.1
# This machine
${fwcmd} add pass all from 192.168.170.2 to any
${fwcmd} add pass all from any to 192.168.170.2
# Net 152
${fwcmd} add pass all from 192.168.152.0/24 to any
${fwcmd} add pass all from any to 192.168.152.0/24
|
CLIENT настроен на шлюз по умолчанию 192.168.152.1 , ДНС сервер 192.168.170.1
Возникла проблема с перенаправлением трафика на squid. Попробовал добавить на freebsd строчку
Код: |
${fwcmd} add fwd 192.168.170.1,3128 tcp from 192.168.152.0/24 to any 80
|
Как выяснилось при таком подходе freebsd игнорирует порт назначения для IP адреса отличного от локального.
Поставил порт portfwd
Portfwd.cfg
Код: |
user nobody
group nogroup
tcp /* TCP connections */
{
80 { 192.168.152.0/24 => 192.168.170.1:3128 }
}
udp /* UDP packets */
{
80 { 192.168.152.0/24 => 192.168.170.1:3128 }
}
|
запускаю его под рутом командой portfwd -d -c /usr/local/etc/Portfwd.cfg
Никаких сообщений об ошибках. В результате на squid пакеты не попадают, а все как ходили сквозь NAT так и ходят. Кто-нибудь успешно заворачивал клиентские пакеты на прокси, не поделитесь идеями? _________________ Каков вопрос, таков ответ. |
|
Вернуться к началу |
|
|
a-m-d
Зарегистрирован: 09.09.2004 Сообщения: 1498 Откуда: SPb
|
Добавлено: Пт Ноя 18 2005 11:49 Заголовок сообщения: Re: Прокси-сервер + маршрутизатор |
|
|
Форвардинг ipfw действительно работает в пределах одной машины. Кабы Squid был на шлюзе, тогда бы работало так:
${fwcmd} add fwd 127.0.0.1,3128 tcp from 192.168.152.0/24 to any 80
У меня так и работает.
С portfwd не работал, хотя потребность была.
Код: |
...
tcp /* TCP connections */
{
80 { 192.168.0.0/16 => 192.168.170.1:3128 }
}
udp /* UDP packets */
{
80 { 192.168.0.0/16 => 192.168.170.1:3128 }
}
|
так чего будет? А может оно не на том интерфейсе слушает?
Еще идея. нат "в обратную сторону" На GATE, на внутреннем интерфейсе поднимаешь отдельный нат и используешь опцию -redirect_port . Гхм. Правда, биллинг на полуоси при этом пойдет побоку весь http будет с адреса GATE'а. Так что здесь, наверное, не покатит _________________ Век живи - век учись!.. Дураком помрёшь. |
|
Вернуться к началу |
|
|
|