перенаправление пакетов на другой хост

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

antey86
Сообщения: 8

перенаправление пакетов на другой хост

Сообщение antey86 »

ситуация.
есть шлюз, комп(192.168.1.1), роутер, ЛВС

________________\ | /
______________- LAN -
_________________ |
инет - шлюз - роутер - комп

нужно чтобы пакеты, приходящие определенных хостов из ЛВС на шлюз с портом назнач 80 перенаправлялись на порт 3128 SQUID'a компа.
что-то вроде:
iptables -t nat -I PREROUTING 1 -p tcp -s 192.168.250.123 -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.1:3128
но чтобы ИП назначения оставался, т.е. отдельные компы будут выходить в инет через проксю, кот. на 3128 порту компа.
можно прописать проксю в браузерах на компах юзеров, и тогда не надо такого гемора, но нужна прозрачная прокся.
ставить SQUID на шлюзе тоже не вариант. (мы не ищем легких путей :((( )
подскажите, куда смотреть, плз.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: перенаправление пакетов на другой хост

Сообщение pelmen »

Подсказываю: при использовании прокси ИП назначения не нужен, т.к. доменное имя удаленного сайта хранится в самом пакете (это другой уровень модели ОСИ, навереное :)), а его ИП прокси-сервер сам узнает с помощью своих ДНС. Таким образом, меняй-не меняй ip-destination, squid все равно его будет потом узнавать.
Спасибо сказали:
antey86
Сообщения: 8

Re: перенаправление пакетов на другой хост

Сообщение antey86 »

нифига :( указал ДНСы в конфиге
dns_nameservers ns1 ns2
на шлюзе прописал
iptables -t nat -I PREROUTING 1 -p tcp -s 192.168.250.123 -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.1:3128

пакеты на порт приходят:
tcpdump -vvvn src host 192.168.250.123 and dst port 3128
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 68 bytes
20:35:57.927133 IP (tos 0x0, ttl 61, id 4191, offset 0, flags [DF], proto TCP (6), length 52) 192.168.250.123.50536 > 192.168.1.1.3128: S 3694029352:3694029352(0) win 5840 <mss 1460,[|tcp]>
20:35:57.927382 IP (tos 0x20, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 40) 192.168.250.123.50536 > 192.168.1.1.3128: R, cksum 0x829d (correct), 3694029353:3694029353(0) win 0
20:36:03.651545 IP (tos 0x0, ttl 61, id 16748, offset 0, flags [DF], proto TCP (6), length 52) 192.168.250.123.50537 > 192.168.1.1.3128: S 3708799418:3708799418(0) win 5840 <mss 1460,[|tcp]>
20:36:03.651795 IP (tos 0x20, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 40) 192.168.250.123.50537 > 192.168.1.1.3128: R, cksum 0x2229 (correct), 3708799419:3708799419(0) win 0
20:36:06.651037 IP (tos 0x0, ttl 61, id 16749, offset 0, flags [DF], proto TCP (6), length 52) 192.168.250.123.50537 > 192.168.1.1.3128: S 3708799418:3708799418(0) win 5840 <mss 1460,[|tcp]>
20:36:06.651285 IP (tos 0x20, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 40) 192.168.250.123.50537 > 192.168.1.1.3128: R, cksum 0x2229 (correct), 3708799419:3708799419(0) win 0
^C
6 packets captured
6 packets received by filter
0 packets dropped by kernel

инета нет, прокси 100% рабочий.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: перенаправление пакетов на другой хост

Сообщение arkhnchul »

так.
у вас есть отдельные машины - прокси и роутер, и надо завернуть узиров через проксю, так?
если так, то смотрите что у вас там происходит: запрос приходит на роутер. Он редиректит его на проксю. Прокся обрабатывает запрос, делает там что надо и посылает ответ. А теперь: куда она его посылает? При DNAT адрес отправителя не меняется, так что машина со сквидом справедливо считает адрезом назначения то комп, с которого запрос и шел. А теперь ставим себя на место той самой машинки, которая хотела в инет. Просила она у роутера, ответ пришел от прокси. Прокси машинка не трогала, знать ничего о нем не знает, так что оный ответ идет лесом.
hint: MASQUERADE на роутере.
Losing is fun!
Спасибо сказали:
antey86
Сообщения: 8

Re: перенаправление пакетов на другой хост

Сообщение antey86 »

роутер - cisco catalyst :)
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: перенаправление пакетов на другой хост

Сообщение arkhnchul »

что-то вроде:
iptables -t nat -I PREROUTING 1 -p tcp -s 192.168.250.123 -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.1:3128

вот это - циска?)
Losing is fun!
Спасибо сказали:
antey86
Сообщения: 8

Re: перенаправление пакетов на другой хост

Сообщение antey86 »

это я на шлюзе пишу
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: перенаправление пакетов на другой хост

Сообщение arkhnchul »

ну на шлюзе и маскарад сделайте.
ЗЫ шлюз==роутер)
Losing is fun!
Спасибо сказали:
ALexhha
Сообщения: 109

Re: перенаправление пакетов на другой хост

Сообщение ALexhha »

роутер - cisco catalyst

каталист это коммутатор, а не маршрутизатор. Разницу понимаем?
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: перенаправление пакетов на другой хост

Сообщение skor »

ALexhha писал(а):
24.11.2009 13:48
каталист это коммутатор, а не маршрутизатор. Разницу понимаем?
Справледливости ради, кталисты 3550 (3560 и тд) коммутаторы 3-го уровня - тоесть маршрутизаторы (FullView "на грудь" конечно-же не примет и NAT не сделает, но вот несколько тысяч маршрутов пережует без проблем).
Так что не надо быть столь категоричным.
Спасибо сказали:
ALexhha
Сообщения: 109

Re: перенаправление пакетов на другой хост

Сообщение ALexhha »

Ну да, но все же коммутатор :)

А ТС неплохо бы указать, что за циска используется.
Спасибо сказали: