URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7151
[ Назад ]

Исходное сообщение
"Взаимодействие Web-сервера и прокси-сервер"

Отправлено seiros , 21-Фев-11 11:17 
Здравствуйте всем!
Возникла такая проблема.
Есть два сервера, один - прокси-сервер он же ДНС; второй Web-сервер.
Веб-сервер поставили недавно и нужно организовать его работу с внешней сети (с интернета проще говоря). Внешний айпи есть только у прокси-сервера, через него все клиенты ходят в интернет. Как я понимаю чтобы сайты с веб-сервера были доступны всем через интернет нужно настроить редирект на прокси-сервере, но не знаю как это сделать.

Может кто-нибудь помочь разобраться как это сделать?
Сорри за возможно не совсем понятное объяснение, я сам - начинающий линуксоид.

на прокси-сервере стоит ASPLinux 12 + Squid 2.6 + Bind9 + iptables
на веб-сервере ASPLinux Server V + Apache 2.2 + iptables


Содержание

Сообщения в этом обсуждении
"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Алексей , 21-Фев-11 11:29 
>[оверквотинг удален]
> Есть два сервера, один - прокси-сервер он же ДНС; второй Web-сервер.
> Веб-сервер поставили недавно и нужно организовать его работу с внешней сети (с
> интернета проще говоря). Внешний айпи есть только у прокси-сервера, через него
> все клиенты ходят в интернет. Как я понимаю чтобы сайты с
> веб-сервера были доступны всем через интернет нужно настроить редирект на прокси-сервере,
> но не знаю как это сделать.
> Может кто-нибудь помочь разобраться как это сделать?
> Сорри за возможно не совсем понятное объяснение, я сам - начинающий линуксоид.
> на прокси-сервере стоит ASPLinux 12 + Squid 2.6 + Bind9 + iptables
> на веб-сервере ASPLinux Server V + Apache 2.2 + iptables

Настройте на ПК, где прокся проброс портов в ЛВС.
Не знаю есть ли в ASP утилитка..

На Фре делается так:

portfwd.cfg

tcp { 80 { => 192.168.0.1:80 } }


Думаю, что все понятно....


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Nimdar , 21-Фев-11 13:21 
>[оверквотинг удален]
> Есть два сервера, один - прокси-сервер он же ДНС; второй Web-сервер.
> Веб-сервер поставили недавно и нужно организовать его работу с внешней сети (с
> интернета проще говоря). Внешний айпи есть только у прокси-сервера, через него
> все клиенты ходят в интернет. Как я понимаю чтобы сайты с
> веб-сервера были доступны всем через интернет нужно настроить редирект на прокси-сервере,
> но не знаю как это сделать.
> Может кто-нибудь помочь разобраться как это сделать?
> Сорри за возможно не совсем понятное объяснение, я сам - начинающий линуксоид.
> на прокси-сервере стоит ASPLinux 12 + Squid 2.6 + Bind9 + iptables
> на веб-сервере ASPLinux Server V + Apache 2.2 + iptables

Вариант 1 - http://wiki.squid-cache.org/ConfigExamples/#Reverse_Proxy_.2...
Вариант 2 - http://www.opennet.me/search.shtml?words=linux+forward+port+...


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено seiros , 21-Фев-11 13:26 
> Вариант 1 - http://wiki.squid-cache.org/ConfigExamples/#Reverse_Proxy_.2...
> Вариант 2 - http://www.opennet.me/search.shtml?words=linux+forward+port+...

Спасибо, почитаю, если не получится отпишусь.


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено arka , 21-Фев-11 14:38 
Может для лучшей расширяемости поставить на фронт-енде nginx?

"Взаимодействие Web-сервера и прокси-сервер"
Отправлено seiros , 02-Мрт-11 07:21 
Извиняюсь что так долго не отписывался, работа плющит как говорится:)
В общем почитал по ссылкам что давал Nimdar, сделал проброс порта, один сайт (основной) получается работает, а вот остальные нет...

к примеру у нас на одном домене работают несколько сайтов.
ssn.kz - основной домен, там все без проблем а вот поддомены не работают:(
на веб-сервере настроены виртуальные хосты, с локальной сети работает а если с внешки то нет:(
Я так понимаю вся проблема в ДНС но сколько не бился решить не получается...

проброс порта делал следующим образом в iptables:

iptables -t nat -A PREROUTING -p tcp -d EXT_IP --dport 80 -j DNAT --to-destination INT_IP:80
iptables -A FORWARD -i eth0 -d INT_IP -p tcp --dport 80 -j ACCEPT

где EXT_IP - внешний айпиадрес, INT_IP - локальный адрес, eth0 - интерфейс смотрящий наружу.


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Nimdar , 02-Мрт-11 11:12 
> Извиняюсь что так долго не отписывался, работа плющит как говорится:)
> В общем почитал по ссылкам что давал Nimdar, сделал проброс порта, один
> сайт (основной) получается работает, а вот остальные нет...
> к примеру у нас на одном домене работают несколько сайтов.
> ssn.kz - основной домен, там все без проблем а вот поддомены не
> работают:(
> на веб-сервере настроены виртуальные хосты, с локальной сети работает а если с
> внешки то нет:(
> Я так понимаю вся проблема в ДНС но сколько не бился решить
> не получается...

Именно так. Твой primary сервер не обрабатывает запросы. У тебя какая-то ошибка в конфиге или файле зон, или какой другой косяк.


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено seiros , 02-Мрт-11 12:46 
> Именно так. Твой primary сервер не обрабатывает запросы. У тебя какая-то ошибка
> в конфиге или файле зон, или какой другой косяк.

вот именно... в файле зоны указываю внешний айпи для поддоменов... но внешний айпи на прокси.... получается ДНС ссылается в никуда? как же тогда правильно настроить ДНС?

P. S.: Вообще эти сайты работают не первый день, просто раньше все висело на одном сервере, сейчас из-за расширения сферы деятельности мощностей одного тока прокси-сервера стало не хватать вот и возникла необходимость перевесить сайты на другой сервер.


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Nimdar , 02-Мрт-11 13:18 
>> Именно так. Твой primary сервер не обрабатывает запросы. У тебя какая-то ошибка
>> в конфиге или файле зон, или какой другой косяк.
> вот именно... в файле зоны указываю внешний айпи для поддоменов... но внешний
> айпи на прокси.... получается ДНС ссылается в никуда? как же тогда
> правильно настроить ДНС?
> P. S.: Вообще эти сайты работают не первый день, просто раньше все
> висело на одном сервере, сейчас из-за расширения сферы деятельности мощностей одного
> тока прокси-сервера стало не хватать вот и возникла необходимость перевесить сайты
> на другой сервер.

Я тебе могу сейчас выложить файл твоей зоны для тебя.
Но лучше почитай документацию.
http://www.opennet.me/docs/RUS/dns1/


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено seiros , 02-Мрт-11 13:43 
> Я тебе могу сейчас выложить файл твоей зоны для тебя.
> Но лучше почитай документацию.
> http://www.opennet.me/docs/RUS/dns1/

Буду признателен если выложишь:)
Документацию я почитаю конечно, но там написано много, читать не один день придется...:(


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Nimdar , 03-Мрт-11 14:12 
>> Я тебе могу сейчас выложить файл твоей зоны для тебя.
>> Но лучше почитай документацию.
>> http://www.opennet.me/docs/RUS/dns1/
> Буду признателен если выложишь:)
> Документацию я почитаю конечно, но там написано много, читать не один день
> придется...:(

Без чтения, ничего не поймёшь, а тупо срисуешь.

Хосты пропиши так же, как прописан www (если они на том же сервере, где и основной сайт):

oo IN CNAME www.ssn.kz.

Обрати внимание на точку в конце - это важно.

Сервер выдаёт REFUSED, что означает, как я уже сказал, ошибку в конфиге или файле зоны (синтаксическую, например).
Иными словами, named у тебя не обрабатывает запросы, хотя процесс и может быть запущен.


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено seiros , 05-Мрт-11 06:57 
> Без чтения, ничего не поймёшь, а тупо срисуешь.

Согласен. Читать буду хотя бы для самообразования.

> oo IN CNAME www.ssn.kz.
> Обрати внимание на точку в конце - это важно.

не, не работает.... буду курить маны....
на крайний случай есть идея повесить внешний айпишник на веб-сервер и сделать проброс 53 порта на прокси (ДНС там). Насколько я понимаю это ведь тоже должно работать.

> Сервер выдаёт REFUSED, что означает, как я уже сказал, ошибку в конфиге
> или файле зоны (синтаксическую, например).
> Иными словами, named у тебя не обрабатывает запросы, хотя процесс и может
> быть запущен.

а вот это любопытно... обычно чтобы не прерывать работу сайтов я возвращаю старые настройки и сайты продолжают прекрасно работать со старого сервера. То есть у тебя не должно было быть ошибок:)


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Nimdar , 05-Мрт-11 10:18 
>> Без чтения, ничего не поймёшь, а тупо срисуешь.
> Согласен. Читать буду хотя бы для самообразования.
>> oo IN CNAME www.ssn.kz.
>> Обрати внимание на точку в конце - это важно.
> не, не работает.... буду курить маны....
> на крайний случай есть идея повесить внешний айпишник на веб-сервер и сделать
> проброс 53 порта на прокси (ДНС там). Насколько я понимаю это
> ведь тоже должно работать.

Это ничего не изменит - у тебя не работает днс, пойми ты наконец. Вообще.
Сейчас всё резолвит релкомовский сервер. И когда на нём протухнут записи - что будешь делать тогда?

>> Сервер выдаёт REFUSED, что означает, как я уже сказал, ошибку в конфиге
>> или файле зоны (синтаксическую, например).
>> Иными словами, named у тебя не обрабатывает запросы, хотя процесс и может
>> быть запущен.
> а вот это любопытно... обычно чтобы не прерывать работу сайтов я возвращаю
> старые настройки и сайты продолжают прекрасно работать со старого сервера. То
> есть у тебя не должно было быть ошибок:)

Это не у меня. Это у всех.
Host ssn.kz not found: 5(REFUSED)

host.ssn.kz [80.241.1.3] returned a non-authoritative response in 219 ms:
Query refused

http://network-tools.com/nslook/
http://www.kloth.net/services/nslookup.php
domain - свой домен
server - свой днс сервер.


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Seiros , 15-Мрт-11 13:37 
> Это ничего не изменит - у тебя не работает днс, пойми ты
> наконец. Вообще.
> Сейчас всё резолвит релкомовский сервер. И когда на нём протухнут записи -
> что будешь делать тогда?

ДНС работал просто все дело в настройке. он обрабатывал только внутренние адреса городской сети. (а может и правда не работал, у меня уже голова кругом чем больше в нем копаюсь тем меньше всего понимаю).

в общем спасибо Nimdar'у за советы. Благодаря им и мануалам более менее разобрался. Щас все работает (проверенно с внешки).

Другой вопрос: кто-нибудь знает как правильно применять функцию view для описания зон ДНС? По ману делаю не работает... (просто хочется добиться правильной работы ДНСов)


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Nimdar , 15-Мрт-11 17:34 
> Другой вопрос: кто-нибудь знает как правильно применять функцию view для описания зон
> ДНС? По ману делаю не работает... (просто хочется добиться правильной работы
> ДНСов)

Значит что-то делаешь неправильно. Покажи.


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Seiros , 17-Мрт-11 11:39 
> Значит что-то делаешь неправильно. Покажи.

вот конфиг намеда
options {
    directory "/var/named/";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";

    // query-source address * port 53;
    datasize 200M;
    version "xxx";
    forward first;
    forwarders {80.241.0.65; 80.241.0.81; 80.241.0.70; };
};

controls {inet 127.0.0.1 allow {localhost;} keys {rndckey;};};
include "/etc/rndc.key";

view "internal" {
match-clients {192.168.0.0/16;};
recursion yes;
zone "ssn.kz" {
    type master;
    notify no;
    file "local-ssn.kz";
};
};

view "external" {
match-clients {any;};
recursion no;
zone "." IN {
    type hint;
    file "named.ca";
};
        
zone "0.0.127.in-addr.arpa" {
    type master;
    file "pz-127.0.0";
};

zone "0.168.192.in-addr.arpa" {
    type master;
    file "pz-0.168.192";
    notify yes;
};

zone "ssn.kz" {
    type master;
    notify no;
    file "pz-ssn.kz";
};

zone "1.241.80.in-addr.arpa" {
    type master;
    file "pz-80.241.1";
};
};


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Nimdar , 17-Мрт-11 13:10 
>[оверквотинг удален]
> };
> zone "0.0.127.in-addr.arpa" {
>     type master;
>     file "pz-127.0.0";
> };
> zone "0.168.192.in-addr.arpa" {
>     type master;
>     file "pz-0.168.192";
>     notify yes;
> };

Зачем это здесь? В internal.

> zone "ssn.kz" {
>     type master;
>     notify no;
>     file "pz-ssn.kz";
> };
> zone "1.241.80.in-addr.arpa" {
>     type master;
>     file "pz-80.241.1";
> };
> };

Честно говоря, не нашёл косяков. Что именно не работает?


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Seiros , 18-Мрт-11 10:27 
> Зачем это здесь? В internal.

Чесно говоря сам думаю что не нужно:) просто я описание всех зон заключил в опцию виев и все.

> Честно говоря, не нашёл косяков. Что именно не работает?

Не работают сайты из локальной сети. С внешки все работает замечательно а с локальной сети с помощью такой конструкции не работают (ДНС-кэш на компах чистил). Поэтому пришлось включить локальные айпишники в запить самой зоны ssn.kz (понимаю что так делать нельзя)



"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Nimdar , 18-Мрт-11 11:16 
>> Зачем это здесь? В internal.
> Чесно говоря сам думаю что не нужно:) просто я описание всех зон
> заключил в опцию виев и все.
>> Честно говоря, не нашёл косяков. Что именно не работает?
> Не работают сайты из локальной сети. С внешки все работает замечательно а
> с локальной сети с помощью такой конструкции не работают (ДНС-кэш на
> компах чистил). Поэтому пришлось включить локальные айпишники в запить самой зоны
> ssn.kz (понимаю что так делать нельзя)

Не работают в каком смысле? Вообще не получают адрес, или получают адрес, но сайты не открываются?
Если первое, то это говорит о том, что запросы к DNS серверу, скорее всего, приходят не на внутренний - 192.168, а на внешний интерфейс. Не кривой ли там нат, что прописано в resolv.conf клиентов (должен стоять адрес 192.168.чего-то.там), что прописано в resolv.conf сервера (должно быть 127.0.0.1). Клиенты по dhcp получают адрес?
В общем, tcpdump на внутреннем и внешнем интерфейсах сервера + логи named-а.
Если всё правильно, а ДНС не хочет резолвить, то несмотря на то, что документация и говорит, что:
Forwarding occurs only on those queries for which the server is not authoritative and does not have the answer in its cache.
тем не менее, попробуй убрать форвард.

Если второе, то в локалку ты должен выдавать адрес именно веб-сервера, а не прокси.


"Взаимодействие Web-сервера и прокси-сервер"
Отправлено Seiros , 30-Мрт-11 16:08 
Все. разобрался. Все дело в конфиге намеда. там была ошибка в строке
match-clients {192.168.0.0/16;};

надо было
match-clients {192.168.0.0/16; 127.0.0.1; };

теперь все работает на Ура:)

Спасибо большое за советы. без них бы фиг разобрался:)

Думаю тему можно закрыть.