1 domain, 2 ip [вопросы маршрутизации]
Добавлено: 2010-01-04 10:41:59
Доброго времени суток.
Есть сервер (FreeBSD-7.2), подключенный к 2м разным провайдерам. От каждого провайдера сервер имеет реальный IP.
От провайдера А есть только локалка, к серверу подключаются пользователи сети 1.1.1.0/19 на интерфейс с IP 1.1.1.2 (шлюз по умолчанию - 1.1.1.1).
От провайдера Б сервер получает доступ в интернет и IP-адрес 2.2.2.2 (с маршрутом по умолчанию через 2.2.2.1).
В DNS (на стороне) зарегистрирован домен mydomen, и для него прописаны IP-адреса 1.1.1.2 и 2.2.2.2.
Задача: предоставить доступ к серверу по доменному имени для всех.
Суть проблемы.
DNS-сервер выдает случайный IP-адрес на DNS-запрос. Таким образом, для сети А может быть выдан IP-адрес сервера, выданный провайдером Б. В результате получается, что абоненты получают доступ не по локалке, а через глобал.
Есть другой вариант - для сети Б будет выдан IP-адрес, предназначенный для сети А. В этом случае клиенты сети Б не смогут достучаться до IP-адреса 1.1.1.2, выданного для сети А, т.к. маршрут банально не существует.
Идеальным был бы вариант DNS-сервера, который выдавал нужный IP-адрес в зависимости от принадлежности подсети...
Вопрос: Как решить задачу?
Читал подобные вопросы, предлагались варианты ввести балансир, но исходя из принципа его действия, этот вариант кажется мне неприемлимым.
Есть сервер (FreeBSD-7.2), подключенный к 2м разным провайдерам. От каждого провайдера сервер имеет реальный IP.
От провайдера А есть только локалка, к серверу подключаются пользователи сети 1.1.1.0/19 на интерфейс с IP 1.1.1.2 (шлюз по умолчанию - 1.1.1.1).
От провайдера Б сервер получает доступ в интернет и IP-адрес 2.2.2.2 (с маршрутом по умолчанию через 2.2.2.1).
В DNS (на стороне) зарегистрирован домен mydomen, и для него прописаны IP-адреса 1.1.1.2 и 2.2.2.2.
Задача: предоставить доступ к серверу по доменному имени для всех.
Суть проблемы.
DNS-сервер выдает случайный IP-адрес на DNS-запрос. Таким образом, для сети А может быть выдан IP-адрес сервера, выданный провайдером Б. В результате получается, что абоненты получают доступ не по локалке, а через глобал.
Есть другой вариант - для сети Б будет выдан IP-адрес, предназначенный для сети А. В этом случае клиенты сети Б не смогут достучаться до IP-адреса 1.1.1.2, выданного для сети А, т.к. маршрут банально не существует.
Идеальным был бы вариант DNS-сервера, который выдавал нужный IP-адрес в зависимости от принадлежности подсети...
Вопрос: Как решить задачу?
Читал подобные вопросы, предлагались варианты ввести балансир, но исходя из принципа его действия, этот вариант кажется мне неприемлимым.