![Последствия неправильной настройки маски подсети/шлюза](https://rvso.com/image/1558695/%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B8%D1%8F%20%D0%BD%D0%B5%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8%20%D0%BC%D0%B0%D1%81%D0%BA%D0%B8%20%D0%BF%D0%BE%D0%B4%D1%81%D0%B5%D1%82%D0%B8%2F%D1%88%D0%BB%D1%8E%D0%B7%D0%B0.png)
Недавно я сделал обновление на Cisco 2520. В рамках обновления и SVI был добавлен к коммутатору, чтобы разрешить VLAN маршрутизировать локально, что ранее делалось на другом коммутаторе (через транк). SVI имел следующие параметры;
Сетевой адрес: 192.168.65.96 Маска подсети: 255.255.255.248 SVI-адрес: 192.168.65.102
В этой подсети было два устройства, и после внесения изменений оба устройства по-прежнему могли взаимодействовать с удаленной сетью, хотя шлюз по умолчанию и маска подсети были 192.168.65.1 / 255.255.255.0 соответственно.
После этого, во время мониторинга, я потерял связь с одним из устройств, однако другое оставалось в сети. Я исправил проблему, правильно настроив маску подсети и шлюз по умолчанию на обоих устройствах, но мне было интересно, может ли кто-нибудь объяснить, почему я смог связаться с одним устройством, а с другим нет, хотя на обоих устройствах были неправильно настроены маски подсети / шлюзы по умолчанию?
Спасибо!
решение1
Сетевые маски (маски подсети) не являются частью IP-адреса и не указываются в заголовке IP; пакет, адресованный на «192.168.65.96», по-прежнему адресован на «192.168.65.96» независимо от используемой сетевой маски.
Вместо этого сетевые маски работают как формамаршруты, и они используются только при отправке пакетов, но не при получении – т. е. хост с неправильно настроенной маской сети все равно сможет получать пакеты, но не сможет правильно их отправлять.
При отправке пакетов проверяется сетевая маска для определениянаходится ли IP-адрес назначения в той же подсетив качестве отправляющего хоста:
Если и источник, и пункт назначения находятся в одной подсети, то это означает, что возможна отправка пакетов напрямую на уровне MAC («уровень 2»).без использования шлюза, и отправитель будет использовать ARP для прямого преобразования IP-адреса в MAC-адрес получателя.
Таким образом, если оба хоста находятся в одной подсети (согласно сетевым маскам друг друга), то не имеет значения, неправильно ли настроен адрес шлюза, поскольку в этой ситуации шлюз не нужен.
Если онинетв той же подсети, то требуется шлюз, и отправитель вместо этого будет использовать ARP для поиска MAC-адреса шлюза.
Таким образом, неправильно настроенная сетевая маска повлияет только на связь с теми адресами, для которых она дает неверные результаты теста «Та же подсеть?».
Если ваша маска сетислишком широкий(слишком короткая длина префикса) и охватывает больше адресов, чем следовало бы, то вы больше не сможете отправлять пакеты на адреса, которые случайно включены в сетевую маску (но которые на самом деле не являются «локальными» для вашей подсети).
При попытке отправить пакеты на такие адреса ваш хост попытается разрешить их через ARP, как если бы они были локальными, даже если это не так, т. е. запросы ARP не будут до них доходить.
Например, если вы находитесь в подсети 192.168.1.0/24, но случайно настроили маску сети как /16 (255.255.0.0), вы потеряете связь с остальной частью 192.168.xx (хотя вы по-прежнему сможете подключиться к 192.168.1.x, как и раньше).
(Хотя коммуникацииможетвсе еще возможно, если ваш шлюз реализует «Proxy ARP» и отвечает на эти ARP-запросы от имени «другой стороны» — на самом деле это иногда делается интернет-провайдерами в качестве «изоляции клиента» или как промежуточный шаг при разделении большой подсети. Действительно, Proxy-ARP использовался для разделения больших классовых сетей до изобретения подсетей.)
В любом случае вы по-прежнему сможете взаимодействовать с локальными хостами, которые фактически находятся в вашей подсети, а также с удаленными хостами, на которые не распространяется неправильная маска сети, поэтому некоторое время это может оставаться незамеченным.
Если сетевая маскаслишком узкий(слишком длинная длина префикса) и не охватывает адреса, которые должен, то вы получите противоположный результат — вы не сможете связаться с частью вашей подсети, которую случайно исключает сетевая маска, поскольку ваш хост считает, что для этих адресов ему необходимо пройти через шлюз.
Если здесьявляетсяшлюз, то он может просто направлять пакеты обратно в ту же подсеть, и все будет работать по-прежнему – просто очень неэффективно. Шлюз также может отправлять вам пакеты ICMP «Redirect», сообщая вам о существовании более прямого пути, и ваша ОС может автоматически обновить свою таблицу маршрутизации, чтобы снова разрешить прямые коммуникации. Поэтому неправильная конфигурация может оставаться незамеченной в течение очень долгого времени.
Но если сетевая маска слишком узкаяишлюз указан неверно, то вы вообще не сможете отправлять пакеты на эти адреса — ваш хост попытается направить их через несуществующий шлюз.
В обеих ситуациях затронутыми оказываются только те пункты назначения, для которых «правильные» и «неправильные» маски сети дают разные результаты.