Здравствуйте всем!
Возникла такая проблема.
Есть два сервера, один - прокси-сервер он же ДНС; второй Web-сервер.
Веб-сервер поставили недавно и нужно организовать его работу с внешней сети (с интернета проще говоря). Внешний айпи есть только у прокси-сервера, через него все клиенты ходят в интернет. Как я понимаю чтобы сайты с веб-сервера были доступны всем через интернет нужно настроить редирект на прокси-сервере, но не знаю как это сделать.Может кто-нибудь помочь разобраться как это сделать?
Сорри за возможно не совсем понятное объяснение, я сам - начинающий линуксоид.на прокси-сервере стоит ASPLinux 12 + Squid 2.6 + Bind9 + iptables
на веб-сервере ASPLinux Server V + Apache 2.2 + iptables
>[оверквотинг удален]
> Есть два сервера, один - прокси-сервер он же ДНС; второй 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-сервер.
> Веб-сервер поставили недавно и нужно организовать его работу с внешней сети (с
> интернета проще говоря). Внешний айпи есть только у прокси-сервера, через него
> все клиенты ходят в интернет. Как я понимаю чтобы сайты с
> веб-сервера были доступны всем через интернет нужно настроить редирект на прокси-сервере,
> но не знаю как это сделать.
> Может кто-нибудь помочь разобраться как это сделать?
> Сорри за возможно не совсем понятное объяснение, я сам - начинающий линуксоид.
> на прокси-сервере стоит 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+...
> Вариант 1 - http://wiki.squid-cache.org/ConfigExamples/#Reverse_Proxy_.2...
> Вариант 2 - http://www.opennet.me/search.shtml?words=linux+forward+port+...Спасибо, почитаю, если не получится отпишусь.
Может для лучшей расширяемости поставить на фронт-енде nginx?
Извиняюсь что так долго не отписывался, работа плющит как говорится:)
В общем почитал по ссылкам что давал 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 - интерфейс смотрящий наружу.
> Извиняюсь что так долго не отписывался, работа плющит как говорится:)
> В общем почитал по ссылкам что давал Nimdar, сделал проброс порта, один
> сайт (основной) получается работает, а вот остальные нет...
> к примеру у нас на одном домене работают несколько сайтов.
> ssn.kz - основной домен, там все без проблем а вот поддомены не
> работают:(
> на веб-сервере настроены виртуальные хосты, с локальной сети работает а если с
> внешки то нет:(
> Я так понимаю вся проблема в ДНС но сколько не бился решить
> не получается...Именно так. Твой primary сервер не обрабатывает запросы. У тебя какая-то ошибка в конфиге или файле зон, или какой другой косяк.
> Именно так. Твой primary сервер не обрабатывает запросы. У тебя какая-то ошибка
> в конфиге или файле зон, или какой другой косяк.вот именно... в файле зоны указываю внешний айпи для поддоменов... но внешний айпи на прокси.... получается ДНС ссылается в никуда? как же тогда правильно настроить ДНС?
P. S.: Вообще эти сайты работают не первый день, просто раньше все висело на одном сервере, сейчас из-за расширения сферы деятельности мощностей одного тока прокси-сервера стало не хватать вот и возникла необходимость перевесить сайты на другой сервер.
>> Именно так. Твой primary сервер не обрабатывает запросы. У тебя какая-то ошибка
>> в конфиге или файле зон, или какой другой косяк.
> вот именно... в файле зоны указываю внешний айпи для поддоменов... но внешний
> айпи на прокси.... получается ДНС ссылается в никуда? как же тогда
> правильно настроить ДНС?
> P. S.: Вообще эти сайты работают не первый день, просто раньше все
> висело на одном сервере, сейчас из-за расширения сферы деятельности мощностей одного
> тока прокси-сервера стало не хватать вот и возникла необходимость перевесить сайты
> на другой сервер.Я тебе могу сейчас выложить файл твоей зоны для тебя.
Но лучше почитай документацию.
http://www.opennet.me/docs/RUS/dns1/
> Я тебе могу сейчас выложить файл твоей зоны для тебя.
> Но лучше почитай документацию.
> http://www.opennet.me/docs/RUS/dns1/Буду признателен если выложишь:)
Документацию я почитаю конечно, но там написано много, читать не один день придется...:(
>> Я тебе могу сейчас выложить файл твоей зоны для тебя.
>> Но лучше почитай документацию.
>> http://www.opennet.me/docs/RUS/dns1/
> Буду признателен если выложишь:)
> Документацию я почитаю конечно, но там написано много, читать не один день
> придется...:(Без чтения, ничего не поймёшь, а тупо срисуешь.
Хосты пропиши так же, как прописан www (если они на том же сервере, где и основной сайт):
oo IN CNAME www.ssn.kz.
Обрати внимание на точку в конце - это важно.
Сервер выдаёт REFUSED, что означает, как я уже сказал, ошибку в конфиге или файле зоны (синтаксическую, например).
Иными словами, named у тебя не обрабатывает запросы, хотя процесс и может быть запущен.
> Без чтения, ничего не поймёшь, а тупо срисуешь.Согласен. Читать буду хотя бы для самообразования.
> oo IN CNAME www.ssn.kz.
> Обрати внимание на точку в конце - это важно.не, не работает.... буду курить маны....
на крайний случай есть идея повесить внешний айпишник на веб-сервер и сделать проброс 53 порта на прокси (ДНС там). Насколько я понимаю это ведь тоже должно работать.> Сервер выдаёт REFUSED, что означает, как я уже сказал, ошибку в конфиге
> или файле зоны (синтаксическую, например).
> Иными словами, named у тебя не обрабатывает запросы, хотя процесс и может
> быть запущен.а вот это любопытно... обычно чтобы не прерывать работу сайтов я возвращаю старые настройки и сайты продолжают прекрасно работать со старого сервера. То есть у тебя не должно было быть ошибок:)
>> Без чтения, ничего не поймёшь, а тупо срисуешь.
> Согласен. Читать буду хотя бы для самообразования.
>> 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 refusedhttp://network-tools.com/nslook/
http://www.kloth.net/services/nslookup.php
domain - свой домен
server - свой днс сервер.
> Это ничего не изменит - у тебя не работает днс, пойми ты
> наконец. Вообще.
> Сейчас всё резолвит релкомовский сервер. И когда на нём протухнут записи -
> что будешь делать тогда?ДНС работал просто все дело в настройке. он обрабатывал только внутренние адреса городской сети. (а может и правда не работал, у меня уже голова кругом чем больше в нем копаюсь тем меньше всего понимаю).
в общем спасибо Nimdar'у за советы. Благодаря им и мануалам более менее разобрался. Щас все работает (проверенно с внешки).
Другой вопрос: кто-нибудь знает как правильно применять функцию view для описания зон ДНС? По ману делаю не работает... (просто хочется добиться правильной работы ДНСов)
> Другой вопрос: кто-нибудь знает как правильно применять функцию view для описания зон
> ДНС? По ману делаю не работает... (просто хочется добиться правильной работы
> ДНСов)Значит что-то делаешь неправильно. Покажи.
> Значит что-то делаешь неправильно. Покажи.вот конфиг намеда
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";
};
};
>[оверквотинг удален]
> };
> 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";
> };
> };Честно говоря, не нашёл косяков. Что именно не работает?
> Зачем это здесь? В internal.Чесно говоря сам думаю что не нужно:) просто я описание всех зон заключил в опцию виев и все.
> Честно говоря, не нашёл косяков. Что именно не работает?
Не работают сайты из локальной сети. С внешки все работает замечательно а с локальной сети с помощью такой конструкции не работают (ДНС-кэш на компах чистил). Поэтому пришлось включить локальные айпишники в запить самой зоны ssn.kz (понимаю что так делать нельзя)
>> Зачем это здесь? В 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.
тем не менее, попробуй убрать форвард.Если второе, то в локалку ты должен выдавать адрес именно веб-сервера, а не прокси.
Все. разобрался. Все дело в конфиге намеда. там была ошибка в строке
match-clients {192.168.0.0/16;};надо было
match-clients {192.168.0.0/16; 127.0.0.1; };теперь все работает на Ура:)
Спасибо большое за советы. без них бы фиг разобрался:)
Думаю тему можно закрыть.