По умолчанию WOL используются порты 7 и 9 UDP. Вопрос - что делать если эти порты закрыты провайдером?
» WOL (wake-on-lan) - просыпаться по запросу из сети
Ответ - использовать порт 10 (например), и сделать перенаправление на роутере.
Цитата:
Provizor_VRN
народ подскажите а как сделать так чтобы эта функция не работала, ато походу в сети шутники завелись.
Бывает же
Такая фигня - по ночам бывает что включается машинка, после Hibernate'а.
Че делать? Дома в сети ничего что могло послать WOL пакет - нету, WOL отключен, включение после подачи питания - тоже.
Че делать? Дома в сети ничего что могло послать WOL пакет - нету, WOL отключен, включение после подачи питания - тоже.
вместо nncron смотри в сторону xstart
под вислой работает
Добавлено:
имеем доступ к машине через инет
допустим разобрались с WOL
а можно ли включить машину через wifi?
т.е машина находиться за adsl wifi роутером.
под вислой работает
Добавлено:
имеем доступ к машине через инет
допустим разобрались с WOL
а можно ли включить машину через wifi?
т.е машина находиться за adsl wifi роутером.
Давненько хотел отписать в тему, вдруг кому пригодится.
У меня домен средних размеров - 250 компов.
Часто возникала ситуация, когда нужно было включить комп через WOL, а MAC-адрес этого компа был неизвестен (терялся, заканчивалась аренда в DHCP и т.п.).
И пришла мне идея использовать AD в качестве базы данных для хранения MAC-адресов.
Задача разбивается на две части:
1) Сохранить MAC в AD.
2) Выуживать MAC из AD и запускать по нему маджик-пакет.
Первая задача решается запуском [more=VBS-скрипта]
''' Скрипт для сохранения MAC-адреса в Active Directory
''' FL0od's Bicycles 2008-2009
''' Версия 1.02 (используется вместе с WOLfAD)
On Error Resume Next
Dim AD_Attribute
AD_Attribute = "location" ' Указываем имя атрибута (строкового) объекта типа "компьютер", куда будут сохранятся MAC'и
PutMACtoAD AD_Attribute, GetMAC_String
'
'------------------ Функции и процедуры --------------------
'
Function GetMAC_String
Dim strNameSpace, strQuery, strMAC
strNameSpace = "winmgmts:{impersonationLevel=impersonate}//./root/cimv2"
strQuery = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"
Set colAdapters = GetObject(strNameSpace).ExecQuery(strQuery)
For Each objAdapter in colAdapters
If not Instr(StrMAC,objAdapter.MACAddress)>0 then StrMAC = StrMAC & objAdapter.MACAddress & ";"
Next
''''''wscript.echo StrMAC
GetMAC_String = StrMAC
End Function
Sub PutMACtoAD(Attr, MAC)
Dim objSysInfo, objComputer
Set objSysInfo = CreateObject("ADSystemInfo")
strComputerDN = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputerDN)
objComputer.put Attr,MAC
objComputer.SetInfo
Set objComputer = Nothing
Set objSysInfo = Nothing
End Sub
[/more]
Его я запускаю через GPO при логоне пользователя.
Причём делаю это от имени другого пользователя (SaveMACtoAD), используя халявную программу CPAU,
т.к. у обычного пользователя прав на редактирование свойств компьютера в AD быть не должно.
Этот пользователь (SaveMACtoAD) должен быть в группе "Domain Users" и иметь права на чтение/запись свойства компьютера в AD.
Я использую в скрипте для хранения MAC-адресов св-во "location" (Размещение).
Делегировать стандартными средствами права только на это св-во нельзя.
Я дал права пользователю SaveMACtoAD при помощи adsiedit.msc:
Корень домена->Правой кнопкой Свойства->Безопасность->Дополнительно->Добавить->SaveMACtoAD->Свойства->"Компьютер объектов"->Галки Чтение и Запись "location"
Но можно дать права и через dsa.msc, воспользовавшись статьёй http://support.microsoft.com/kb/308404,
по которой нужно добавить в конец файла C:\WINDOWS\inf\delegwiz.inf [more=такой вот кусок.]
;Вместо XX нужно вставить номер шаблона по порядку.
[templateXX]
AppliesToClasses=domainDNS,organizationalUnit,container
Description = "location"
ObjectTypes = computer
[templateXX.computer]
location=GA
[/more]
Если всё сделать правильно, то при запуске скрипта от пользователя SaveMACtoAD, в свойствах компьютера AD должны появится MAC-адреса через ";".
Теоритически можно дать прав учётке SYSTEM на правку свойства и применять скрипт через GPO на компьютер, не заморачиваясь с CPAU, но я не тестил.
Вторую задачу я решил, написав прогу на .Net. Она имеет все болячки Framework'а (объём, проблемы с запуском с шары и т.п.),
поэтому если кто захочет её переписать более внятно - я могу дать исходники.
Саму прогу выложил здесь: http://slil.ru/28260487
Её оч. удобно использовать, прикрутив к FPinger'у (правой кнопкой по компу - включить).
У меня домен средних размеров - 250 компов.
Часто возникала ситуация, когда нужно было включить комп через WOL, а MAC-адрес этого компа был неизвестен (терялся, заканчивалась аренда в DHCP и т.п.).
И пришла мне идея использовать AD в качестве базы данных для хранения MAC-адресов.
Задача разбивается на две части:
1) Сохранить MAC в AD.
2) Выуживать MAC из AD и запускать по нему маджик-пакет.
Первая задача решается запуском [more=VBS-скрипта]
''' Скрипт для сохранения MAC-адреса в Active Directory
''' FL0od's Bicycles 2008-2009
''' Версия 1.02 (используется вместе с WOLfAD)
On Error Resume Next
Dim AD_Attribute
AD_Attribute = "location" ' Указываем имя атрибута (строкового) объекта типа "компьютер", куда будут сохранятся MAC'и
PutMACtoAD AD_Attribute, GetMAC_String
'
'------------------ Функции и процедуры --------------------
'
Function GetMAC_String
Dim strNameSpace, strQuery, strMAC
strNameSpace = "winmgmts:{impersonationLevel=impersonate}//./root/cimv2"
strQuery = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"
Set colAdapters = GetObject(strNameSpace).ExecQuery(strQuery)
For Each objAdapter in colAdapters
If not Instr(StrMAC,objAdapter.MACAddress)>0 then StrMAC = StrMAC & objAdapter.MACAddress & ";"
Next
''''''wscript.echo StrMAC
GetMAC_String = StrMAC
End Function
Sub PutMACtoAD(Attr, MAC)
Dim objSysInfo, objComputer
Set objSysInfo = CreateObject("ADSystemInfo")
strComputerDN = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputerDN)
objComputer.put Attr,MAC
objComputer.SetInfo
Set objComputer = Nothing
Set objSysInfo = Nothing
End Sub
[/more]
Его я запускаю через GPO при логоне пользователя.
Причём делаю это от имени другого пользователя (SaveMACtoAD), используя халявную программу CPAU,
т.к. у обычного пользователя прав на редактирование свойств компьютера в AD быть не должно.
Этот пользователь (SaveMACtoAD) должен быть в группе "Domain Users" и иметь права на чтение/запись свойства компьютера в AD.
Я использую в скрипте для хранения MAC-адресов св-во "location" (Размещение).
Делегировать стандартными средствами права только на это св-во нельзя.
Я дал права пользователю SaveMACtoAD при помощи adsiedit.msc:
Корень домена->Правой кнопкой Свойства->Безопасность->Дополнительно->Добавить->SaveMACtoAD->Свойства->"Компьютер объектов"->Галки Чтение и Запись "location"
Но можно дать права и через dsa.msc, воспользовавшись статьёй http://support.microsoft.com/kb/308404,
по которой нужно добавить в конец файла C:\WINDOWS\inf\delegwiz.inf [more=такой вот кусок.]
;Вместо XX нужно вставить номер шаблона по порядку.
[templateXX]
AppliesToClasses=domainDNS,organizationalUnit,container
Description = "location"
ObjectTypes = computer
[templateXX.computer]
location=GA
[/more]
Если всё сделать правильно, то при запуске скрипта от пользователя SaveMACtoAD, в свойствах компьютера AD должны появится MAC-адреса через ";".
Теоритически можно дать прав учётке SYSTEM на правку свойства и применять скрипт через GPO на компьютер, не заморачиваясь с CPAU, но я не тестил.
Вторую задачу я решил, написав прогу на .Net. Она имеет все болячки Framework'а (объём, проблемы с запуском с шары и т.п.),
поэтому если кто захочет её переписать более внятно - я могу дать исходники.
Саму прогу выложил здесь: http://slil.ru/28260487
Её оч. удобно использовать, прикрутив к FPinger'у (правой кнопкой по компу - включить).
Цитата:
т.е машина находиться за adsl wifi роутером.
говорят что виндовс 7 будет это уметь
у меня вопрос
на материнке есть встроенная сетевуха - по которой прерасно получается включать комп
+ на есть еще одна сетевуха дополнительная (не встроенная) - на которую никак не могу добиться включения компьютера.
вопрос? почему?)
на материнке есть встроенная сетевуха - по которой прерасно получается включать комп
+ на есть еще одна сетевуха дополнительная (не встроенная) - на которую никак не могу добиться включения компьютера.
вопрос? почему?)
Цитата:
у меня вопрос
на материнке есть встроенная сетевуха - по которой прерасно получается включать комп
+ на есть еще одна сетевуха дополнительная (не встроенная) - на которую никак не могу добиться включения компьютера.
вопрос? почему?)
Видимо потому, что она не поддерживает данную функцию. Как это понять? Очень просто: у сетевух с поддержкой вола есть спец разъём для подключения к материнской плате через небольшой шнурок о трёх проводах.
спасибо
действительно провода нет
но прочел в статье от 04 Ноября 2004
Цитата:
у меня метеринка GA-81PE1000-G и судя по описанию на сайте производителя
Слоты расширения 5 PCI слотов (совместимы с PCI 2.3)
на самой метеринке разъема для провода от сетевухи -- нет.
в настройках второй сетевухи стоит опция включения WOL.
действительно провода нет
но прочел в статье от 04 Ноября 2004
Цитата:
"В современных материнских платах с поддержкой PCI 2.2, WOL-провод не требуется, так как коммутация осуществляется напрямую."
у меня метеринка GA-81PE1000-G и судя по описанию на сайте производителя
Слоты расширения 5 PCI слотов (совместимы с PCI 2.3)
на самой метеринке разъема для провода от сетевухи -- нет.
в настройках второй сетевухи стоит опция включения WOL.
ну могу только одно предложить и ещё одно предположить.
Предложение: попробовать вставлять сетевуху во все слоты.
Предположение: банальная "несовместимость железа".
Предложение: попробовать вставлять сетевуху во все слоты.
Предположение: банальная "несовместимость железа".
Цитата:
в настройках второй сетевухи стоит опция включения WOL.
Ага, вот почему у нас компы включались некоторые, когда их пинговали Оказывается, просыпаться может не только от магического пакета, но и от пинга и пакета АРП.
Цитата:
ну могу только одно предложить и ещё одно предположить.
Предложение: попробовать вставлять сетевуху во все слоты.
Предположение: банальная "несовместимость железа".
менял слот - тот же результат - т.е. его отсутствие
еще интересно что когда ставил в настройках возможность пробуждения - то windows не слабо так повис? странно такая вот вещь
IMHO надо в настройках BIOS поковыряться.
Цитата:
IMHO надо в настройках BIOS поковыряться.я там вроде все включил - иначе бы интегрированная сетевая бы не будила бы. но посмотрю ещё)))
вопрос: может ли быть такое, что просто мать заточена включаться только от интегрированной сетевухи? бредовое предположение конечно, но такое возможно?
Скажите, если комп, который надо включить, находится за провайдерским NAT то его через интернет никак нельзя включить?
Цитата:
Скажите, если комп, который надо включить, находится за провайдерским NAT то его через интернет никак нельзя включить?
http://www.wakeonlan.ru/
urodliv
Цитата:
Если можно, тогда какой там IP указывать: внешний или внутренний широковещательный для подсети?
Цитата:
http://www.wakeonlan.ru/
Если можно, тогда какой там IP указывать: внешний или внутренний широковещательный для подсети?
А у вас на машине какой айпишник: серый или белый?
urodliv
Цитата:
Серый.
Цитата:
А у вас на машине какой айпишник: серый или белый?
Серый.
Тогда увы...
Если есть хоть один комп работающий постоянно то можно и на сером.
Nikkolo
Цитата:
А можно поподробней? Этот комп должен быть в той же локальной сети?
Хотелось бы без всяких перенаправлений портов у ISP, а то провайдер вряд ли пойдет на встречу.
Цитата:
Если есть хоть один комп работающий постоянно то можно и на сером.
А можно поподробней? Этот комп должен быть в той же локальной сети?
Хотелось бы без всяких перенаправлений портов у ISP, а то провайдер вряд ли пойдет на встречу.
Цитата:
А можно поподробней? Этот комп должен быть в той же локальной сети?
Хотелось бы без всяких перенаправлений портов у ISP, а то провайдер вряд ли пойдет на встречу.
Если у вас "серый" адрес (это вы сами написали) ISP ничего, никуда перенаправлять не будет, и это логично. Если есть включённый комп в той же локалке, что и нужный нам комп, то поставьте на него хамач, тимвьювер и т.д. И уже с него запускайте волшебный пакет.
Никто не знает, как можно отправить magic packet c определенного порта на локальной машине?
Во всех встречавшихся утилитах параметра souce port к сожалению нету.
Во всех встречавшихся утилитах параметра souce port к сожалению нету.
myual
"В чём сила брат?" (с)
"В чём сила брат?" (с)
urodliv
Цитата:
В данном случае -- в том, что в магич. udp пакете source port должен равняться заданному, иначе он не пройдет куда нужно.
P.S. Или я не правильно понял сей вопрос?)
Цитата:
"В чём сила брат?" (с)
В данном случае -- в том, что в магич. udp пакете source port должен равняться заданному, иначе он не пройдет куда нужно.
P.S. Или я не правильно понял сей вопрос?)
Цитата:
В данном случае -- в том, что в магич. udp пакете source port должен равняться заданному, иначе он не пройдет куда нужно.
То есть вы его собираетесь толкать через сетевой экран, который отслеживает исходящие порты? Тогда решение в лоб: виртуалка + линь +snat
urodliv
Цитата:
А более эллегантного решения нет?
В идеале -- одна утилита с соотв. опциями настройки.
Пока нашел такой вариант: сниффить пакеты, модифицировать содержимое пакетов и отправлять модифицированные пакеты.
Цитата:
То есть вы его собираетесь толкать через сетевой экран, который отслеживает исходящие порты? Тогда решение в лоб: виртуалка + линь +snat
А более эллегантного решения нет?
В идеале -- одна утилита с соотв. опциями настройки.
Пока нашел такой вариант: сниффить пакеты, модифицировать содержимое пакетов и отправлять модифицированные пакеты.
Цитата:
А более эллегантного решения нет?
Если сходить по вышеозначенной cсылкt, то можно взять оттуда примеры кодов для формирования "магического пакета" и добавить нужный функционал. Но в программировании я не дока, так что сами... или в ветку программеров.
Предыдущая тема: Репликация между WinNT и Win2K
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.