Страница 1 из 3

Прозрачный прокси!

Добавлено: 2006-06-14 21:49:51
kvirtu
НЕ пинайте, тема не нова, но у меня не выходит !!!
Помогите с маскарадингом.
значит есть два компа: на первом (ВиньXP) входящий спут.канал (SkyDSL)+прокси (Глобакс) c адресом 192.168.1.2, на втором с адресом 192.168.1.1 (freebsd 5.4) исходящий канал+биллинг. Юзверы конектятся на 192.168.1.1 по впн и получают адреса из подсети 192.168.200.0/24. Надо организовать перенаправление всех запросов на адрес 192.168.1.2 на порт 3128, так как при впн-конекте инет юзверы получают по земле.
ядро сконфигурировал с поддержкой:
options IPFIREWALL
options IPFIREWALL_VERBOSE=100
options IPFIREWALL_FORWARD
options IPDIVERT
/etc/rc.firewall:
#/bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via xl0
/sbin/ipfw add pass all from any to any
Заранее всем спасибо !

Добавлено: 2006-06-14 22:03:28
Alex Keda
ifconfig дай
====
по тем данным что ты дал - примерно так -

Код: Выделить всё

fwd 127.0.0.1,3128 tcp from 192.168.200.0/24 to any 80 via xl0
тока надо учесть что исходящий по одному а входящий по другому....
т.е. вохможно придётся поиграть с fwd и конфигом сквида в плане интерфейса и оутгоинг_аддресс...

Добавлено: 2006-06-14 22:10:02
kvirtu

Код: Выделить всё

xl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=9<RXCSUM,VLAN_MTU>
inet 192.168.5.48 netmask 0xffffff00 broadcast 192.168.5.255
inet6 fe80::210:5aff:fed8:265c%xl0 prefixlen 64 scopeid 0x1 
ether 00:10:5a:d8:26:5c
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.169.251.1 netmask 0xffffff00 broadcast 192.169.251.255
inet6 fe80::2e0:7dff:fee5:5519%rl0 prefixlen 64 scopeid 0x2 
ether 00:e0:7d:e5:55:19
media: Ethernet autoselect (100baseTX)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000 
inet6 ::1 prefixlen 128 
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3

Добавлено: 2006-06-14 22:11:55
Alex Keda
а интерфейсов при коннекте клиента не создаётся?

Добавлено: 2006-06-14 22:13:52
kvirtu
lissyara писал(а):а интерфейсов при коннекте клиента не создаётся?
создается tun0,1

Добавлено: 2006-06-14 22:19:44
kvirtu
я пробывал так
ipfw add fwd 192.168.2.1,3128 tcp from 192.168.200.0/24 to any 80 via xl0
ipfw add divert natd ip from 192.168.200.0/24 to any out via xl0
ipfw add divert natd ip from any to 192.168.1.2 in via xl0
у меня xlo - 192.168.1.1 - интерфейс смотрит на инет запросный, rl0 - 192.168.1.3 смотрит на 192.168.1.2
сории если не дал сразу все данные ...

Добавлено: 2006-06-14 22:19:48
Alex Keda
ну а для них ifconfig где?
====
и зачем тебе IPv6? - это конечно к делу не относится но если не юзаешь - отключил бы нахер :)

Добавлено: 2006-06-14 22:24:25
Alex Keda
ipfw add fwd 192.168.2.1,3128 tcp from 192.168.200.0/24 to any 80 via xl0
это верно. тока сквиду надо указать по какому интерфейсу работать, или в фаере разрулить - что пакеты с локалхота уходили так а приходили так.

Код: Выделить всё

ipfw add divert natd ip from 192.168.200.0/24 to any out via xl0
ipfw add divert natd  ip from any to 192.168.1.2 in via xl0
если я правильно понимаю то у тебя должно быть три интерфейса - по одному со спутника ходящий траффик, по другому исходящий (и в обе стороны если спутник лежит) и третий в локалку.
ну сколькото tun* для клиентов...

Добавлено: 2006-06-14 22:25:43
kvirtu
lissyara писал(а):ну а для них ifconfig где?
====
и зачем тебе IPv6? - это конечно к делу не относится но если не юзаешь - отключил бы нахер :)
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1460
inet6 fe80::210:5aff:fed8:265c%tun0 prefixlen 64 scopeid 0x4
inet 192.168.1.1 --> 192.168.200.2 netmask 0xffffffff
Opened by PID 2658
IPv6 - да вроде не включал я его в ядро

Добавлено: 2006-06-14 22:30:11
kvirtu
lissyara писал(а):
ipfw add fwd 192.168.2.1,3128 tcp from 192.168.200.0/24 to any 80 via xl0
это верно. тока сквиду надо указать по какому интерфейсу работать, или в фаере разрулить - что пакеты с локалхота уходили так а приходили так.

Код: Выделить всё

ipfw add divert natd ip from 192.168.200.0/24 to any out via xl0
ipfw add divert natd  ip from any to 192.168.1.2 in via xl0
если я правильно понимаю то у тебя должно быть три интерфейса - по одному со спутника ходящий траффик, по другому исходящий (и в обе стороны если спутник лежит) и третий в локалку.
ну сколькото tun* для клиентов...
у меня на 192.168.1.1 - два интерфейса (2 сетевухи) xl0 - исходящий & rl0 - входящий со спутника, смотрящий на 192.168.1.2

Добавлено: 2006-06-14 22:48:27
Alex Keda
kvirtu писал(а):

Код: Выделить всё

xl0:
inet 192.168.5.48 netmask 0xffffff00 broadcast 192.168.5.255

rl0: 
inet 192.169.251.1 netmask 0xffffff00 broadcast 192.169.251.255
а это тогда как понимать?
к какой железке адрес 192.168.1.1 привязан?

Добавлено: 2006-06-15 19:36:02
kvirtu
lissyara писал(а):
kvirtu писал(а):

Код: Выделить всё

xl0:
inet 192.168.5.48 netmask 0xffffff00 broadcast 192.168.5.255

rl0: 
inet 192.169.251.1 netmask 0xffffff00 broadcast 192.169.251.255
а это тогда как понимать?
к какой железке адрес 192.168.1.1 привязан?
вах, ошибочка, это старые данные дал :roll:
вот реальные:
xl0 - 192.168.1.1
rl0 - 192.168.1.3

Добавлено: 2006-06-15 19:54:39
Alex Keda
двай ещё раз вывод ifconfig
нормальный....

Добавлено: 2006-06-15 20:21:56
kvirtu
lissyara писал(а):двай ещё раз вывод ifconfig
нормальный....
Мне кажется что у меня просто не рабоатет форвардинг, хотя в ядре прописано, как это можно узнать ???

Добавлено: 2006-06-15 21:27:03
zorg
Сделай ipfw show да посмотри идут там пакеты по этому правилу или нет.

Добавлено: 2006-06-15 22:14:09
kvirtu
zorg писал(а):Сделай ipfw show да посмотри идут там пакеты по этому правилу или нет.
вот к примеру ввожу правило: указываю адрес и порт , которых у меня нет.
ipfw add fwd 10.0.1.1,3145 tcp from any to any 80
а вот ipdw show:
00500 83 8664 divert 8668 ip from any to any via xl0
00600 0 0 fwd 10.0.1.1 tcp from any to any dst-port 80
65535 7424 874225 allow ip from any to any
но юзверы прродолжают ходит по земле в инет ???

Добавлено: 2006-06-15 22:14:24
kvirtu
zorg писал(а):Сделай ipfw show да посмотри идут там пакеты по этому правилу или нет.
вот к примеру ввожу правило: указываю адрес и порт , которых у меня нет.
ipfw add fwd 10.0.1.1,3145 tcp from any to any 80
а вот ipfw show:
00500 83 8664 divert 8668 ip from any to any via xl0
00600 0 0 fwd 10.0.1.1 tcp from any to any dst-port 80
65535 7424 874225 allow ip from any to any
но юзверы прродолжают ходит по земле в инет, хотя доспуп вообще должен отсутствовать ???

Добавлено: 2006-06-15 22:19:37
Alex Keda
kvirtu писал(а):
zorg писал(а):Сделай ipfw show да посмотри идут там пакеты по этому правилу или нет.
вот к примеру ввожу правило: указываю адрес и порт , которых у меня нет.
ipfw add fwd 10.0.1.1,3145 tcp from any to any 80
а вот ipfw show:
00500 83 8664 divert 8668 ip from any to any via xl0
00600 0 0 fwd 10.0.1.1 tcp from any to any dst-port 80
65535 7424 874225 allow ip from any to any
но юзверы прродолжают ходит по земле в инет, хотя доспуп вообще должен отсутствовать ???
потомучто диверт раньше. они по диверту ходят. пакет обрабатывается до первого вхождения. после него он из фаера выходит, или рубится - смотря какое вхождение было

Добавлено: 2006-06-15 22:25:48
kvirtu
lissyara писал(а):
kvirtu писал(а):
zorg писал(а):Сделай ipfw show да посмотри идут там пакеты по этому правилу или нет.
вот к примеру ввожу правило: указываю адрес и порт , которых у меня нет.
ipfw add fwd 10.0.1.1,3145 tcp from any to any 80
а вот ipfw show:
00500 83 8664 divert 8668 ip from any to any via xl0
00600 0 0 fwd 10.0.1.1 tcp from any to any dst-port 80
65535 7424 874225 allow ip from any to any
но юзверы прродолжают ходит по земле в инет, хотя доспуп вообще должен отсутствовать ???
потомучто диверт раньше. они по диверту ходят. пакет обрабатывается до первого вхождения. после него он из фаера выходит, или рубится - смотря какое вхождение было
поменял местами правила, теперь
00600 0 0 fwd 10.0.1.1,3145 tcp from any to any dst-port 80
00500 83 8664 divert 8668 ip from any to any via xl0
65535 7424 874225 allow ip from any to any
но проблемы это не решило

Добавлено: 2006-06-15 22:28:23
Alex Keda
ну - форвардить в никуда не хочет значит...
и интерфейс укажи, чтоль...

Добавлено: 2006-06-15 22:35:16
kvirtu
lissyara писал(а):ну - форвардить в никуда не хочет значит...
и интерфейс укажи, чтоль...
сделал так, но ......
ipfw add fwd 10.0.1.1,3145 tcp from any to any 80 out via xl0

Добавлено: 2006-06-15 22:45:11
Alex Keda
и? каким номером оно попало? ккак пробуешь-то хоть?
===
давай так. нарисуй картинку, всё-таки. с сервером, интерфейсами, клиентами, и т.п.
дай ipfw show; ifconfig (хоть с одним клиентом)
===
потом будем копать дальше... а то какие-то куски мозаики....

Добавлено: 2006-06-16 11:59:59
kvirtu
посидев, помудрив, сделал так:
ipfw add divert natd all from 192.169.250.2 to any in via rlo
ipfw add divert natd all from 192.169.250.2 to any out via xlo
ipfw add divert natd all from any to any in ia xl0
ipfw add divert natd all from any to any out ia xl0
192.169.250.2 - впн-юзер,
192.169.250.1 - адрес впн-сервера
остался не решеным вопрос как сделать правильно редирект на прокси 192.169.251.1 на порт 3128,
т.к. впн-юзверы получают шлюз по умолчанию 192.169.250.1, и дальше их не пускает ......

Добавлено: 2006-06-16 12:00:47
kvirtu
посидев, помудрив, изменив адреса сделал так:
ipfw add divert natd all from 192.169.250.2 to any in via rlo
ipfw add divert natd all from 192.169.250.2 to any out via xlo
ipfw add divert natd all from any to any in ia xl0
ipfw add divert natd all from any to any out ia xl0
192.169.250.2 - впн-юзер,
192.169.250.1 - адрес впн-сервера
остался не решеным вопрос как сделать правильно редирект на прокси 192.169.251.1 на порт 3128,
т.к. впн-юзверы получают шлюз по умолчанию 192.169.250.1, и дальше их не пускает ......

Добавлено: 2006-06-16 12:05:49
Alex Keda
дальше шлюза не пускает?