Вход | Регистрация
 

Как обойтись без правки файла "Hosts" на Windows для 1С сервера?

Как обойтись без правки файла "Hosts" на Windows для 1С сервера?
Я
   Машротц
 
25.08.20 - 03:54
Как известно, если клиенты на 1с Сервер сходют с других подсетей, (vpn подключение, корп. сети), то сервер будет не доступен, необходимо править файл hosts. Возиться с каждой машиной и вручную править этот файл неудобно, можно на уровне маршрутизатора заставить клиентов сети резолвить соответствие доменов айпи адресам, включаю на роутере днс сервер и создаю на нем свой список ip host, типа "1с-pc     192.168.1.50". В результате с тонких клиентов на Мак и Линукс всё работает, без правки системного /etc/hosts, записи только на роутере. А вот в 1С на Виндоуз это не срабатывает! Кто нибудь смог побороть? Или только через файл host на c:windows\system32\driver\etc ?
Почему 1С на Виндоуз не хочет увидеть днс записи ? Команда nslookup в командой строке показывает верную переадресацию, а 1С этого не видит.!
   Сукпун
 
1 - 25.08.20 - 04:48
А почему  бы  сразу  не прописать клиентам  базу  по  ip адресу ?  зачем писать  1с-pc  когда можно сразу  написать   192,168,1,50 ?
   Fram
 
2 - 25.08.20 - 05:22
(1) не только у клиентов ещё и в кластере сервер надо добавить через ip адрес.

(0) сеть с доменом?
   Fram
 
3 - 25.08.20 - 05:25
(0) админ вам нужен толковый. У толковых админов все по днс именам прекрасно работает без изменения hosts у клиентов
   Fram
 
4 - 25.08.20 - 05:26
Ну или пригласите сетевого инженера чтобы тот вам всё настроил и научил админа как правильно
   Fram
 
5 - 25.08.20 - 05:36
Подключение работает по следующему алгоритму
- клиент подключается к кластеру, прописанному в списке баз
- кластер решает к какому рабочему серверу подключить клиента, и отправляет ему адрес этого сервера так, как он заведён в кластере. То есть либо днс имя либо ip адрес
- клиент получает от кластера адрес рабочего сервера и пытается к нему подключиться
   Машротц
 
6 - 25.08.20 - 11:37
(2) Сеть без домен, без AD.
   Сергиус
 
7 - 25.08.20 - 11:42
(0)Проблема только на одном компе? 1-е, что надо сделать, это очистить таблицу маршрутизации. И попробовать прописать маршруты вручную
   Машротц
 
8 - 25.08.20 - 11:45
(3) Кейс и ошибка подключения довольно распространённая, даже у Гилёва есть отдельная тема по-рекомендациям настройки, прописки в hosts.
Толковый админ может и в этом толковый, что не заметно прописывает строку в hosts ? :)
Или все-же там особые моменты нужно соблюсти при публикации базы на сервере, создать с ip-адресом, не с именем?
Вроде как считается, то для работы через shared Memory нужно к базе именно по имени обращаться, по ip адресу сервер переключается на tcp/ip.
   Garykom
 
9 - 25.08.20 - 11:48
(8) "Толковый админ" не пропишет имя серверу 1С, которое не доступно (не резолвится) с клиентских машин, хотя по ip доступ есть.
   Garykom
 
10 - 25.08.20 - 11:48
в nslookup про доверие что написано?
   Машротц
 
11 - 25.08.20 - 11:48
(7) Проблема во всех Windows компах, у которых не прописан hosts, на Linux CentOS 7 поставил тонкий клиент, всё отлично подключается, без правки /etc/hosts на Linux. Поставил на свой макбук клиент 1с, подключаюсь тоже без проблем, без ошибок.
   Машротц
 
12 - 25.08.20 - 11:54
(9) Если клиент в другой подсети, то не важно как прописано, через айпи или через имя, всё равно выдает ошибку. В одинаковой сети такой проблемы нет.
   Машротц
 
13 - 25.08.20 - 11:55
Ошибка server_addr=Server-1C descr=11001 (0x00002AF9): Этот хост неизвестен. line=1050 file=src\DataExchangeCommon.cpp.
   Машротц
 
14 - 25.08.20 - 12:03
(9) Почему не резолвится, на роутере поднят днс сервер, в hosts которого указано имя машины и ее адрес, клиент использует днс сервер роутера, значит проблем с резолвингом не должно быть, верно.
   Garykom
 
15 - 25.08.20 - 12:04
Выполни "ping 1с-pc" - не работает в другой подсетке, странно да?

а теперь подумай почему у компа (сервера 1С) такое дурное имя?
   Garykom
 
16 - 25.08.20 - 12:06
Если у тебя имя сервера 1С "1с-pc"

то покажи результаты с сервера, с клиентов в той же подсетке и с клиентов в другой подсетке (без прописывания в hosts)

"nslookup 1с-pc"
и
"ping 1с-pc"
   Машротц
 
17 - 25.08.20 - 12:07
(15) Почему не работает, великолепно пингуется по имени тоже, вы наверное не читаете выше. Я же написал, что на роутере поднят ДНС сервер и прописаны в host
   Машротц
 
18 - 25.08.20 - 12:10
Вот пинг с клиента, который подключен через туннель.

Last login: Tue Aug 25 11:49:41 on ttys000

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
mbp:~ mashrotz$ ping 1c-pc
PING rg-sr (10.3.10.10): 56 data bytes
64 bytes from 10.3.10.10: icmp_seq=0 ttl=126 time=24.764 ms
64 bytes from 10.3.10.10: icmp_seq=1 ttl=126 time=6.846 ms
64 bytes from 10.3.10.10: icmp_seq=2 ttl=126 time=15.977 ms
64 bytes from 10.3.10.10: icmp_seq=3 ttl=126 time=8.905 ms
64 bytes from 10.3.10.10: icmp_seq=4 ttl=126 time=6.419 ms
64 bytes from 10.3.10.10: icmp_seq=5 ttl=126 time=6.628 ms
64 bytes from 10.3.10.10: icmp_seq=6 ttl=126 time=6.912 ms
^X64 bytes from 10.3.10.10: icmp_seq=7 ttl=126 time=13.667 ms
   Машротц
 
19 - 25.08.20 - 12:13
mbp:~ mashrotz$ nslookup 1c-pc
Server:        10.99.1.1
Address:    10.99.1.1#53


Non-authoritative answer:
Name:    1c-pc
Address: 10.3.10.10
   Garykom
 
20 - 25.08.20 - 12:18
(18) "ping -4 1c-pc" тоже ?
   Garykom
 
21 - 25.08.20 - 12:19
(18) Эээ ты мне покажи пинг с клиента Windows!
   Машротц
 
22 - 25.08.20 - 12:21
(21) Это тогда позже, сейчас к клиенту на Виндоуз доступа нет, точнее надо на роутере открывать порты, доберусь на месте, там сделаю.
   Garykom
 
23 - 25.08.20 - 12:22
(22) Если пингуется то это какие то галюны если не работает
   Garykom
 
24 - 25.08.20 - 12:22
(23)+ Как вариант если УФ то ставь веб-сервер и через него тонкие клиенты пускай
   Машротц
 
25 - 25.08.20 - 12:25
(23) Такое ощущение, что клиенту 1с нужно куда-то посмотреть, чтобы увидеть соответствие имени айпишнику, и это куда-то должно быть именно hosts файл в /windows/system32/drivers/etc.
Несмотря на то, что на сетевом уровне у клиента все в порядке и все пингуется, поскольку на роутере прописал, но вот 1с на Виндоуз этого не достаточно получается в моем случае. 1с клиент на Линукс проблем не испытывает
   Машротц
 
26 - 25.08.20 - 12:27
   Garykom
 
27 - 25.08.20 - 12:54
Или вин клиенты все же не могут нормально разрешить имя и сделать пинг.

Или вариант что файрвол порты блочит, а вот если запись в хостс добавить то перестает блочить
   Fram
 
28 - 25.08.20 - 16:37
(27) при коротких именах и отсутствии суффиксов в настройках tcp/ip винда вроде через нетбиос пытается найти хост.
   Fram
 
29 - 25.08.20 - 16:40
(9) попробуй задать имя через точку. Что то типа server1c.local
   Fram
 
30 - 25.08.20 - 16:44
(8) какой нафиг shared memory по сети между клиентом и сервером
 
 Рекламное место пустует
   NorthWind
 
31 - 25.08.20 - 16:52
у меня норм все на виндах работало даже с поднятой службой WINS, без DNS. Присоединяюсь к (23), с виндового компа покажите пинг на сервер.
   uno-group
 
32 - 25.08.20 - 17:11
"даже у Гилёва" не показатель он специалист по 1с. и если у вас криворукий админ ему проще объяснить в 2 строчках как прописать 1 строку в 1 единственном файле которая не меняется от виндовса НТ 3,5 прошлого столетия до современных ОС. Чем обучать его основам маршрутизации и построению сетей. Настройки днс,винс и т.п. серверов которые уже от винды к винде менялись и миллиона разновидностей роутеров.
   Машротц
 
33 - 25.08.20 - 18:00
(29) Что-то кроется в этом .local. Дошёл до клиента, рассказываю подробнее;

1. Клиент и 1С Сервер на одном физическом коммутаторе, но в разных подсетках, по разных VLAN разбросаны, сервер на 10.3.10.10., клиент 10.3.3.50, коммутатор обычный Cisco Каталист, роутер тоже isr2. С маршрутизаций проблем нет, все пингуется по айпи адресам, все VLAN между собой.

2. Ping по айпи адресу на Windows 10 на клиенте до сервера проходит удачно.

pinging 10.3.10.10 with 32 bytes of data)
Reply from 10.3.10.10 bytes=32 time=1ms TTL-127

3. Ping по имени машины с Виндовоза на сервер 1с в формате 1С-PC не проходит,! запись на роутере есть, добавил, еще добавил сейчас на роутере в днс hosts то же самое, но .local. Вот на него пинг идет!

4. С Linux и MacOS без проблем пингуется имя машины БЕЗ .local.

То есть выходит, что Виндоуз не видит имя без .local на конце? И соотвественно 1с тоже поэтому не видит?
   Машротц
 
34 - 25.08.20 - 18:15
(2) ///не только у клиентов ещё и в кластере сервер надо добавить через ip адрес.

Вы имеете ввиду, изменить через Администрирования 1с сервера? Там автоматом подхватилось по имени. Что нужно сделать, перебить с имени на айпишник? Или дополнительно добавить запись ? Не совсем понял честно говоря.
   Fram
 
35 - 25.08.20 - 18:18
(34) я уже сто лет не трогал 1с сервер, но,  на сколько помню, придется рабочий сервер сначала удалить, потом добавить через ip
   Машротц
 
36 - 25.08.20 - 18:18
(1) ///А почему  бы  сразу  не прописать клиентам  базу  по  ip адресу ?  зачем писать  1с-pc  когда можно сразу  написать   192,168,1,50 ?

Не важно как прописать клиенту, всё равно ошибка, 1с клиент хост не видит, хочешь пропиши по айпи, хочешь по имени, пока запись в hosts не добавишь. Это всё про Виндоуз говорю, Линукс и Мак с пол-пинка подключается.
   Машротц
 
37 - 25.08.20 - 18:19
(35) я примерно так и подумал, сейчас попробую.
   Fram
 
38 - 25.08.20 - 18:22
(36)  потому что (5) - кластер возвращает "1с-pc", и клиент пытается по имени подключиться
   Машротц
 
39 - 25.08.20 - 18:22
(35) Да, жму руку, сработало! Грохнул по имени, забил по айпишнику, подхватилось все с клиента!
   Машротц
 
40 - 25.08.20 - 18:23
(39) То есть грохнул в Администраторе 1С Сервера старый вариант
   Машротц
 
41 - 25.08.20 - 18:25
(38) (38) Спасибо большое, помогло,! Так уже понятнее!
Но все же, для спортивного интереса, хотелось бы понять и разобраться, почему же Виндовоз имена типа АА не видит, только если АА.local, а на остальных ОС проблем нет.
   Fram
 
42 - 25.08.20 - 18:25
(39) не по фен-шую, конечно, но учитывая, что в сети даже домена нет, то сойдёт
   Fram
 
43 - 25.08.20 - 18:28
(41) погугли как винда ресолвит имена хостов. Я думаю (28)
   Машротц
 
44 - 25.08.20 - 19:00
(43) Что-то поспешил я выводами, через раз запускает базу с клиентов ;), Несколько раз открывал, нормально было, потом попробовал разок, опять ошибку имени начала выдавать.
Еще добавил в Кластеры/Рабочие серверы/ машину по айпи, думал это поможет, но как-то нет, закономерность пока не могу отловить. Старое название по имени грохнуть из это раздела не удается, может из-за этого, конфликт создает, он помечен как "Центральный", пробую удалить, ругается, а новый тоже на Центральный не переключается.
   Машротц
 
45 - 25.08.20 - 19:11
Закономерность следующая; остановил/запустил сервер, теперь вроде более менее стабильные открытия базы, без ошибок имени хоста.
Но, во-первых грохнул старое именное название, прописал по IP, и еще обязательно в Кластеры/ЛокальныйКластер/РабочиеСерверы/IPadress добавил, по-другому не работает на Виндоуз.
Буду дальше копать, но уже более понятно.
   PR
 
46 - 25.08.20 - 20:17
(41) Общая идея следующая
Ты лезешь в сервер 1С с чем угодно, хоть именем хоть IP
А вот сервер 1С обратно тебе отдает уже свое имя и дальше ты уже пытаешься обшаться по имени сервера 1С
То есть ты можешь лезть, например, по mydomen.ru, server1c.mydomen.ru или 120.118.114.116
А обратно тебе придет server1c_pc и делай с этим что хочешь
Самое простое — добавить в hosts server1c_pc 120.118.114.116
Сложнее, но я не проверял, это в имя сервера 1С сделать IP, а не имя
Ну или еще как-то на клиенте понимать, что возвращенное имя сервера 1С — это то-то и то там-то и там-то
   CepeLLlka
 
47 - 25.08.20 - 21:00
Я чёт запутался..
В (13) Ошибка server_addr=Server-1C descr=11001 (0x00002AF9): Этот хост неизвестен. line=1050 file=src\DataExchangeCommon.cpp.
Имя - Server-1C

А пингуете вы почему-то 1С-PC

Или я чёт не так понял?
   Fram
 
48 - 25.08.20 - 22:36
(46) так завести надо рабочий сервер в кластере с именем, которое будет ресолвиться правильно отовсюду. Ты ж вроде опытный товарищ.
   Машротц
 
49 - 25.08.20 - 23:26
(48) Получается, что по-умолчанию при установке 1С Сервера установщик берёт Имя Компьютера и назначает его центральному кластеру, ни у кого ничего не спрашивая, я бы может назначил бы айпишник, но такой опции при установке нет сожалению.
Выходит, чтобы установщик подхватил съедобное днс системой, резолвируемое имя, необходимо компьютеру перед установкой 1 сервера назначить имя в формате SERVER.LOCAL, ну или вообще с суффиксом .RU. COM и т.п., верно?  При таком подходе резолвинг можно будет настроить на маршрутизаторе, точнее на ДНС службе роутера, ну или на каком-нибудь программном ДНС сервере в сети, типа BIND и прочее, это уже на любителя. Но я к тому, что если много машин, то это поможет избежать ручного редактирования hosts файла на Виндовозе.
Следующий момент, изменить Имя уже созданного, центрального Рабочего Сервера в кластере мне пока не удалось, Админка 1С Сервера ругается,  что он мол центральный и нельзя так просто взять и его изменить. Добавить имя нового Рабочего Сервера удается и их теперь там два.
Вообщем буду мучать дальше. Хочется как-то сделать комильфо всё это дело, и на сейчас, и на будущее стратегию выработать, чтобы правкой не заниматься.
   Машротц
 
50 - 25.08.20 - 23:37
(46///То есть ты можешь лезть, например, по mydomen.ru, server1c.mydomen.ru или 120.118.114.116 

А обратно тебе придет server1c_pc и делай с этим что хочешь 

Да! Просто если приходит в таком формате "server1c", то этот случай только правка файла hosts (c:windows\system32\driver\etc) может решить, поскольку Виндовоз такой формат имени и его соответствия айпишнику из ДНС сервера на роутере понимать не хочет наотрез! Нужен или суффикс, или .local в конце.
   Fram
 
51 - 25.08.20 - 23:45
(49) так сними галочку центральный.
   Машротц
 
52 - 25.08.20 - 23:50
(51) не снимается ! ;(
   Машротц
 
53 - 25.08.20 - 23:55
Обнаружил любопытный факт, ранее мне неизвестный, Виндовоз не позволяет назначить компьютеру ИМЯ ни суффиксами, ни с хвостом .local. Только целое слово может быть.
В таком случае как обходятся без правки файла hosts, если у Виндовоза Имя компа априори кривое? Добавляют после установки правильное Имя в Рабочий Кластер?
   Машротц
 
54 - 26.08.20 - 00:18
Пишу надеюсь финальный пост по этой теме ;) Короче говоря, благодаря коллективной помощи, пришел к следующему решению;

1. Прописал на ДНС сервере роутера запись server.local 10.10.10.10

2. Дополнительно в Админке 1С Сервера завёл новый Рабочий Сервер, (Кластеры/ЛокальныйКластер/РабочиеСерверы), назначил ему имя server.local.

Теперь вроде всё как надо резолвится, базы с клиентов открываются, ошибку не ловлю, на каждой машине главное не пришлось править hosts. в system32.
Всем спасибо за помощь! Можно расходиться ;)
   Fram
 
55 - 26.08.20 - 04:06
(54) экземпляр со старым именем то удалил?
   Машротц
 
56 - 26.08.20 - 11:24
(55) Пока не удалось, галка не снимается! Лучше будет, если Рабочий Сервер со старым Именем больше не являлся Центральным сервером ?

"Ошибка изменения параметров рабочего кластера; Попытка выключения флага "Центральный сервер" в свойствах рабочего сервера, который используется для адмнистрирования. Для выключения флага "Центральный сервер" этого рабочего сервера необходимо  использовать для администрирования другой центральный сервер этого кластера."

Смысл необходимых действий показался несколько неоднозначным или голова не работает уже, оставил пока как есть. Я так догадываюсь, что Админку нужно поставить на другую машину, прицепить новой имя и уже там попробовать снять галку центрального сервера со старого имени? Или смысл в другом?
   Машротц
 
57 - 26.08.20 - 11:46
Через Админку на соседней машине в сети тоже не получается, галку не даёт снять. Тогда выходит, что нужно чтобы в сети был еще один рабочий сервер поднят, на другой машине, с которого эта галка снимется с центрального сервера?
   runuts
 
58 - 26.08.20 - 16:28
попробуй сделать как тут

Соединение с сервером 1С по ip
   runuts
 
59 - 26.08.20 - 16:28
   NorthWind
 
60 - 26.08.20 - 19:44
(53) > Обнаружил любопытный факт, ранее мне неизвестный, Виндовоз не позволяет назначить компьютеру ИМЯ ни суффиксами, ни с хвостом .local. Только целое слово может быть

Потому что это зарезервировано для доменной структуры/DNS.
 
 Рекламное место пустует
   Машротц
 
61 - 26.08.20 - 23:07
(58) Щасс попробую, наверное так сказал бы Лукашенко, спасибо!
   Машротц
 
62 - 28.08.20 - 20:55
(59) Там в теме у человека задача несколько нестандартная все-же, он хочет оставить только возможность подключения по IP, а по имени наоборот вырубить. Тут уж наверное без редактирования файлов C:\Program Files\1cv8\srvinfo\1cv8wsrv.lst и C:\Program Files\1cv8\srvinfo\reg_1541\1CV8Clst.lst и не обойтись, по-другому не получится.
Я с свою очередь тоже попробовал поиграться с этими файлами, заменить ИМЯ созданное по-умолчанию на маршрутизируемое с .local на конце. Срабатывает, но в моем случае пришлось во многих местах перебивать заново, поэтому пришёл к более оптимальному варианту.

1. Запускаю DNS сервер в сети, у меня это DNS сервер на роутере CISCO, поднимаю эту службу, создаю запись резолвинга "IP HOST SERVER.LOCAL 10.10.10.10". Разумеется, что это синтаксис Cisco IOS, на других ДНС реализациях будет другое вероятно. Самое главное, чтобы ДНС сервер в сети переадресовывал запрос клиента на ИМЯ  к IP адресу машины и конечно же у клиентов был установлен правильный DNS адрес внутреннего сервера, а не какой нибудь 8.8.8.8 или 1.1.1.1.

2. В Консоли Админки 1С создаю новый рабочий сервер "SERVER.LOCAL", вдобавок к созданному по умолчанию. В результате у меня в Кластеры/Локальный кластер/Рабочие серверы получается два сервера, один просто SERVER, а другой SERVER.LOCAL. Кому надо, могут добавить и IP адрес машины еще.

Ну и собственно всё, так всё работает без правки на клиентах файла hosts.
   Машротц
 
63 - 28.08.20 - 21:03
Забыл добавить, что клиенту доступ к базе не забывать прописывать через SERVER.LOCAL
   Машротц
 
64 - 28.08.20 - 21:07
На всякий случай напомню, что вся эта котовасия необходима при обеспечении доступа к серверу находящемуся в другой подсети, если сеть одна и та же, то конечно обычной имя SERVER работает и без всяких настроек и ДНС серверов.
   Garykom
 
65 - 28.08.20 - 22:19
Это потому что мелкомягкие хотят продавать свой сервер где есть домены.
Короче сервер 1С на линуксе простое решение.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.