The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Что делает прокси и DNAT?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Что делает прокси и DNAT?" 
Сообщение от letopisec Искать по авторуВ закладки(ok) on 02-Окт-05, 14:17  (MSK)
Здравствуйте. Примерно с месяц назад я заставил внутренние машины прозрачно (насильно :)) ходить через внешний прокси сервер (т.е. внешний по отношению к шлюзу, через который ходят внутренние машины). Остановился на такой схеме: запустил transproxy, которая слушала 100 порт, и [как я раньше думал] заворачивала все пришедшие на него пакеты в обёртку пригодную для прокси, в которой адрес назначения = адресу прокси. Роль этой обёртки - доставить пакет до прокси. Когда пакет доходит до прокси, она выбрасывает обёртку и посылает оригинальный пакет. Например: посылаем пакет из внутренней сети (dest=ip_google.ru:80). Iptables на шлюзе редиректит с 80 на 100 порт. Transproxy ловит пакет на 100 порту, заворачивает его в обёртку (dest=ip_ext_proxy:80(dest=ip_google.ru:80)). Пакет без проблем доходит до прокси, которая снимает обёртку и посылает (dest=ip_google.ru:80). [/как я раньше думал]. А вчера пришлось перенастроить фаерволл, и с удивлением обнаружил что если использовать такие правила дла внутренних машин:

iptables -t nat -A PREROUTING -s 192.168.0.5\ -p tcp -m multiport --dports 80\
-j DNAT --to-destination $PROX_IP

iptables -t nat -A POSTROUTING -s 192.168.0.5 -j SNAT --to-source $EXT_IP

где $PROX_IP, и $EXT_IP, это ip адреса внешней прокси и ip сетевухи в мир на моём шлюзе соответственно, то всё замечательно ходит через внешнюю проксю, даже если в броузере, не выставлять галочку "использовать прокси сервер 192.168.0.1:80", и не запускать transproxy. Ну и соответственно возникает вопрос: Как это может работать? Я думал что DNAT - это когда мы посылаем пакет например dest=ip_google.ru, а DNAT меняет dest=на_что_нибудь_другое. Если так, то с вышеуказанными првилами iptables, должно происходить вот что: dest=ip_google_ru меняется на $PROX_IP пакет доходит до прокси, а она приняв его, снимает обёртку(которая на самом деле не обёртка), и не знает что с ним делать. Информация о том что пакет должен дойти до google.ru осталась на машине которая выполняет DNAT. => схема работать не должна, но работает.

Пожалуйста проясните ситуацию, а то каша в голове.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Что делает прокси и DNAT?" 
Сообщение от Halyva emailИскать по авторуВ закладки(??) on 05-Окт-05, 16:20  (MSK)
что то гонево какое то у тя. Не могет ето работать. ТОЧНО!!!!
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру