Моя сеть состоит из примерно 300 вланов (между ними нет трансляции). В каждой из этих подсетей находятся компьютеры под управлением Windows (xp, vista, семь). Все они включены в одну рабочую группу (т. Е. Не входят в домен). Могут ли компьютеры получить список всех компьютеров в рабочей группе, включая компьютеры из других vlan?
В настоящее время у меня есть сервер побед и главный браузер домена. В подсетях компьютеры выбирают локальный главный браузер, но они не синхронизируют свой список с мастером домена; так что каждый vlan может только компьютеры, которые включены в его подсеть. Единственное, что обеспечивает эту синхронизацию, - это samba (настроенная как локальный мастер), но все vlan имеют только компьютер под управлением Windows.
Есть ли способ получить полный список?
Другие, более удобные в обслуживании методы, такие как домен или пиринговая установка WINS, например, предлагает joeqwerty, я бы, вероятно, выбрал подход грубой силы. Настройте Linux-сервер, подключенный к магистральному порту, чтобы он мог получить доступ ко всем vlans. Тогда я бы написал это:
for vlanNumber in `seq 1 300`; do
# create a virtual network device on vlan using vconfig
# get dhcp lease using dhclient
# use nmblookup to gather all the machine names and append them to a file
# release the dhcp lease
# drop the vlan interface
done
Не очень красиво, но, вероятно, справится со своей задачей.
Вам нужно будет настроить всех своих клиентов на использование центрального WINS-сервера или настроить WINS-сервер в каждой подсети и заставить WINS-серверы подталкивать \ тянуть партнеров друг к другу.
Вы используете DHCP в этой среде? Если это так, я считаю, что вы можете указать один или несколько серверов WINS как часть аренды DHCP. Это netbios-name-servers
опция в ISC DHCP. Это настроит их на использование указанного вами wins-сервера без необходимости касаться каждой машины.