Добрый день! Продолжаю свое изучение freebsd как шлюза. Фряха у меня стоит на виртуальной машине в hyper-v, настроена шлюзом и раздает интернет, на ней вертится почтовый сервер. Фряха имеет белый ip, к которому привязано некоторое доменное имя qwerty.ru (собственное и почтовик имеет ящик - 123@qwerty.ru). Хочу реализовать следующую схему - поднимается вторая виртуалка с вебсервером (дебиан\убунту), имеющая выход только в локалку, туда ложится сайт, фряха же настраивается таким образом, что перебрасывает посетителей на вебсервер. Вопрос - как это грамотнее сделать? Пробрасывать 80й порт на линуксовый вебсервер? А если там будет 2 сайта, апач сам разрулит, куда пустить посетителя?
Извините, если немного путано....
> Пробрасывать 80й порт на линуксовый вебсервер?
> А если там будет 2 сайта, апач сам разрулит, куда пустить посетителя?Файрволл (проброс портов) работает на пакетном уровне протокола TCP, не влезая в данные пакета. Какой сайт запрошен - определяется заголовком Host: в данных запроса.
Т.е. Если внутренний веб-сервер один, то тупо пробрасываем 80 порт, все запросы пойдут на веб-сервер и он всё разрулит сам.
Если внешний шлюз один, а веб-серверов несколько, то, соответственно, шлюз должен уметь работать на уровне данных пакета и перенаправлять запрос на соответствующий веб-сервер в соответствии с какими-то правилами.Проще всего в этом случае поставить проксирующий веб-сервер типа nginx на шлюз, т.е. обрабатывать пакеты приложением. На уровне ядра анализировать пакеты и потом перенаправлять "в разные пробросы" тоже можно, но в массы такие решения не ушли (теоретическое рассуждение).
Обработка на уровне приложения дает определенные плюсы, типа полной буферизации ответа и т п и не особо проигрышна по сравнению обработкой трансляции порта.
> Если внешний шлюз один, а веб-серверов несколько, то, соответственно, шлюз должен уметь
> работать на уровне данных пакета и перенаправлять запрос на соответствующий веб-сервер
> в соответствии с какими-то правилами.
> Проще всего в этом случае поставить проксирующий веб-сервер типа nginx на шлюз,
> т.е. обрабатывать пакеты приложением. На уровне ядра анализировать пакеты и потом
> перенаправлять "в разные пробросы" тоже можно, но в массы такие решения
> не ушли (теоретическое рассуждение).
> Обработка на уровне приложения дает определенные плюсы, типа полной буферизации ответа
> и т п и не особо проигрышна по сравнению обработкой трансляции
> порта.1. а если вебсервер один, а на нем несколько виртуальных хостов? получается пробрасываем 80й порт и апач в сответствии с хост разрулит какой сайт запрошен?
2. если несколько вебсерверов. при помощи squid на шлюзе можно осуществить описываемую вами схему? (сквид уже стоит и фильтрует доступ к сайтам из локалки)
> 1. а если вебсервер один, а на нем несколько виртуальных хостов? получается
> пробрасываем 80й порт и апач в сответствии с хост разрулит какой
> сайт запрошен?Перечитайте ответ выше.
Попробуйте читать форум, а не только писать в него.
> 2. если несколько вебсерверов. при помощи squid на шлюзе можно осуществить описываемую
> вами схему? (сквид уже стоит и фильтрует доступ к сайтам из
> локалки)см. http://www.opennet.me/openforum/vsluhforumID12/6882.html
Попробуйте читать форум, а не только писать в него.
Универсальный ответ на все вопросы: Попробуйте _читать_. Форумы, официальные сайты проектов. Там есть частозадаваемые вопросы, примеры конфигураций, документация, и т п.
>[оверквотинг удален]
>> сайт запрошен?
> Перечитайте ответ выше.
> Попробуйте читать форум, а не только писать в него.
>> 2. если несколько вебсерверов. при помощи squid на шлюзе можно осуществить описываемую
>> вами схему? (сквид уже стоит и фильтрует доступ к сайтам из
>> локалки)
> см. http://www.opennet.me/openforum/vsluhforumID12/6882.html
> Попробуйте читать форум, а не только писать в него.
> Универсальный ответ на все вопросы: Попробуйте _читать_. Форумы, официальные сайты проектов.
> Там есть частозадаваемые вопросы, примеры конфигураций, документация, и т п.поправка: читать мало, еще нужно думать и понимать. :)
> 1. а если вебсервер один, а на нем несколько виртуальных хостов? получается
> пробрасываем 80й порт и апач в сответствии с хост разрулит какой
> сайт запрошен?Да
> 2. если несколько вебсерверов. при помощи squid на шлюзе можно осуществить описываемую
> вами схему? (сквид уже стоит и фильтрует доступ к сайтам из
> локалки)Можно например сделлать доступ к нескольким веб серверам, но в url надо будет писать напимер
http://host:81 http://host:82 http://host:83И эти порты 81 82 83 пробрасывать в локалку на слушающие порты вебсерверов. Сквидом это наврядли можно сделать, для Win есть Winroute с триалом.
> Добрый день! Продолжаю свое изучение freebsd как шлюза. Фряха у меня стоит
> на виртуальной машине в hyper-v, настроена шлюзом и раздает интернет, на
> ней вертится почтовый сервер. Фряха имеет белый ip, к которому привязано
> некоторое доменное имя qwerty.ru (собственное и почтовик имеет ящик - 123@qwerty.ru).
> Хочу реализовать следующую схему - поднимается вторая виртуалка с вебсервером (дебиан\убунту),
> имеющая выход только в локалку, туда ложится сайт, фряха же настраивается
> таким образом, что перебрасывает посетителей на вебсервер. Вопрос - как это
> грамотнее сделать? Пробрасывать 80й порт на линуксовый вебсервер? А если там
> будет 2 сайта, апач сам разрулит, куда пустить посетителя?
> Извините, если немного путано....На FreeBSD поднят NAT ? rc.conf покажи ?
У меня несколько web серверов за nat. nginx спас. Ставите его на шлюз легкая правка конфига и все летает. И геморрой с пробросом отпадает. Спокойно ходите на сайты как изнутри так и с снаружи.