чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Модераторы: Warderer, Модераторы разделов
чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Всем привет. Возник вроде-бы глупый вопрос - чем отличается ВЫКЛЮЧЕНЫЙ компьютер с установленным Дебиан10 от такого-же выключенного компьютера с ОС Виндовс? Я думал что ничем, но наверно есть отличие. Окуда такой вопрос:
пытаюсь включить магик-пакетом из интернета машину с ОС Дебиан.
-есть фиксированный ИП адрес, на нём рутер, за рутером три компа — 2 на виндовс, один дебиан. Порты пробросил, обе видовс машины включаются, дебиан ни в какую — только из локалки включается.
т.е. железо у машины с дебиан позволяет включаться по магик-пакету, настроено на включение правильно, но из вне не включается - только из локалки.
Значит есть какое-то отличие в этих машинах. Наверно Дебиан и виндовс при выключении меняют (или не меняют) какие-то настройки в сетевой карте, что приводит к различию в дежурном состоянии этих карт.
Как вылечить?
Снести дебиан и установить винду ради эксперимента не пробовал, может есть более простое решение
пытаюсь включить магик-пакетом из интернета машину с ОС Дебиан.
-есть фиксированный ИП адрес, на нём рутер, за рутером три компа — 2 на виндовс, один дебиан. Порты пробросил, обе видовс машины включаются, дебиан ни в какую — только из локалки включается.
т.е. железо у машины с дебиан позволяет включаться по магик-пакету, настроено на включение правильно, но из вне не включается - только из локалки.
Значит есть какое-то отличие в этих машинах. Наверно Дебиан и виндовс при выключении меняют (или не меняют) какие-то настройки в сетевой карте, что приводит к различию в дежурном состоянии этих карт.
Как вылечить?
Снести дебиан и установить винду ради эксперимента не пробовал, может есть более простое решение
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Если Debian включается при принятии WoL-пакета с соседней машины, но не включается при принятии того же самого пакета с роутера, то это явно проблемы форвардинга и нужно проверять порты/файрвол.
Спасибо сказали:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
magic-пакет WOL является пакетом L2, самостоятельно пересекать пределы физического сегмента сети не умеет. Поэтому, ваш рутер
-- либо ретранслирует WOL-пакет с внешнего интерфейса во внутреннюю сеть, и включаются все три,
-- либо две невыключенные машины с Windows поднимаются по активности на интерфейсе, а вовсе не по WOL-пакету.
PS. WoL-пакет может быть инкапсулирован в UDP или IPX, и таким образом доставлен в нужный сегмент сети через рутер (L3). Если это ваш случай, проверяйте, проходит ли в итоге через рутер пакет верхнего уровня и попадает ли WoL-пакет в сеть нужный сегмент сети.
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
проброс портов делал лично на все три компа, там ну очень сложно ошибиться, файрвол выкл
Последний раз редактировалось Bizdelnick 08.11.2019 15:14, всего редактировалось 1 раз.
Причина: поправил теги
Причина: поправил теги
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
igorbel
Форвардинга куда? Тут либо надо знать соответствие MAC и IP, либо посылать широковещательный запрос. Второй случай роутер, понятное дело, должен пресечь. А с первым если в его кеше ARP нет (а зприси живут там недолго), то надо сначала послать ARP request и ждать ответа от клиента. А чтобы клиент ответил, недостаточно работающего сетевого адаптора, в нём должна ещё как-то работать сконфигурированая сеть IP.
Форвардинга куда? Тут либо надо знать соответствие MAC и IP, либо посылать широковещательный запрос. Второй случай роутер, понятное дело, должен пресечь. А с первым если в его кеше ARP нет (а зприси живут там недолго), то надо сначала послать ARP request и ждать ответа от клиента. А чтобы клиент ответил, недостаточно работающего сетевого адаптора, в нём должна ещё как-то работать сконфигурированая сеть IP.
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
форвардинг идёт на конкретный ИП адрес конкретного устройства определяемого МАК _ом, Ещё раз: два компа по такой схема ВКЛЮЧАЮТСЯ значит прописано и проброшено всё правильно, третий сделан аналогично - ошибиться очень сложно.
Далее - АРП, живёт около 20мин после выкл, это я уже проходил когда первые два отказывались включаться через 20мин после выключения, т.е. выключил первые 20мин всё красиво включается, потом нет. Это победил давно - заходишь в рутер через Телнет и ручками (несмотря на то что в АРП стоит статика для данного адреса) переписываешь таблицу где указываешь статику и всё - после этого помнит вечно
Далее - АРП, живёт около 20мин после выкл, это я уже проходил когда первые два отказывались включаться через 20мин после выключения, т.е. выключил первые 20мин всё красиво включается, потом нет. Это победил давно - заходишь в рутер через Телнет и ручками (несмотря на то что в АРП стоит статика для данного адреса) переписываешь таблицу где указываешь статику и всё - после этого помнит вечно
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Так, к слову, раз уж телнет доступен, то можно попробовать пробросить броадкаст и тогда на шлюзе достаточно будет лишь одного открытого порта для WOL.
Добавлено (15:44):
Вообще, хорошо бы посмотреть снифером на то что приходит от шлюза, при посылке через него WOL.- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
А может быть, здесь собака и порылась? Для двух всё прописали, для третьего что-то забыли?igorbel писал(а): ↑08.11.2019 15:34это я уже проходил когда первые два отказывались включаться через 20мин после выключения, т.е. выключил первые 20мин всё красиво включается, потом нет. Это победил давно - заходишь в рутер через Телнет и ручками (несмотря на то что в АРП стоит статика для данного адреса) переписываешь таблицу где указываешь статику и всё - после этого помнит вечно
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
с телнетом сейчас проблема - провайдер рутер поменял и к новому не пускает так далеко. Не буду рассказывать как я техника от провайдера заставлял таблицу АРП ручками переписывать ... в общем без насилия над личностью не обошлось
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
igorbel
Мне кажется, что навязывание услуги аренды оборудования в дополнение к трафику - это ещё большее насилие.
Мне кажется, что навязывание услуги аренды оборудования в дополнение к трафику - это ещё большее насилие.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
В общем, всё уже сказали: ARP-таблицы, форвардинг пакетов, проброс портов.
От себя могу добавить, что у нас эта штука нормально не взлетела.
Из локалки пробуждается - через раз. Снаружи не пробуждается вообще. Это под Win7.
Похоже, эти будящие пакеты очень плохо преодолевают всякие шлюзы/роутеры и прочую маршрутизацию.
Единственный вариант, который нормально сработал - в интерфейсе роутера есть кнопка пробуждения компа по MAC. Вот оно работает, да. Остальное - как повезёт. Правда, мы экспериментировали только с широковещательными пакетами.
Не разбудит. В противном случае любой комп в локальной сети включался бы от любого прителевшего сетевого пакета.
Была под win какая-то софтина - умела принимать/отправлять будящие пакеты.
Позволяла указать адрес, подсеть, порт. Толку от неё немного: при включённом компе всё летает, как надо. Всё успешно тестируется.
Выключаешь комп - всё прекращается.
В целом затея не слишком стабильная.
Наиболее надежным представляется такой вариант: в локалке есть один комп, постоянно включенный и доступный снаружи. На него заходим по ssh и с него пробуждаем уже нужные машины в локалке. Это можно даже почти в автоматическом режиме: будящий пакет отправляется автоматом при логине на "будящем" компе по ssh спец. пользователя.
Такой "будящий" комп можно заменить на роутер с соответствующими поправками.
У нас, к сожалению, такую схему применить затруднительно.
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
В третьем случае он точно не опечатался в MAC-адресе?
Еще момент: нет ли у третьей машины настройки MAC-адреса из BIOS, а если есть, то не может ли так получиться, что при выключении он сбрасывается на какой-то дефолтный? Там еще бывает security вариант -- случайный MAC при загрузке, ничего такого не замечено?
Если на третью машину поставить рядом Win7, то поведение при выключении из нее будет отличаться от выключения из Debian?
PS. В Windows 7 еще не было Fast Boot, эту часть можно игнорировать.
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
MAC адрес прописан правильно, проверял, через вэб интерфейс у меня есть доступ к рутеру правда с ограниченными правами.
Случайный МАС это врядли. При таком раскладе он и из локалки бы не включался. Я так думаю.
Случайный МАС это врядли. При таком раскладе он и из локалки бы не включался. Я так думаю.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Я бы сформулировал чуть иначе: проблема в наличии роутера как такового.
По итогам проведенных экспериментов я склоняюсь к мысли, что "будящие пакеты" в принципе не могут преодолеть цепочку из роутеров, шлюзов и т.п.
Допустим, "будящий пакет" прилетел снаружи и был принят роутером. Дальше роутер должен этот пакет перенаправить той машине, которую надо "разбудить". Вариантов здесь всего два: либо на конкретный адрес в локальной сети, либо широковещательная рассылка.
Однако конкретный адрес в этот момент не существует (целевая машина выключена), а значит нужно довольствоваться широковещательными пакетами, которые благополучно где-то теряются (есть мнение, что большинство "бытовых" роутеров просто не пропускает широковещательные пакеты).
В таком случае остается ещё вариант с ARP-таблицей, но во-первых, не всякий роутер это позволяет делать, а во-вторых, даже при заполненной таблице пробуждение срабатывает "через раз". Таким образом, роутер становится почти непреодолимым препятствием для "будящего пакета". И это всё для случая, когда на пути к целевой машине у нас один роутер. А если больше?.. Практически безнадежно.
Попадался мне такой сервис: пробуждение машины из интернета через сайт. Но ведь работать это будет только в одном случае: интернетный кабель воткнут прямо в сетевую карту целевой машины и машине присвоен статический белый IP. Никакие роутеры (в том числе провайдерские) здесь не подразумеваются.
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Могут, если их завернуть в UDP, что автор, по его уверению, и делает. Ему просто нужно убедиться, что пакет проходит роутер и в неизменном виде транслируется в сеть с машиной Debian.Hephaestus писал: ↑09.11.2019 23:04По итогам проведенных экспериментов я склоняюсь к мысли, что "будящие пакеты" в принципе не могут преодолеть цепочку из роутеров, шлюзов и т.п.
Добавлено (02:26):
Проверить можно, например, даже с помощью `ngrep '\xff{6}(.{6})\1{15}' -x port НОМЕР_ПОРТА_КУДА_РОУТЕР_ФОРВАРДИТ_ПАКЕТ` или `nc --udp --listen --local-port=НОМЕР_ПОРТА_КУДА_РОУТЕР_ФОРВАРДИТ_ПАКЕТ --hexdump`.Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Проверять конечно можно, а нужно-ли?
Вот по простому - объясните отчего это рутер так не любит именно машину с дебиан?
Виндовые машины включаются без проблем и НЕ через раз, а стабильно. Причем одна винд манина подключена непосредственно к рутеру, так-же как и дебиан, а вторая винд машина ещё через свич.
Исходя из выше сказанного получается проблема именно в третьей машине
Вот по простому - объясните отчего это рутер так не любит именно машину с дебиан?
Виндовые машины включаются без проблем и НЕ через раз, а стабильно. Причем одна винд манина подключена непосредственно к рутеру, так-же как и дебиан, а вторая винд машина ещё через свич.
Исходя из выше сказанного получается проблема именно в третьей машине
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Вывод преждевременный.
Отрежьте от последнего раздела 20 ГБ (требование Win7 x64), поставьте Windows и проверьте, в Debian ли дело.
Насколько понимаю, такая проверка до сих пор проведена не была?
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Вставлю свою копейку...
После обновления до Debian 10 обнаружил отвалившийся WOL - всё правильно настроено, но машина не пробуждается. Поковырялся в интернетах, выяснил на буржуйских ресурсах, что в моём случае (очень вероятно, что) виноват кривой модуль r8169.
Воткнул модуль r8168-dkms (есть такой спецом в репозитории) - о боги, WOL работает чудесато! Однако отвалился web-server, munin и ещё что-то, уахахахаха...
Вернул r8169 и просто откатился с ядра 4.19.0-6-686-pae на 4.9.0-11-686-pae. И всё заработало!
А сначала тоже грешил на роутер. Правда, нужно иметь в виду, что в моём случае маджик-пакет отправляется только в локальной сети, не из внешки.
Мораль сей басни - стОит глянуть на ядро и драйвер сетевухи, на всякий случАй.
После обновления до Debian 10 обнаружил отвалившийся WOL - всё правильно настроено, но машина не пробуждается. Поковырялся в интернетах, выяснил на буржуйских ресурсах, что в моём случае (очень вероятно, что) виноват кривой модуль r8169.
Код: Выделить всё
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
Subsystem: Pegatron RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Kernel driver in use: r8169
Kernel modules: r8169
Вернул r8169 и просто откатился с ядра 4.19.0-6-686-pae на 4.9.0-11-686-pae. И всё заработало!
А сначала тоже грешил на роутер. Правда, нужно иметь в виду, что в моём случае маджик-пакет отправляется только в локальной сети, не из внешки.
Мораль сей басни - стОит глянуть на ядро и драйвер сетевухи, на всякий случАй.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Не понял. Куда их надо завернуть?
WoL-пакет - штука бинарная и формируется/отправляется, в общем случае, какой-нибудь утилитой (python-скриптом, perl-скриптом или ещё чем).
За все инструменты не скажу, но те, которые я пробовал (wakeonlan, wakelan) - и так отправляют UPD-пакет.
TCP там просто не имеет смысла.
И даже в этом случае пакеты не проходят через роутеры/шлюзы, потому что широковещательные пакеты, судя по всему, рубятся роутером, а на конкретную машину переслать невозможно, так как IP не существует.
Допускаю, что ARP-таблица поможет в этом. Возможно, я просто не до конца разобрался.
Те материалы, которые я смотрел по теме, предписывали заносить в ARP-таблицу широковещательный адрес, а роутер это не пропускает, вероятно. Если занести в ARP-таблицу IP конкретной машины, может толк и будет, не знаю.
На рабочем роутере сильно не пошаманишь - я там не админ.
А на домашнем дело осложняется динамическим внешним IP, который может быть "серым".
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Проще взять нормальный снифер (wireshark, tshark и т. п.).
Когда что-то работает не так, как надо, надо максимально точно локализовать, где происходит ошибка. Как показывает опыт, руководствоваться сделанными на пустом месте предположениями крайне непродуктивно.
Для того, чтобы это объяснить, тоже придётся делать какие-то необоснованные предположения.
И firmware. Но сначала, всё же, поснифать трафик.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Снифер автору я уже предложил раньше... Но какая разница, автору ехать нужно, а не проверять.
Добавлено (13:37):
Для этого делается IP-форвард с внешнего интерфейса роутера, на броадкаст-адрес внутренней сети.Hephaestus писал: ↑10.11.2019 13:22И даже в этом случае пакеты не проходят через роутеры/шлюзы, потому что широковещательные пакеты, судя по всему, рубятся роутером, а на конкретную машину переслать невозможно, так как IP не существует.
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Извините за вмешательство, а как можно вообще широковещатетельным пакетом пробудить конкретную машину, тоже должен быть в нём зашито какое-то подобие адреса, а то все проснутся?
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
А, ну да, тот же MAC чем не адрес. Но там же пишут во первых строках - "технология, позволяющая удалённо включить компьютер посредством отправки через _локальную сеть_". Хотя дальше есть оговорки.
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
yoricI
Да все просто: пришел на интерфейс с включенным WOL кадр Ethernet и примитивный парсер в прошивке сетевой карты обнаружил там строку с 0xFF и MAC-адресом - генерируем событие ACPI на включение.
Да все просто: пришел на интерфейс с включенным WOL кадр Ethernet и примитивный парсер в прошивке сетевой карты обнаружил там строку с 0xFF и MAC-адресом - генерируем событие ACPI на включение.
Re: чем отличается выключеный компьютер с ОС Linux от компьютера с OC Windows
Кстати, хорошая задача для незадачливых хакеров. Узнать MAC в локальной сети не так уж трудно, вроде бы, как мне помнится :-) А выключения по сети нет как такового?