Как в Windows Server 2008 r2 настроить доступ по внешнему IP из локальной сети?
Здравствуйте.
Есть сервер с белым IP адресом. На нём установлена Windows Server 2008 r2. Он же раздаёт интернет в локальную сеть. Назовём его, допустим, gateserver. Также есть второй сервер на Debian, на котором крутится файлопомойка и веб-сайт. Пусть будет webserver.
На gateserver с помощью "Маршрутизации и удалённого доступа" на внешнем интерфейсе выставлена переадресация порта 80 на IP адрес webserver'а.
Теперь суть вопроса: если я, находясь вне локальной сети (например из дома, или через прокси, или через анонимайзер) ввожу в адресную строку браузера внешний ip-адрес gateserver'а, то я получаю сайт с webserver. Т.е. всё хорошо, то, что мне нужно я получаю. Но, если я ввожу этот же IP с компьютера, который находится внутри локальной сети или с самого gateserver, то я попадаю на gateserver, т.е. проброс не происходит.
Вопрос: как сделать так, чтобы gateserver пробрасывал запросы адресованные на 80 порт как из внешней сети, так и из внутренней?
Но, если я ввожу этот же IP с компьютера, который находится внутри локальной сети или с самого gateserver, то я попадаю на gateserver, т.е. проброс не происходит.
Так и должно быть.
Hairpin Nat как организовать на винде я честно говоря не знаю, и вам не советую.
Рулите на уровне DNS.
Если DNS сервера своего нет, тупо пропишите на всех нужных комьютерах локальной сети в HOSTS.
Как вариант:
Найти правило, которое висит на внешний интерфейс. netsh interface portproxy show all
Применить такое-же правило и для интерфейса, который смотрит внутрь.
Вам необходимо реализовать для этого т.н. Hairpin Nat. Однако, беглое гугление подсказало, что windows server не способен его реализовать. Не уверен в этом на 100%.
В вашей ситуации проще будет обращаться к серверу по dns-имени, а для локальной сети настроить split dns, с уже локальным адресом сервера.