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

DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-27 8:34:41
test_terr
Суть: Клиент сначала обращается к нашему DNS-серверу. С помощью DNS-сервера (с ip 1.2.3.4) вместо адреса web-сервера 88.777.666.555, мы клиенту отдаем 1.2.3.4, тогда на ДНС-сервере с ip 1.2.3.4 (например с помощью pf, natd или еще как то) мы делаем редирект или что-то другое, чтобы переходить на 88.777.666.555 и, наверное, nat для правильного хождения ответов и тогда владелец сервера 1.2.3.4 оплачивает весь трафик.

Для чего нужно:
web-сервер - это интернет магазин, который находится вне нашего города. Трафик для доступа к этому сайту расходуется внешний, а люди, находясь, например, на работе не могут пользоваться этим сайтом, т.к. вся внешка на предприятиях, обычно заблокирована (весь городской трафик не считается в нашем городе внешкой и используется без ограничений).
Поэтому необходимо, сделать так, чтобы клиенты, обращаясь на сайт по имени gorod.magazin.ru , получали вместо внешнего ip-адреса адрес самого сервера ДНС (это наш ДНС сервер, который резолвит gorod.magazin.ru). Как раз это не прблема - поменять ip-адрес в нужной зоне.
Далее уже сам сервер ДНС от своего имени должен обращаться к сайту интернет магазина, передавал web-запрос на сайт интернет магазина, принимал от него ответ и возвращал клиенту.
Помогите, пожалуйста, настроить (с примерами). Спасибо.

Re: DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-27 10:44:21
diz
АААА! С утра мозг сломал!!!)

Re: DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-27 10:54:54
Gamerman
Проксю поставте и заворачивайте на нее все, что должно идти на инет-магазин.

Re: DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-27 11:14:23
Miguel
это, наверное, можно сделать с помощью проксирующего web сервера. кусок конфига nginx:

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

server {
    server_name primer.ru;

    location / {
        proxy_pass        http://ya.ru:80;
        proxy_set_header  Host       $host;
        proxy_set_header  X-Real-IP  $remote_addr;

    }

}
как-то так. ну, и , скорее всего, правила реврайтов надо писать, чтоб все корректно проксировалось, а то так-то получается скорее редирект, а это вас не устроит.

Re: DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-27 11:32:03
Гость
Я уже пробовал настроить сквид на ДНС-сервере (но не получилось). Сквид не работал - файл access.log пустой. Как только непосредственно в IE клиента прописываешь адрес прокси сервера, то начинает работать.
В стандартный squid.conf добавлял следующее:

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

http_port 80 accel defaultsite=gorod.magazin.ru vhost 
cache_peer 88.777.666.555 parent 80 0 no-query originserver name=myAccel 
 
acl our_sites dstdomain gorod.magazin.ru 
http_access allow our_sites 
cache_peer_access myAccel allow our_sites 
cache_peer_access myAccel deny all 
 
Может что еще нужно было сделать ? (думал. что pf фильтр что - то блокирует, пробовал отключать - не помогало)

Re: DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-28 22:35:25
diz
Добавте в конфиг сквида http_port 3128 transparent и заверните весь http трафик на него. Вот http://www.lissyara.su/archive/squid_old/ пригодится

Re: DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-29 5:12:52
ADRE
ёбановрот, просто используйте для внутригородского трафика либо субдомен либо другой домен, и не надо геморой разводить...

Re: DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-29 12:55:06
snorlov
Я вообще не понял задачи, ведь можно посчитать трафик на этот магазин и выставить счет владельцу и не считать этот трафик у клиентов...

Re: DNS-сервер в роли шлюза NAT...

Добавлено: 2011-09-29 18:40:28
suspender
Miguel писал(а):

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

server {
    server_name primer.ru;

    location / {
        proxy_pass        http://ya.ru:80;
        proxy_set_header  Host       $host;
        proxy_set_header  X-Real-IP  $remote_addr;

    }

}
как-то так. ну, и , скорее всего, правила реврайтов надо писать, чтоб все корректно проксировалось, а то так-то получается скорее редирект, а это вас не устроит.
Да не, итак должно нормально проксировацца. У меня вообще тупо директивой

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

server {
                listen 80;
                server_name primer.ru;

                location / {
                        proxy_pass http://10.0.1.15;
                }
        }
Извне запросы отдаются на другой нгынкс + uwsgi (ага, жанго) в локалку. Соответственно, если бы был тупо редирект - то извне до машины с ip 10.0.1.15 достучацца не удалось бы, а так все работает нормально.
Ну и соответственно топик стартеру тоже должно подойти.