К написанию, данного хабратопика, меня сподвиг вот этот пост.
Итак нам надо получить доступ ко всем домашним девайсам с вебмордами например с работы из корпоративной сети, где доступ разрешен только на стандартный 80 порт, пусть это будет WEB камера (10.0.1.3), вебморда geexbox (10.0.1.4) и ADSL маршрутизатор через который мы получаем IPTV (10.0.1.5:8080).
Что у нас есть:
Сервер с lighttpd в датацентре находящейся где-то далеко-далеко от нашего дома.
Небольшая локалка охватывающая всю квартиру с Cisco 8xx на границе и статическим внешнем IP (62.213.122.2).
Этап первый — выводим наши вебморды за NAT.
Заходим на наш маршрутизатор и в конфигурационном терминале набираем приблизительно следующее:
Формат команды следующий «ip nat inside source static <протокол> <Внутренний IP> <порт> interface <внешний интерфейс маршрутизатора> <внешний порт>»
Теперь можно перейти ко второму этапу — настройке lighttpd.
Этап второй — настройка lighttpd.
Для притворения нашего хитрого плана в жизнь нам понадобится mod_proxy из стандартной поставки lighttpd. Добавим его в server.modules:
И приступим к настройке наших виртуалхостов:
перезапускаем lighttpd и наслаждаемся =)
Итак нам надо получить доступ ко всем домашним девайсам с вебмордами например с работы из корпоративной сети, где доступ разрешен только на стандартный 80 порт, пусть это будет WEB камера (10.0.1.3), вебморда geexbox (10.0.1.4) и ADSL маршрутизатор через который мы получаем IPTV (10.0.1.5:8080).
Что у нас есть:
Сервер с lighttpd в датацентре находящейся где-то далеко-далеко от нашего дома.
Небольшая локалка охватывающая всю квартиру с Cisco 8xx на границе и статическим внешнем IP (62.213.122.2).
Этап первый — выводим наши вебморды за NAT.
Заходим на наш маршрутизатор и в конфигурационном терминале набираем приблизительно следующее:
ip nat inside source static tcp 10.0.1.3 80 interface Virtual-PPP1 8081
ip nat inside source static tcp 10.0.1.4 80 interface Virtual-PPP1 8082
ip nat inside source static tcp 10.0.1.5 8080 interface Virtual-PPP1 8083
Формат команды следующий «ip nat inside source static <протокол> <Внутренний IP> <порт> interface <внешний интерфейс маршрутизатора> <внешний порт>»
Теперь можно перейти ко второму этапу — настройке lighttpd.
Этап второй — настройка lighttpd.
Для притворения нашего хитрого плана в жизнь нам понадобится mod_proxy из стандартной поставки lighttpd. Добавим его в server.modules:
server.modules = (
"mod_access",
"mod_accesslog",
"mod_proxy"
)
И приступим к настройке наших виртуалхостов:
$HTTP["host"] =~ "(^|\.)cam\.habrahabr\.ru$" { #домен
proxy.server = ("" => ( ( #все запросы отправляем на внешний сервер
"host" => "62.213.122.2", # IP сервера
"port" => 8081 ) ) ) # порт
accesslog.filename = "/var/log/lighttpd/camera.log" # куда будем писать логи
}
$HTTP["host"] =~ "(^|\.)geexbox\.habrahabr\.ru$" {
proxy.server = ("" => ( (
"host" => "62.213.122.2",
"port" => 8082 ) ) )
accesslog.filename = "/var/log/lighttpd/geexbox.log"
}
$HTTP["host"] =~ "(^|\.)adsl\.habrahabr\.ru$" {
proxy.server = ("" => ( (
"host" => "62.213.122.2",
"port" => 8083 ) ) )
accesslog.filename = "/var/log/lighttpd/adsl.log"
}
перезапускаем lighttpd и наслаждаемся =)
service lighttpd restart