
Выборочная переадресация HTTP запросов на веб страничку в PfSense 2.0 vHosts |
![]() |
![]() |
![]() |
Автор: Administrator | |||
27.03.12 08:46 | |||
Выборочная переадресация HTTP запросов на веб страничку
в PfSense 2.0 средствами vHosts Установка, настройка пакета vHosts в PfSense 2.0
"Требуется все запросы от всех адресов дефолтно перенаправлять на отдельный веб-сервер (на его 80 й порт). По сути, все не учтенные ип-адреса при любом запросе должны попадать только туда." Перефразирую: Подразумевается, что у вас PfSense с начальными настройками - реквизиты интерфейсов, DNS, DHCP, NAT. Всё настроено и вы можете выходить через PfSense в интернет. LAN 192.168.0.1/24
1. Делаем запись в DNS для виртуального хоста ( info.lan = 192.168.0.1 ) Services -> DNS forwarder
2. C локального компа делаем - ping info.lan
3. Изменим порт админки и включим SSH доступ. System -> Advanced
4. Устанавливаем vHosts System -> Package Manager -> Available Packages
5. Настраиваем vHosts Services -> vHosts
6. Проверяем работу vHosts Заходим на http://info.lan:8081 Видим:
7. Делаем потрфоравард 80 порт <-> 8081 Firewall -> NAT -> Port Forward
Проверяем правило в command prompt pfctl -sa | grep rdr Заходим на http://info.lan Видим картинку пункт 6. Очистить кэш броузера. Рестарт DNS и vHosts ( Status: Services ) Можно и Status: Filter Reload Status
9. Создаем php страничку info.php с желаемым содержимым /usr/local/www/info.php 10. Учим vHosts пускать нас по ip адресу (а не по доменному имени) на нашу веб страничку info.php Правим /var/etc/vhosts-http.conf Находим:
Меняем на: server.document-root = "/usr/local/www" Находим:
Меняем на: $SERVER["socket"] == "192.168.0.1:8081" { url.rewrite-once = ("^/(.*)$" => "/info.php") #эта регулярка позволит нам по любому адресу попадать на указанную
После внесённых изменений, рестартуем сервис vHosts Status -> Services
Для того чтобы vhosts-http.conf не был изменен после перезагрузки, делаем chflags uchange /var/etc/vhosts-http.conf Для снятия флага, используем команду chflags nouchange /var/etc/vhosts-http.conf 11. C этого момента, все запросы в интернет по 80 му порту, должны переадресовываться на инфо страничку info.php Проверяем возможность захода по IP адресу http://192.168.0.1:8081 http://192.168.0.1
12. Создаем Aliases с группой IP адресов, которые смогут выходить в интернет. Firewall -> Aliases
13. Добавляем второе правило портфорвардинга Firewall: NAT-> Port Forward
Перемещаем созданное правило, выше ранее созданного правила в пункте 7. Должно получиться так:
После всех вышеописанных манипуляций, все IP перечисленные в алиасе смогут беспрепятственно выходить в интернет. Остальные будут перенаправляться на инфо страничку.
источник: http://forum.pfsense.org/index.php/topic,47447.0.html ссылка на материал: http://thin.kiev.ua/index.php?option=com_content&view=article&id=550:pf-vhost&catid=50:pfsense&Itemid=81 {jcomments on} ## a static document-root, for virtual-hosting take look at the ## server.virtual-* options server.document-root = "/usr/local/vhosts/" |
|||
Последнее обновление 28.06.12 11:16 |
