Работа Apache за шлюзом.
Добавлено: 2015-12-26 23:25:02
Уважаемые гуру!
Подскажите возможна ли такая схема работы и как её реализовать. Имеется две машины на FreeBSD 10:
GATE:
Имеет один физ. интерфейс, через который подключена к интернету со статическим IP (A).
На данной машине также запущен PPTP-сервер, поднимающий линк C-D, где С - адрес шлюза, а D - удаленный адрес.
APACHE:
Из названия понятно что на нем крутиться апач.
Имеет один физ. интерфейс подключенный к интернет с динамическим IP.
Также на данной машине настроен PPTP-клиент, который через интернет подключается (фиолетовая стрелка) к GATE.
Задача.
Перебросить запросы с A:80 на D:80 на котором крутиться сервер с сайтом.
Попробовал сделать редирект при помощи rinetd.
Все работает.
НО, в логах все запросы к серверу идут от IP адреса (С) машины GATE, что естественно и так и должно быть, но меня это не устраивает.
Во первых пропадает возможность определять IP нарушителей спокойствия средствами самого сайта. Точнее средствами CMS, на которой он построен.
Во вторых (и самое главное) у меня есть подозрения, что используя всевозможные счетчики будет не правильно считаться статистика, так как IP пользователя на самом сайте будет один и тот-же.
Поэтому данное решение мне совсем не симпотизирует. Хотя и работает.
Почитал что редирект можно реализовать через NATD.
Вообщем настроил и дошел до того что трафик от пользователя доходит до апача, а вот дальше - затык.
Так как в пакете, который добрался таки до точки D:80, в качестве отправителя указан IP (Пусть будет точка F) с которого поступил запрос на точку A:80 (чего я собственно и добиваюсь), а вот обратно вернуться у него не получается.
Смотрю ptcpdump-ом что апач отвечает D:80 > F:xxx, и пакет соответственно не знает куда ему идти.
Точнее я подозреваю что он пытается выйти через точку B
Я понимаю что нужно на машине APACHE завернуть весь трафик от сервера через точку-шлюз С в точку A на которой NATD уже отправить его тому кто его запросил, так как именно он в этом месте "заворачивал" трафик к серверу.
Но что-то у меня не получается это реализовать.
Подскажите где почитать и как победить данную задачу.
P.S. Друзья. О причинах необходимости такой схемы работы давайте не будем рассуждать - ну вот так вот надо.
Отправлено спустя 3 минуты 48 секунд:
За основу брал вот эту статью - http://subnets.ru/blog/?p=1605
Подскажите возможна ли такая схема работы и как её реализовать. Имеется две машины на FreeBSD 10:
GATE:
Имеет один физ. интерфейс, через который подключена к интернету со статическим IP (A).
На данной машине также запущен PPTP-сервер, поднимающий линк C-D, где С - адрес шлюза, а D - удаленный адрес.
APACHE:
Из названия понятно что на нем крутиться апач.
Имеет один физ. интерфейс подключенный к интернет с динамическим IP.
Также на данной машине настроен PPTP-клиент, который через интернет подключается (фиолетовая стрелка) к GATE.
Задача.
Перебросить запросы с A:80 на D:80 на котором крутиться сервер с сайтом.
Попробовал сделать редирект при помощи rinetd.
Все работает.
НО, в логах все запросы к серверу идут от IP адреса (С) машины GATE, что естественно и так и должно быть, но меня это не устраивает.
Во первых пропадает возможность определять IP нарушителей спокойствия средствами самого сайта. Точнее средствами CMS, на которой он построен.
Во вторых (и самое главное) у меня есть подозрения, что используя всевозможные счетчики будет не правильно считаться статистика, так как IP пользователя на самом сайте будет один и тот-же.
Поэтому данное решение мне совсем не симпотизирует. Хотя и работает.
Почитал что редирект можно реализовать через NATD.
Вообщем настроил и дошел до того что трафик от пользователя доходит до апача, а вот дальше - затык.
Так как в пакете, который добрался таки до точки D:80, в качестве отправителя указан IP (Пусть будет точка F) с которого поступил запрос на точку A:80 (чего я собственно и добиваюсь), а вот обратно вернуться у него не получается.
Смотрю ptcpdump-ом что апач отвечает D:80 > F:xxx, и пакет соответственно не знает куда ему идти.
Точнее я подозреваю что он пытается выйти через точку B
Я понимаю что нужно на машине APACHE завернуть весь трафик от сервера через точку-шлюз С в точку A на которой NATD уже отправить его тому кто его запросил, так как именно он в этом месте "заворачивал" трафик к серверу.
Но что-то у меня не получается это реализовать.
Подскажите где почитать и как победить данную задачу.
P.S. Друзья. О причинах необходимости такой схемы работы давайте не будем рассуждать - ну вот так вот надо.
Отправлено спустя 3 минуты 48 секунд:
За основу брал вот эту статью - http://subnets.ru/blog/?p=1605