NAT + перенаправление пакетов на прокси провайдера

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

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

lystor
Сообщения: 38

NAT + перенаправление пакетов на прокси провайдера

Сообщение lystor »

Можно ли сделать NAT для внутренней сети с перенаправлением пакетов на прокси провайдера (допустим провайдер интернет раздает только через прокси) без установки прокси на пограничном маршрутизаторе и прописывания настроек прокси на клиентах? Если можно - то как это сделать?

Пример параметров:
Сеть 192.168.0.0/24

Внешний интерфейс - eth0
ip eth0 - 192.168.1.1

Внутренний интерфейс - eth1
ip eth1 - 192.168.0.254

ip прокси провайдера - 192.168.1.254
Порт прокси провайдера - 3128
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: NAT + перенаправление пакетов на прокси провайдера

Сообщение sash-kan »

по идее, если на маршрутизаторе никто не слушает порт, то пакеты пойдут по дефолту, т.е. провайдеру (если у тебя так настроено).
а само перенаправление можно задать, например, так:
sudo /sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
lystor
Сообщения: 38

Re: NAT + перенаправление пакетов на прокси провайдера

Сообщение lystor »

to Sash Kan
Ваш вариант не работал

Сделал так:
iptables -t nat -A PREROUTING -i eth1 -s 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.1.254:3128

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 192.168.1.1

P.S. Спасибо minstrell
Спасибо сказали:
Badfile
Сообщения: 18

Re: NAT + перенаправление пакетов на прокси провайдера

Сообщение Badfile »

(Sash Kan @ Пятница, 15 Июля 2005, 16:16) писал(а):по идее, если на маршрутизаторе никто не слушает порт, то пакеты пойдут по дефолту, т.е. провайдеру (если у тебя так настроено).
а само перенаправление можно задать, например, так:
sudo /sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

Кстати, дейтвие REDIRECT перенаправляет пакеты на другой порт ТОЙ ЖЕ САМОЙ машины. Так что не удивительно, что не сработало.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: NAT + перенаправление пакетов на прокси провайдера

Сообщение sash-kan »

Для Badfile:
о том и речь была:
по идее, если на маршрутизаторе никто не слушает порт, то пакеты пойдут по дефолту

значит, идея была не верна (:

Sash Kan добавил в 22.07.2005 18:39

удивительно другое:
iptables -t nat -A PREROUTING -i eth1 -s 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.1.254:3128

неужели запрос к некому внешнему http-серверу на порт 8080 после обработки такой инструкцией _действительно_ отправится в конечном итоге на указанный порт? сдается мне, прокси-сервером провайдера будет инициировано соединение на 80-м порту. или опять неверное предположение? (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
lystor
Сообщения: 38

Re: NAT + перенаправление пакетов на прокси провайдера

Сообщение lystor »

> прокси-сервером провайдера будет инициировано соединение на 80-м порту. или опять неверное предположение? (:
Опять неверно.
Проверял на своем прокси через tcpdump - все на 3128 как задумывалось перенаправляется.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: NAT + перенаправление пакетов на прокси провайдера

Сообщение sash-kan »

Для lystor:
видимо, я неправильно выражаюсь, или мы друг друга не поняли (:
объясняю.
есть некий host.com
на нем запущен httpd, слушающий порты 80 и (например) 8080 (не такая уж редкая ситуация, правда реального примера привести не могу - искать надо), и, в зависимости от номера порта, указанного в tcp-заголовке, выдающий ту или иную страничку.
сдается мне, что вышеприведенное правило в конечном итоге завернет все обращения к host.com:8080 на host.com:80.
вот об этом и только об этом я и написал.

Sash Kan добавил в 23.07.2005 11:40

вот и пример такого хоста, слушающего на портах 80 и 8080
http://linux.bkbits.net/
http://linux.bkbits.net:8080/
Для lystor:
а теперь предлагаю поставить то самое правило, заворачивающее и 80 и 8080 порты на порт http-прокси.
и убедиться, что будет отображаться в обоих случаях одна и та же страничка.
p.s. экспериментировать с iptables на доступном мне роутере желания нет - это роутер организации, поэтому поверю на слово, каков бы ни был результат эксперимента (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Badfile
Сообщения: 18

Re: NAT + перенаправление пакетов на прокси провайдера

Сообщение Badfile »

а теперь предлагаю поставить то самое правило, заворачивающее и 80 и 8080 порты на порт http-прокси.
и убедиться, что будет отображаться в обоих случаях одна и та же страничка.


Убедился, черт возьми! Точно ведь все заворачивает на 80й порт. Если прописывать редирект, то выдает одну и ту же страничку. Спасибо за науку. После отпуска подумаю... :thumbsup:
Спасибо сказали: