Вопрос профессионалам

Среди наших читателей много сертифицированных специалистов по семейству операционных систем Windows компании Microsoft.

Мне прислали отличный вопрос, который хотелось бы адресовать всем системным администраторам и иже с ними.

Ответ должен быть полным, желательно с ссылкой на MS либо RFC.

Итак, вопрос в оригинале:

host1: 10.0.0.1/24, default gw 10.0.0.1
host2: 192.168.0.1/24 default gw 192.168.0.1
хосты объединены через хаб/коммутатор (роли не играет).
с host1 делается  команда
> ping 192.168.0.1

какой будет результат?

Ответ, типа “дестинейшн хост анричибл” советую оставить при себе.

Так как у всех есть виртуальная среда, можете быстро настроить стенд для проверки.

Запись опубликована в рубрике Новости с метками . Добавьте в закладки постоянную ссылку.

36 комментариев на «Вопрос профессионалам»

  1. P.Masalkin говорит:

    Витя, ну что тебя так задело, а? Имхо ваш сайт не терон.ру, чтобы подобные холивары разводить

  2. Mister Nobody говорит:

    Это не холивар, это очень важный вопрос.

  3. Mister Nobody говорит:

    Кроме того, надо на сайте, хотя бы в пятницу, иметь элемент развлечения – мозговой разминки, а то вскипит серое вещество.

  4. P.Masalkin говорит:

    Сдаюсь. И каков ответ?

  5. Mister Nobody говорит:

    Ответ подождем до пн!

  6. Андрей говорит:

    Советую всем сначала поднять тестовые машинки, посмотреть, а потом понять почему именно так. MS пишет про использование таких настроек, но не про то почему такие настройки дают странный результат. RFC не нашел, если кто покажет – буду крайне благодарен.

  7. CLaiN говорит:

    то есть гейтвея как такового нет. только две машинки и все?

  8. Alex говорит:

    Конечно немного имхо странные настройки 🙂
    Что гетвеем хост юзает (по настройкам) сам себя…

  9. P.Masalkin говорит:

    C:\Documents and Settings\XXX>arp -a

    Интерфейс: 10.0.0.1 — 0x2
    Адрес IP Физический адрес Тип
    192.168.0.1 00-03-ff-f0-a2-f6 динамический

    Я правильно мыслю?

  10. Андрей говорит:

    По результатам: на винде пинги бегают, arp отрабатывает; на фряхе пинги убегают (tcpdump показывает), а вот arp не хочет, встает вопрос с каким маком назначения убегает пинг. Логично предположить что с широковещалкой, но вот ответа не приходит, да и машина назначения пакет не получает (судя по тому же tcpdump).

    ps RFC в студию … блин 🙂

  11. P.Masalkin говорит:

    Наверное, нет. Правильнее так:
    Активные маршруты:
    Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
    0.0.0.0 0.0.0.0 10.0.0.1 10.0.0.1 20

  12. P.Masalkin говорит:

    То есть мы имеем дело с маршрутом по умолчанию

  13. A.Vakhitov говорит:

    ARP-пакет убегает с хоста на MAC-адрес FFFF.FFFF.FFFF.
    Когда ARP-пакет возвращается обратно на хост, в нем содержатся оба MAC-адреса (как источника, так и получателя).
    Инфа от ПО Cisco Packet Tracer.

  14. P.Masalkin говорит:

    Виктор, ну так эта…Решили задачку?

  15. Андрей говорит:

    В случае с фряхой … она делает как с обычным маршрутизатором, в МАС получателя подставляет МАС шлюз (т.е. свой же) и отправляет пакет, IP источника и получателя не меняет. Правда почему-то в TCPDUMP я вижу отправленый пакет, но не вижу полученный пакет.

  16. P.Masalkin говорит:

    Попробую поподробнее описать решение задачи (если не прав – поправьте).
    1. Приложение (утилита ping) пытается обратиться по некоему сетевому адресу.
    2. Поскольку IP-адрес получателя относится к сети, отличной от сети отправителя, пакет неренаправляется на шлюз по умолчанию (в нашем случае – на тот же адрес, что и у NIC)
    3. Дальше винда сама же, просматривая таблицу маршрутизации, обнаруживает в ней стандартный маршрут (0.0.0.0) который велит ей пересылать все пакеты, не относящиеся ни к одной из перечисленных (route print) в интерфейс 10.0.0.1
    4. Поскольку компы соединены через ethernet, протокол ARP разрешает адрес получателя в MAC (они же в одной сети?). То есть наличие в ARP таблице MAC’а хоста из другой есть следствие.

    Вот…

  17. Mister Nobody говорит:

    Паша, ты – мегамозг.
    Вопрос в малом – почему наступил шаг 4?

  18. anvarich говорит:

    Это задача из разряда:
    Почему MS DHCP server выдает адреса типа 192.168.0.0 и 192.168.0.255.
    Или почему в WinXP SP3 я могу поставить шлюз 192.168.0.1 для сети 172.20.0.0/24. Или почему я могу отправить spoofed ARP answer с любым IPом и MACом 00:00:00:00:00:00 на любой WinXP, а он возьмет и запишет его в АРП кэш.
    А ответ, просто у кого-то из MS зачеслась левая пятка и они для какого-либо сию минутного своего удобства сделать не по RFC.

  19. P.Masalkin говорит:

    Почему наступил шаг 4….Чуствуя какой-нить подвох, отвечу: Ну, потому что ниже сетевого уровня лежит канальный, то есть нам необходимо получить аппаратный адрес получателя. Как его получить? Поможет ARP…

  20. Mister Nobody говорит:

    А почему ARP нам дал IP-MAC из другой подсети? 😉

  21. P.Masalkin говорит:

    Не совсем понимаю…Он послал запрос на FF:FF:FF:FF:FF:FF с ip-адресом получателя, в ответ получил его (получателя) MAC. Вроде и все, ARP свою функцию выполнил.

    Вот RFC: http://tools.ietf.org/html/rfc826 (правда, сам не читал)

  22. Андрей говорит:

    он не должен посылать запрос, что иллюстрирует фряха
    а в линуксах (ubuntu) кстати тоже пингуется

  23. P.Masalkin говорит:

    2Андрей
    А как тогда узнать MAC-адрес получателя?

  24. Андрей говорит:

    только ARP запросом, но винда-линукс и фряха мыслят поразному.
    винда-линукс лезут в таблицу маршрутизации и видя что все сети доступны с интерфейса отправляют этот запрос с IP назначения, а фряха видит что есть маршрутизатор и пытается выяснить МАС маршрутизатора, а так как он есть в талице ARP (она сама себя ищет), она отправляет сразу ICMP пакет самой себе (по МАСам) с разными IP адресами, получив же его отбрасывает тат как IP назначения не ее.

    всё вышенаписаное сугубо ИМХО вытекающее из анализа пакетов

  25. phily говорит:

    Это вопрос про RIP Listener в компании с сервисом совместного доступа к интернету?

    Или я мелко плаваю?

  26. phily говорит:

    На всякий поясню, что если они включены, то каждый хост себя считает роутером гордо дающим интернет пользователям.

  27. Андрей Вахитов говорит:

    Имхо, ближе всех Anvarich.
    Ибо сразу после попытки пинга хост должен попытаться разрешить c помощью ARP MAC-адрес шлюза по умолчанию.
    А вот как он это делает…
    Например, сделать это через сеть у него не получится, кроме того, соседний хост обязан дропать такие пакеты, как явную попытку ARP-спуфинга (запись в ARP-таблицу без запроса).
    Соответственно, при таком действии должен получаться чистый “Request Time Out”.
    Раз пинги на винде ходят, видимо, она может провести связь между шлюзом и маком (точнее, грамотно обработать ситуацию, когда IP-адрес совпадает с DefGW).
    От себя добавлю, что делать подобные настройки мне кажется некорректным.

  28. Андрей говорит:

    Андрюха, мелкомягкие даже РЕКОМЕНДУЮТ делать такие настройки, если в сети нет маршрутизатора. Ссылку спроси у mr.Nobody, я ему кидал.

  29. A.Vakhitov говорит:

    По крайней мере, рекомендаций таких он точно не кидал. Видел только ссылку про неработу у Висты этого механизма в определенных случаях.

  30. A.Vakhitov говорит:

    http://social.technet.microsoft.com/Forums/ru-RU/xpru/thread/c01fa2cb-afec-45a3-9606-90884eb74819
    Открыл ветку обсуждения на форумах Технета. Темплиер оттуда – это я.

  31. Андрей говорит:

    Блин, не смог отписаться на ТехНете, отпишусь здесь. Собственно фряху можно заставить пропускать пинги (пока не пробовал). У маршрута кроме того что мы видим в винде при route print есть ещё флаги. Один из них (G – во фряхе, да и в остальных никсах думаю он же) указывает, является ли маршрут direct или indirect. Разницу можно почитать по ссылке на ТехНет во втором ответе на RFC.
    Так что все операционки пользуют талицу маршрутизации, просто они (таблицы) поразному сформированы. Кстати в винде я не нашел возможности задать флаг подобный G.

  32. -Killer- говорит:

    День добрый!

    Вопрос к профессионалам из той же области.

    Есть большая сетка, разбитая на несколько подсетей, с маршрутизатором в центре. В одной отдельной подсети есть выход в интернет. Из этой отдельной подсети на компах прописан маршрут по умолчанию – шлюз в интернет. Для доступа в другие подсети прописан статический маршрут через маршрутизатор. Шлюзом выступает Win2003, маршрутизатором Catalyst 3750.

    Сегодня пользователи стали жаловаться на отсутствие интернета. Проверка показала, что пакеты стали уходить не на шлюз, а на маршрутизатор. В чём причина, куда копать?

  33. Андрей Вахитов говорит:

    Выполните на компьютере, на котором нет интернета:
    ipconfig /all
    route print
    листинг в студию.
    Пинги ходят?

  34. Андрей Вахитов говорит:

    до шлюза и до каталиста

  35. -Killer- говорит:

    Да, проблемка разрешилась уже, всем спасибо

    http://sysadmins.ru/topic257776.html

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *