Я настроил Samba и LAMP-сервер на машине под управлением Ubuntu 9.04 Desktop и хочу убедиться, что другие компьютеры в нашей сети всегда могут получить доступ к samba и веб-сервисам на этой машине по ее имени. Допустим, имя хоста - buildmachine1. Я хочу, чтобы клиенты Windows могли получить доступ к общим ресурсам samba с помощью "\ buildmachine1 \ developersproject1" или веб-служб по адресу "http: // buildmachine1 / websvn"
buildmachine1 подключен к нашей локальной сети, которая является частью гораздо большей сети Windows. Эта более крупная сеть управляется сверхмощными существами, которые живут в недостижимой галактике и передают свои административные задачи сети сверхмощным существам, живущим в другой недостижимой галактике. В итоге, buildmachine1 ни какое-либо существо / пользователь не имеет разрешения на присоединение к домену Windows.
Мой ограниченный опыт и эта проблема намекают, что машина должна быть членом домена, чтобы быть доступной по ее имени. Все разработчики могут получить доступ к машине по ее IP-адресу, но этот адрес периодически меняется, поэтому, если мы сопоставили буквы дисков с IP-адресом или настроили наших клиентов Subversion для доступа к репозиториям через http://192.168.99.99/svn, мы, очевидно, должны перенастроить все при изменении IP.
Учитывая обстоятельства и платформы, как мы можем надежно получить доступ к машине по ее имени вместо постоянно меняющегося IP-адреса?
Нет, он не обязательно должен быть членом домена Windows. Но поскольку это внутренний сервер, простые шаги:
И то, и другое заставит вас просить об этом изменении у сверхмощных существ - и так оно и есть. Однако ни один из них не зависит от Windows.
Другой способ - заставить машину регистрировать свое собственное имя, когда она получает свою динамическую аренду IP, хотя для этого требуется, чтобы многое было правильным ... на большинство из них уже ответили в этот вопрос.
В качестве последнего партизанского средства вы можете ввести IP-адрес машины в файл hosts каждого пользователя и продолжать изменять его при изменении IP. Звучит потрясающе, не правда ли? ;)
Итак, в конце концов, вам всегда нужны сверхмощные существа, которые следуют политике, и эта политика должна включать в себя, как утверждать (или отклонять) и внедрять изменения ... а создание рабочей политики - это ответственность руководства в конечном итоге. Или что-то в этом роде.
Безумная идея, но у вас должна быть возможность открыть заявку в службу поддержки, верно?
Я знаю, что для этого потребуется преодолеть множество препятствий, но почему бы не открыть заявку в справочной службе, сделать ее понятной и простой, сказать им, что вы хотите сделать. ИТ-отделы, кажется, забывают, что они нужны для поддержки конечных пользователей.
Я бы предложил что-то вроде этого.
Мы требуем, чтобы следующий MAC-адрес 00 00 00 00 00 00 00 00 был назначен статическому IP-адресу, и этот IP-адрес был сопоставлен с внутренним DNS-именем buildserver1.internal.company.local
Мы требуем этого из-за того, что динамические изменения IP приводят к сбою сборки, что вызывает задержки в проекте.
Если для этого требуется одобрение менеджера, пожалуйста, сообщите уровень менеджера, необходимый для одобрения.
Теперь, если ИТ-отдел отклоняет его, вы переадресовываете своему руководителю, если он говорит «нет», принимайте решение. И сделайте это для ВСЕГО, что вам нужно, независимо от того, насколько мало, продолжайте документировать все проблемы, которые ОНА вызывает у вас, отклоняя ответные запросы, произойдет одно из трех:
Я сделал это в одном месте, и в итоге они дали разработчикам 12 статических IP-адресов для запуска тестовых серверов.
Поскольку вы упомянули, что ваши клиенты являются частью гораздо большей сети Windows. Я предполагаю, что это включает в себя WINS-сервер. Я бы попросил администраторов вашего сервера добавить туда статическую запись для сервера Linux. Вы также можете обмануть и отредактировать файл hosts, если это всего несколько клиентов.
Вам не нужно, чтобы компьютер был частью домена, чтобы ссылаться на него по имени (имя NetBIOS). NetBIOS может работать независимо от сервера путем согласования того, кто будет главным обозревателем в подсети. Чтобы сделать работу менее нестабильной в больших сетях, обычно используется WINS-сервер - WINS - это своего рода DNS для имен NetBIOS.
Samba использует широковещательные рассылки NetBIOS и использует имя хоста в качестве имени NetBIOS. Так что обычно то, что вы ищете, будет работать.
Проблема в том, что NetBIOS ограничен локальной подсетью, если не задействован WINS-сервер. Итак, вы можете установить nmdb (Linux WINS Server) на вашем сервере и на ваших клиентах Windows добавьте вторичный сервер WINS ... но уловка здесь в том, что вам нужен статический IP-адрес на вашем компьютере, чтобы добавить сервер WINS на клиентах :-).
Поэтому, если вы не можете получить статический IP от вышестоящих или принудительно статический IP, вы - СОЛНЕЧНО.
Машины Windows справляются с этим с помощью NetBIOS. Я не знаю достаточно о Linux, чтобы исследовать для вас, но Google может найти вам совместимую с NetBIOS службу, которую вы могли бы запустить на своем компьютере с Linux.
Однако разрешение имен NetBIOS не очень элегантно. Он просто выполняет широковещательную рассылку, чтобы спросить, у кого это имя, поэтому он будет работать только в одной подсети. Если вы можете следовать предложениям @Oskar, это будет более элегантное решение.
РЕДАКТИРОВАТЬ: хотя ваша машина сборки имеет адрес DHCP, вы можете обнаружить, что он не так часто меняется. Обычно это изменяется только в том случае, если сервер выключен, когда истекает срок его аренды DHCP. Я предполагаю, что это поле не отключается очень часто ... Если его адрес не меняется часто, вы можете найти файл hosts - приемлемое решение. В lmhosts.sam можно указать
#include <filename>
где filename может быть UNC-путем. Таким образом, вам нужно будет поддерживать только одну запись в одном файле.
Я все еще думаю, что получение помощи от ваших сетевых администраторов, чтобы дать вашей сборочной машине запись DNS (@Oskar), является лучшим вариантом. если вы можете найти способ получить их помощь.