Коллеги, сильно камнями не кидайтесь. Админ с меня никакой, посему вопрос детский.
Есть физический сервер (1С и ms sql). В месте расположения сервера два инета со статическим IP.
Хотим в случае падения одного инета, подключаться через резервный IP.
Мы столкнулись с избитой проблемой необходимости правок файла hosts на клиентских машинах.
(2) Ребят, без обид. Я прошу знающих. Гадать не надо.
Вы когда любую базу добавляете на сервере, пишете локальное имя компьютера. Чтоб shared memory работал...
Так вот извне когда идет подключение, клиентские машины будут ругаться на имя сервера, если оно задано буквами :)
Поэтому и прописывают в hosts запись с именем сервера типа:
10.0.0.1 srv
Так вот когда два внешних IP у сервера, вы же не будете при падении одного провайдера бегать по клиентским компам и менять запись в hosts...
(5)Как тут не гадать, когда не известна топология, чем-то переключаются IP, там настроить DNS, либо через DHCP выбрать другой DNS, настроенный на другой IP.
1. Средствами сетевого оборудования, локальный домен например поднять.
2. AD мелкомягких
3. Купить дешёвый домен , у провайдера с реализованным w round robin . Если подключение исключительно по внешнему интерфейсу.
А так непонятна топология сети, как происходит подключение (какие варианты возможны и т.д.)
Про топологию. Я не особо силен в терминах, поэтому просто опишу. Есть маршрутизатор, в него подключены два провайдера.
К маршрутизатору подключен сам сервер. Все подключения к серверу идут извне. Никаких AD и прочих дел не поднималось.
Поднят vpn на маршрутизаторе.
на маршрутизаторе настраиваете dyndns или его аналог.(https://qna.habr.com/q/21165) Подключение пойдет через последний активный интернет айпи, dns обновится в течении заданного периода подключения. Подключение к vnp будет по dns адресу, или подключение к 1с, если вы без vpn работаете
на маршрутизаторе настраиваете dyndns или его аналог.(https://qna.habr.com/q/21165) Подключение пойдет через последний активный интернет айпи, dns обновится в течении заданного периода подключения. Подключение к vnp будет по dns адресу, или подключение к 1с, если вы без vpn работаете
Да поднимали на роутере keendns, если Вы об этом.
Такая схема также требует записи в hosts на клиентских машинах.
Вот что я нагуглил:
...
Т.к. подключение к серверу происходит следующим образом, 1С соединяется с указанным в параметрах подключения сервером (например 192.1.1.222), и запрашивает текущий Активный рабочий сервер, кластер 1С отвечает на этот запрос Именем сервера как он прописан при создании сервера/кластера 1С (в 99% это именно имя , а не IP), клиент пытается соединиться с сервером который сообщил ему кластер 1С, т.е. svr27.
Т.к. svr27 не относиться к ЛВС, то стандартно Windows не может получить IP по имени svr27, и соответственно возвращает "Этот хост неизвестен."
Если мы внесем в host сопоставление имени сервера и его IP, то Windows пытаясь найти IP сервера по имени первым делом заглянет в host и найдет то что ищет.
Такая схема также требует записи в hosts на клиентских машинах.
Нет, не требует. В случае динамического DNS вы обращаетесь к серверам в инете по постоянному адресу (который вам присвоят, например Alexeypapanov.dyndns.com), а уже оттуда, имея актуальную информацию о действующем IP, вас перенаправляют на ваш сервер по актуальному IP.
Клиентская машина знать не знает про ваши IP, ей пофиг.
Проблема не в Shared Memory, для работы которой достаточно на сервере 1С при подключении базы указать localhost в качестве имени сервера SQL. Записи в hosts у клиентов нужны для другого - в файлах конфигурации кластера 1С указано имя сервера, и он периодически сам к себе обращается по этому имени.
Можно начать с простого - сделать в hosts 2 записи, указав оба IP.
x.x.x.1 srv
x.x.x.2 srv
Заодно и балансировку нагрузки по обоим каналам получите. Более сложные способы в голове есть, но озвучивать пока не хочу.
Настройте DNS Failover. Используйте услуги DNS-поставщиков, которые предоставляют эту функцию. Вы указываете несколько IP-адресов, и DNS-поставщик автоматически перенаправляет запросы к другому IP-адресу в случае отказа одного из них. Примеры таких сервисов: Amazon Route 53, Cloudflare, DynDNS. Разверните балансировщик нагрузки перед вашими серверами. Это может быть аппаратное устройство или программное решение. В случае отказа одного сервера, балансировщик перенаправит трафик на другой.