Решение извечной проблемы 1с и hosts

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Здравствуйте, расскажу решение проблемы, о которой мне, как начинающему системному администратору пришлось столкнуться лет 5 назад- внедрение серверной 1с. Мною сразу же было принято решение, что никаких RDP, только тонкие клиенты. В этом есть и свои минусы, и свои плюсы. У меня-же сеть была из облака, и пачки магазинов/офисов. Обычная иерархия во главе которой CHR(где же и располагались сервера) и пачка mikrotikов в офисах и магазинах.
Одна и самая "неудобная" проблема тонких клиентов для меня случилась почти сразу.
Пинг к серверу- есть, сеть l3, но тонкий клиент не работает, получаем ошибку
"Ошибка установки соединения
по причине:
server_addr=ss descr=11001(0x00002AF9): Этот хост неизвестен. line=580 file=src\core\src\Networking.cpp"

Очень много времени потратил на решение- почти везде было упоминание hosts, и каких-то более сложных вариантов, типа Wins и тд.. А внедрять то нужно уже вчера было. Что-ж прописываем на всех клиентах hosts, и погнали.
Примерно год мы проработали, и тут поняли что виртуальный сервер так себе, лицензии слетают порой, и работает медленно. Ну что-ж, переселяемся на физическую железку.
Все хорошо, но вот не задача- облачная сеть 10.X.1.0/24, там уже есть другие сервера, на 100+ клиентах прописаны хосты к адресу 10.X.1.4/24, а там будет отдельный сервер, нужно как-то проброситься к нему, при условии того что вся подсеть целиком в облаке..
В целом, решилось "вырезав" из /24 подсети участок /30 (ЧТО НЕ РЕКОМЕНДУЮ ДЕЛАТЬ) и это был большущий косяк!!
Но все заработало, настроена маршрутизация, никаких проблем не возникает. Казалось бы можно и дальше пользовать так- но вопрос масштабирования все равно возникает и дальше.

Решение:

Обязательно нужно настроить свой DNS сервер для всех участников сети, и DHCP сервер.
*Да, вариантов решения много, общий смысл такой, вам необходимо добиться того, что бы вы могли пинговать хостнейм из консоли, что сильно упрощенно, естественно.


В описанном мною случае топология следующая:

У нас три отдельных офиса, один общий DNS сервер, и в каждом офисе свой DHCP сервер, в настройках которого сказано клиентам выдавать DNS сервер 10.70.0.1

*естественно, в рамках одного офиса может быть и свой DNS сервер, и свой DHCP сервер. Это не играет особой роли.
Очень важной ролью играет хостнейм сервера 1с, оставлять его вида WIN-XXXXX не советую. Возьмем к примеру хостнейм SRV.
Так-же нам нужно решить либо придумать домен, в котором будут работать клиенты. Важно что бы домен не мог существовать в реальном мире, либо же используйте уже существующий ваш домен.
* Да, если у вас уже настроена AD, существует своя ветка и тд- вам уже виднее как что реализовать и строить.

Мы рассмотрим только пример. Домен local.net. Нам нужно сделать так, что бы и клиенты, и сервер были внутри этого домена. Это можно реализовать через AD, к примеру, либо через DHCP Option.

Итого:

Нам нужно прописать на DNS сервере статическую запись - A srv.local.net 10.70.0.5
А в офисах - DNS Suffix Code 15 'local.net', и указать IP адрес DNS сервера.
Как только клиенты обновят свои записи с DHCP сервера- у них будет прописан наш DNS сервер, и будет прописан "определенной для подключения DNS суффикс" с нашим доменом, что кстати говоря можно будет сделать и вручную, тогда достаточно будет указать общий DNS сервер.

Теперь, если у вас настроена маршрутизация, и все корректно работает- 1с будет работать без проблем. А если и возникают сложности, то nslookup srv покажет какие DNS сервера были использованы, и получил ли клиент адрес сервера.

Все вышесказанное возможно реализовать другими методами, но в рамках "экономии и небольшой сети" - это все вполне стабильно работает, и нужно решать от конкретной задачи, конкретных ситуаций как что лучше реализовать.


А теперь о командах, для Mikrotik:
На DNS сервере должно быть уже включено "Allow Remote Requests", и запрещающее правило на входящие пакеты с внешних интерфейсов.

/ip dns static add type=A name=srv.local.net address=10.70.0.5
Что пропишет статическую запись для хоста srv в домене local.net

На офисных роутерах уже должен быть настроен свой DHCP сервер, а так-же маршрутизация до сервера 1с.

/ip dhcp-server option add name=local code=15 value="'local.net'"

Обязательно домен должен быть внутри одинарных скобок 'домен' , но для консоли, его необходимо отделить двойными скобками, вида value= " 'домен ' " .

/ip dhcp-server network add address=10.70.1.0/24 gateway=10.70.1.1 netmask=24 dns-server=10.70.0.1,8.8.4.4 dhcp-option=local

В вышесказанной команде указан необходимый нам DNS сервер, и так-же название созданной DHCP нами опции. У меня указано два DNS сервера, на случай если не будет связи с нашим сервером(в моем случае не будет связи и с 1с) что бы далее работал интернет, поскольку если не будет ответа от DNS сервера- пользователи будут считать что интернета нету в целом.



Источник: https://habr.com/ru/articles/794390/


Интересные статьи

Интересные статьи

Примерно с 18:40 многие пользователи российского (и не только) сегмента интернета, стали сталкиваться с ошибками DNS-ресолвинга доменов, размещенных в .ru зонеПричина проблемы заключается в неправильн...
В 1779 году швейцарский математик Леонард Эйлер придумал задачу: если в каждом из шести разных армейских полков находится по шесть офицеров различных званий, можно ли построить эти 36 офицеров ...
С началом работы программ лояльности, появилась возможность накапливать скидки, предоставляемых продавцами в виде  бонусов. и оплачивать ими покупки. Сотрудники, обрабатывающие данны...
Материал, первую часть перевода которого мы публикуем сегодня, посвящён масштабной проблеме, которая возникла в gitlab.com. Здесь пойдёт речь о том, как её обнаружили, как с ней боролись, и как, ...
Добрый день! Поговорим про соблюдение ПДД и варианты их решения. Сразу замечу, что я не рекламирую готовый продукт: я сам не могу реализовать подобное, так как для этого нужно большое количест...