понимание таблиц маршрутизации Windows

Это моя текущая таблица маршрутизации (я переставил ее и сгруппировал по интерфейсам):

  Маска целевой сети Метрика интерфейса шлюза 0.0.0.0 0.0.0.0 192.168.0.1.  178.1 192.168.178.28 50 192.168.178.0 255.255.255.0 При подключении 192.168.178.28 306 192.168.178.28 255.255.255.255 При подключении 192.168.178.28 306 192.168.178.255 255.255.255.255 При подключении 192.168.178.28 306 224.0.0.0 240.0.0.0  При подключении 192.168.178.28 306 255.255.255.255 255.255.255.255 При подключении 192.168.178.28 306 127.0.0.0 255.0.0.0 При подключении 127.0.0.1 331 127.0.0.1 255.255.255.255 При подключении 127.0.0.1 331 127.255.255.255 255.255  .255.255 On-link 127.0.0.1 331 224.0.0.0 240.0.0.0 On-link 127.0.0.1 331 255.255.255.255 255.255.255.255 On-link 127.0.0.1 331 192.168.56.0 255.255.255.0 On-link 192.168.56.1 281 192.168.  56.1 255.255.255.255 При подключении 192.168.56.1 281 192.168.56.255 255.255.255.255 При подключении 192.168.56.1 281 255.255.255.255 255.255.255.255 При подключении 192.168.56.1 281 224.0.0.0 240.0.0.0 При подключении 192.168.56.1 281  192.168.137.0 25  5.255.255.0 При подключении 192.168.137.1 271 192.168.137.1 255.255.255.255 При подключении 192.168.137.1 271 192.168.137.255 255.255.255.255 При подключении 192.168.137.1 271 224.0.0.0 240.0.0.0 При подключении 192.168.137.1 271 255.255  .255.255 255.255.255.255 По ссылке 192.168.137.1 271  

a) Первая строка — это маршрут по умолчанию, который следует использовать, если другой маршрут не совпадает, верно ?. В этом случае пакет должен быть отправлен через интерфейс 192.168.178.28 на мой шлюз по умолчанию.

Верно ли, что из таблицы маршрутизации я могу сказать, что только сетевая карта с 192.168.178.28 имеет доступ к Интернету? Если бы другие сетевые адаптеры имели, должна была быть запись для шлюза по умолчанию и для этих сетевых адаптеров, верно?

б) Строка

  192.168.178.0 255.255.255.0 On-link 192.168.178.28 306  

означает, что любой пакет, адресованный хосту в 192.168.178 сеть должна уходить через интерфейс 192.168.178.28 (моя беспроводная сетевая карта), верно?

c) Но что означает эта запись?

  192.168.178.28 255.255.255.255 On-link 192.168.178.28 306  

Пакеты, адресованные моему компьютеру, должны отправляться через мою беспроводную сетевую карту? Я не совсем понимаю эту запись. Откуда будет приходить пакет?

d) И эта запись

  192.168.178.255 255.255.255.255 On-link 192.168.178.28 306  

— это борадкаст, не так ли? Значит, когда приложение на моем компьютере отправляет пакет на этот адрес, он транслируется на любой хост в сети 192.168.17 8?

e) И затем следующие две записи:

  224.0.0.0 240.0.0.0 По ссылке 192.168.178.28 306 255.255.255.255 255.255.255.255 По ссылке 192.168.178.28 306   
  • 224.0.0.0 — это многоадресная рассылка, верно?
  • И 255.255.255.255 также транслируется на любой хост в моей локальной сети? В чем отличие от 192.168.178. 255 ?
  • И почему эти две записи существуют для всех моих сетевых адаптеров?

f) и один общий вопрос: я всегда думал, что только маршрутизаторы имеют таблицы маршрутизации, но должно быть так, что любая система, кроме реализованного протокола IP, имеет таблицу маршрутизации, так что каждый планшет, смартфон и ПК, верно?

g) И последний:

192.168.178.28 и 192.168.56.1 находятся в разных подсетях (согласно маске подсети). Поэтому, когда я хочу отправить пакет от одного к другому, пакет должен пройти через маршрутизатор, даже если оба сетевых адаптера находятся на моей машине, верно?

Спасибо за помощь и объяснения!


В целом таблица маршрутизации организована по приоритету (так что порядок, который вы показываете, не слишком важен смысл). Windows показывает таблицу в перевернутом виде: первая запись — это последнее правило (т. Е. Если все остальные не работают, используйте это).

Для каждого IP-адресата вся таблица обрабатывается по порядку, и соответствие искал. Если несколько правил совпадают, используется наименьшая метрика.

a) Да, первая строка является маршрутом по умолчанию, если никакое другое правило не соответствует этому, используется.

Это не совсем правда, что этот интерфейс имеет доступ к Интернету: это единственный интерфейс, который (надеюсь) знает, как обрабатывать данные в другие сети, не упомянутые в других правилах. Если он указывает, например, на маршрутизатор, значит доступ в Интернет есть …

б) да, это запись network

c) это запись host : если приложение привязано к 192.168.178.28 и будет отправлять данные на этот адрес. он будет использовать тот же интерфейс (в общем, таблицы маршрутизации позволяют записям хоста разрешать особые правила для определенных хостов)

d) да, это широковещательная передача локальной сети для определенного nw

e) 224 …. это многоадресная рассылка, да. 255.255.255.255 (теоретически) транслируется на весь мир. К счастью, он передается только на локальный интерфейс 🙂 Если вы выполните команду ping 255.255.255.255, это правило «поймает». При проверке связи с 192.168.178.255 будет использоваться другое правило.

Все интерфейсы должны иметь полную информацию о маршруте, поэтому все правила создаются по умолчанию для каждого интерфейса nw.

е) Каждое устройство с IP-интерфейсом будет иметь таблицу маршрутизации. Те, что в маршрутизаторах, могут быть намного сложнее, хосты обычно имеют таблицы, автоматически создаваемые ОС.

g) Нет, таблица маршрутизации сообщает стеку IP использовать правильный интерфейс в качестве исходящего, на роутер отправлять не нужно. Поэтому, если приложение на вашем ПК хочет отправить данные на 192.168.56.x, оно отправит их через интерфейс 192.168.56.1 (который в вашем случае выглядит как виртуальная карта NW)



Общие сведения о таблицах маршрутизации Windows и шлюзах по умолчанию

Примечание. Это моя домашняя компьютерная лаборатория, а не бизнес/производственная среда. Я более чем счастлив сломать это и исправить снова, поэтому любые предложения приветствуются!

РЕЗЮМЕ

Я добавил это краткое резюме, потому что вопрос становится довольно длинным. Если вам нужна дополнительная информация о таблицах маршрутизации, конфигах IP и т. Д., Посмотрите ниже.

У меня есть несколько сетевых адаптеров на компьютере. Одна сетевая карта — 172.16.200.1/24. Когда я пытаюсь выполнить эхо-запрос 172.16.200.2 (хост, который существует в сети), я получаю ответ. Пока все хорошо.

Когда я пытаюсь подключиться к 172.16.200.5 (или любому другому хосту, который не существует), компьютер вернется к моему маршруту по умолчанию (0.0.0.0 через мой шлюз по умолчанию 192.168.0.1) — затем он будет отправлен моим домашним маршрутизатором, где он затем потеряется в петле маршрутизации в сети моего интернет-провайдера. При необходимости ниже приводится гораздо больше деталей, но я предполагаю, что есть гуру, который уже может ответить на этот вопрос …

Мой вопрос:

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

Я тестировал это на нескольких машинах (Server 2008 R2, Windows 7, Hyper-V Server 2012 R2, Windows Server 2012), и все они веди себя так же. Я начинаю соглашаться с тем, что это «нормальное поведение» для машин с Windows, но мне любопытно, можно ли его остановить.

Я создал виртуальную машину Ubuntu с такой же конфигурацией, что и мой Виртуальные машины Windows — виртуальная машина Ubuntu не возвращается к маршруту по умолчанию, как это делают виртуальные машины Windows. Я добавил таблицы маршрутизации и результаты для виртуальной машины Ubuntu и Windows 8.1 в конце этого сообщения.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Я провел обширный поиск по этой теме, и ближайший вопрос, который я видел, здесь: Цикл маршрутизации: срок действия TTL истек при передаче, но, к сожалению, он не отвечает, как остановить проблема или изменить поведение на компьютере. Ответ предлагает исправить маршрутизацию. Я могу изменить свой маршрутизатор, чтобы удалить все, предназначенное для частных IP-адресов (или перенаправить его на IP-адреса моих соседей по дому, хехехе), но это не изменит поведение моего компьютера. (Я также прочитал отличное руководство по подсетям, на которое была ссылка в исходном ответе, который можно найти по адресу https://serverfault.com/questions/49765/how-does-ipv4-subnetting-work)

Мне сложно понять, почему мои компьютеры будут пытаться подключиться к частным IP-адресам через Интернет после того, как они попытались использовать свои внутренние адаптеры (в течение короткого периода), а затем потерпели неудачу — например, при попытке проверить связь узел, который, как я знаю, не существует в моей сети…

  Проверка связи 172.16.200.32 с 32 байтами данных: Ответ от 172.16.200.1: Целевой узел недоступен. Ответить с 203.29.  XXX.YY: TTL истек при транспортировке.Ответ от 203.29.XXX.YY: TTL истек при транспортировке.Ответ от 203.29.XXX.YY: TTL истек при транспортировке. Статистика Ping для 172.16.200.32: Пакеты: Sent = 4, Received = 4, Lost = 0 (потеря 0%),  

Но проверка связи с существующим хостом работает…

  Пинг 172.16.200.2 с 32 байтами данных: ответ от 172.16.200.2: байты = 32 время  

ОК, поэтому ответ от 172.16.200.1 — это мой компьютер, говорящий ответа не было … но тогда почему он даже пытается подключиться через мое интернет-соединение? У меня 4 сетевых карты, и я нахожусь в сети 172.16.200.0/24 на одной из них…

  Адаптер Ethernet HyperV External (встроенный): DNS для конкретного подключения  Суффикс.  : Локальный IPv6-адрес ссылки.  .  .  .  .  : fe80 :: 582c: 97 Адрес IPv4.  .  .  .  .  .  .  .  .  .  .  : 172.16.1.1 Маска подсети.  .  .  .  .  .  .  .  .  .  .  : 255.255.255.0 Шлюз по умолчанию.  .  .  .  .  .  .  .  .  : Ethernet-адаптер Expansion-2 (средний) Домашняя сеть: DNS-суффикс для конкретного подключения.  : Домашний IPv4-адрес.  .  .  .  .  .  .  .  .  .  .  : 192.168.0.117 Маска подсети.  .  .  .  .  .  .  .  .  .  .  : 255.255.255.0 Шлюз по умолчанию.  .  .  .  .  .  .  .  .  : 192.168.0.1 Ethernet-адаптер Expansion-3 (внизу) iSCSI-1: DNS-суффикс для конкретного подключения.  : IPv4-адрес.  .  .  .  .  .  .  .  .  .  .  : 172.16.100.1 Маска подсети.  .  .  .  .  .  .  .  .  .  .  : 255.255.255.0 Шлюз по умолчанию.  .  .  .  .  .  .  .  .  : Ethernet-адаптер Expansion-1 (вверху) iSCSI-2: DNS-суффикс для конкретного подключения.  : IPv4-адрес.  .  .  .  .  .  .  .  .  .  .  : 172.16.200.1 Маска подсети.  .  .  .  .  .  .  .  .  .  .  : 255.255.255.0 Шлюз по умолчанию.  .  .  .  .  .  .  .  .  :  

Итак, на этом этапе имеет смысл взглянуть на таблицу маршрутизации…

  ====  ==================================================  ===================== Список интерфейсов 16 ... 64 70 02 00 1f 03 ...... Gigabit PCI Express Network Adapter # 2 15 ...  64 70 02 00 40 48 ...... Гигабитный сетевой адаптер PCI Express 23 ... 00 24 1d 1d f8 35 ...... TST Onboard 17 ... 64 70 02 00 32 c1 .....  .Gigabit PCI Express Network Adapter # 3 1 .......... Программный шлейфовый интерфейс 1 28 ... 00 00 00 00 00 00  00 e0 Адаптер Microsoft ISATAP 26 ... 00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP № 2 13 ... 00 00 00 00 00 00 00 e0 Псевдо-интерфейс туннелирования Teredo 27 ... 00 00 00 00 00 00 00  e0 Адаптер Microsoft ISATAP № 3 29 ... 00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP № 4 ===========================  ================================================ Маршрут IPv4  Таблица =================================================  ========================== Активные маршруты: сетевое назначение Маска сети шлюз Inter  лицо Метрика 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.117 410 127.0.0.0 255.0.0.0 При подключении 127.0.0.1 306 127.0.0.1 255.255.255.255 При подключении 127.0.0.1 306 127.255.255.255 255.255.255. 255 По ссылке 127.0.0.1 306 172.16.1.0 255.255.255.0 По ссылке 172.16.1.1 266 172.16.1.1 255.255.255.255 По ссылке 172.16.1.1 261 172.16.1.255 255.255.255.255 По ссылке 172.16.1.1 261 172.16.100.0  255.255.255.0 По ссылке 172.16.100.1 266 172.16.100.1 255.255.255.255 По ссылке 172.16.100.1 266 172.16.100.255 255.255.255.255 По ссылке 172.16.100.1 266 172.16.200.0 255.255.255.0 По ссылке 172.16.200.1 266 172.16  .200.1 255.255.255.255 По ссылке 172.16.200.1 266 172.16.200.255 255.255.255.255 По ссылке 172.16.200.1 266 192.168.0.0 255.255.255.0 По ссылке 192.168.0.117 266 192.168.0.117 255.255.255.255 По ссылке 192.168.0.117  266 192.168.0.255 255.255.255.255 При подключении 192.168.0.117 266 224.0.0.0 240.0.0.0 При подключении 127.0.0.1 306 224.0.0.0 240.0.0.0 При подключении 192.168.0.117 266 224.0.0.0 240.0.0.0 При подключении 172.16  .100.1 266 224.0.0.0 240.0.0.0 Связь 172.16.200.1 266 224.0.0.0 240.0.0.0 Связь 172.16.1.1 261 255.255.255.255 255.255.255.255 Связь 127.0.0.1 306 255.255.255.255 255.255.255.255 Включена-  ссылка 192.168.0.117 266 255  .255.255.255 255.255.255.255 Связь 172.16.100.1 266 255.255.255.255 255.255.255.255 Связь 172.16.200.1 266 255.255.255.255 255.255.255.255 Связь 172.16.1.1 261 ==========  ==================================================  =============== Постоянные маршруты: нет  

Сначала я подумал, что виновата метрика маршрута 0.0.0.0 — изначально было 6, поэтому я попытался изменить его на 410, что не повлияло на поведение. (Кстати, я никогда раньше не возился с таблицей маршрутизации на этой машине). Затем я сравнил его с машиной Hyper-V 2012 R2, которая у меня есть в 3 из тех же сетей (172.16.1.0, 172.16.100.0 и 172.16.200.0), и я заметил, что машина Hyper-V также имеет показатель 6 для 0,0. .0.0, поэтому я предполагаю, что это нормально и правильно…

Затем я попытался изменить маршрут 172.16.200.0 на постоянный маршрут, как показано ниже, но это все равно не сработало.

  =====================================  ====================================== Постоянные маршруты: сетевой адрес Маска сети Метрика адреса шлюза 172.16.200.0  255.255.255.0 172.16.1.1 1 ===========================================  ================================  

Я тоже пытался увеличить метрика (я знаю, что более низкий вариант предпочтительнее, но на всякий случай, а?)… конечно, не повезло.

В «Дополнительные настройки» в окне сетевых подключений я подтвердил, что адаптер 192.168.0.117 — самый низкий в списке адаптеров и привязок…

Итак, после того, как я немного ударил головой, я в тупике. Очевидно, что удаление маршрута 0.0.0.0 останавливает его, но, конечно, это остановит и мой Интернет…

Как я могу остановить мою машину от попытки пройти через мой шлюз по умолчанию 192.168.0.1, когда он пытается достичь хоста на 172.16.200.0…

http://technet.microsoft.com/en-us/library/cc779122%28v=ws.10%29. aspx («Таблица IP-маршрутизации: TCP/IP»), кажется, предполагает, что «Маршрут по умолчанию обычно пересылает IP-дейтаграмму (для которой нет соответствующего или явного локального маршрута) на адрес шлюза по умолчанию для маршрутизатора в локальной подсети. . » Насколько более явным я могу получить этот маршрут!

Ответ здесь: Постоянный шлюз маршрутов Windows недоступен, поэтому используемый маршрут по умолчанию предполагает, что это нормальное поведение — когда добавляется постоянный маршрут, он будет пытаться используйте этот маршрут, если это возможно, но затем вернитесь к маршруту по умолчанию, если это не удается. Конечно, это может привести к довольно серьезным проблемам с трафиком, не говоря уже о проблемах безопасности (утечка частной информации в Интернет или, по крайней мере, частных сетей вашего интернет-провайдера…)

Дополнительная информация: на этом сервере работает NPS /RRAS обычно — отключение и даже удаление ничего не дало. Вдобавок я создал новую виртуальную машину 2008 R2, дал ей две сетевые карты, одну непосредственно в сети 192.168.0.0, а другую в сети 172.16.200.0, и она сделала то же самое … Надеюсь, вы можете сказать, что я потратил на это немного времени.

Я настроил свой домашний маршрутизатор на пересылку всего содержимого 172.16.XX обратно на свой компьютер, но это обходной путь …

Что мне не хватает? Может быть, что-то очевидное? Я спрашиваю о невозможном?

[ОБНОВЛЕНИЕ №1 И №2]

Я просмотрел каждый бит конфигурации на мой маршрутизатор, и он, похоже, не обрабатывает никакие запросы ARP прокси — у него даже нет никаких настроек, которые я могу видеть.

Я использовал MS Network Monitor 3.4, чтобы проверить, отвечает ли маршрутизатор на запросы ARP, а это нет. Я вижу, что отправляется запрос ARP, когда я пытаюсь проверить связь с несуществующим хостом и не получаю никаких ответов ARP. Проверка связи с существующим хостом, естественно, дает мне ответ ARP. Можно ли на этом этапе предположить, что мой маршрутизатор не обрабатывает запросы ARP прокси?

Таблица маршрутизации на маршрутизаторе БЫЛА следующей:

 > route show Таблица IP-маршрутизации ядра Назначение Шлюз Genmask Флаги Метрика Ref Использование Iface 10.20.21.36 * 255.255.255.255 UH 0 0 0 ppp0192.168.0.0 * 255.255.255.0 U 0 0 0 br0default * 0.0.0.0 U 0 0 0 ppp0   

Я добавил эти записи ниже как временную временную меру — они не позволяют моим бедным «потерянным» пакетам идти к моему интернет-провайдеру:

  172.16.1.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0172.16.100.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0172.16.200.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0  

[ОБНОВЛЕНИЕ № 3 — Добавлены таблицы маршрутизации виртуальных машин Ubuntu и Win8.1]

ОК, поэтому я создал новая виртуальная машина Ubuntu и новая виртуальная машина Windows 8.1. Виртуальная машина Ubuntu не пытается вернуться к своему маршруту 0.0.0.0, но Windows 8.1 делает. Я попробовал старый хост ping-a-non-existant и посмотрел трафик на маршрутизаторе 172.16.1.1. Он получает запросы ICMP от Windows 8.. 1 ВМ и передает их, но никогда не видит никакого ICMP-трафика от ВМ Ubuntu.

Таблица виртуальных машин Ubuntu приведена ниже:

  Таблица IP-маршрутизации ядра Шлюз назначения Флаги Genmask Метрика Ссылка Использование Iface MSS Window irtt0.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0 0 0 0169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1 0 0 0172.16  .1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 0 0 0172.16.200.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1 0 0 0  

Таблица Windows 8.1 ниже:

  ==================================  ========================================= Список интерфейсов 9 ... 00 15 5d  01 4c 1c ...... Сетевой адаптер Microsoft Hyper-V №2 3 ... 00 15 5d 01 4c 08 ...... Сетевой адаптер Microsoft Hyper-V 1 ..........  ................. Программный интерфейс обратной петли 1 4 ... 00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP 13 ... 00 00 00 00 00 00 00 e0 Microsoft ISATAP  Адаптер № 2 ===============================================  ============================ Таблица маршрутов IPv4 ===================  ==================================================  ====== Активные маршруты: Метрика интерфейса шлюза сетевой маски назначения 0.0.0.0 0.0.0.0 172.16.1.1 172.16.1.101 5 127.0.0.0 255.0.0.0 При подключении 127.0.0.1 306 127.0.0.1 255.255.255.255 При подключении  127.0.0.1 306 127.255.255.255 255.255.255.255 По ссылке 127.0.0.1 306 172.16.1.0 255.255.255.0 По ссылке 172.16.1.101 261 172.16.1.101 255.255.255.255 По ссылке 172.16.1.101 261 172.16.1.255 255.255.255.255 Вкл  -ссылка 172.16.1.101 261 172.16.200.0 255.255.255.0 По ссылке 172.16.200.1 261 172.16.200.1 255.255.255.255 По ссылке 172.16.200.1 261 172.16.200.255 255.255.255.255 По ссылке 172.16.200.1 261 224.0.0.0 240.0.  0.0 Связь 127.0.0.1 306 224.0.0.0 240.0.0.0 Связь 172.16.1.101 261 224.0.0.0 240.0.0.0 Связь 172.16.200.1 261 255.255.255.255 255.255.255.255 Связь 127.0.0.1 306 255.255.255.255  255.255.255.255 По ссылке 172.16.1.101 261 255.255.255.255 255.255.255.255 По ссылке 172.16.200.1 261 ===========================  =============================================  === Постоянные маршруты: Нет  

Возврат к маршруту по умолчанию является нормальным поведением, начиная с Vista, вы можете прочитать об этом в следующей статье: Выбор исходного IP-адреса на Многодомный компьютер с Windows.

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

Оцените статью
logicle.ru
Добавить комментарий