9

У меня сеть 10.0.0.0/8 разделена на две части. DHCP-сервер раздает адреса с 10.0.0.10 по 10.0.0.150 с маской класса A (255.0.0.0). Это моя «гостевая» часть сети.

Авторизованные пользователи сети имеют резервирование на DHCP-сервере с адресами в диапазоне от 10.100.0.10 до 10.100.0.250 с маской класса А.
Файловый сервер в сети имеет IP-адрес 10.100.0.1 и маску класса B (255.255.0.0).

  • Устройства в сети «Гость» и «Авторизованная» могут видеть друг друга.
  • «Авторизованная» сеть может видеть файловый сервер.
  • «Гостевая» сеть не видит файловый сервер.

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

Может кто-нибудь помочь мне понять, почему «авторизованные» сетевые ПК могут нормально обращаться к файловому серверу, несмотря на разные маски подсети?

3 ответа3

13

Теория маски подсети заключается в том, что она определяет, какая часть IP-адреса является сетевым адресом, а какая часть IP-адреса является адресом хоста:

10.100.0.1 - IP-адрес;

255.0.0.0 - маска подсети;

10 - сетевой адрес, 100.0.1 - адрес хоста.

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

  1. Непосредственно к хосту (второй хост находится в той же подсети)
  2. К шлюзу (второй хост принадлежит другой подсети)

Что происходит в вашем случае, так это то, что ваши "Авторизованные" клиенты имеют IP-адреса 10.100.0.10 - 10.100.0.250 (я предполагаю, что маска подсети 255.0.0.0). Сервер имеет IP-адрес 10.100.0.1 . Для хоста из диапазона "Авторизованный" этот сервер находится в той же подсети.

Если хост 10.100.0.10 из "Авторизованного" диапазона хочет установить связь с сервером - он сначала проверяет, находится ли этот сервер в той же подсети или нет. Для хоста 10.100.0.10 с маской подсети 255.0.0.0 одной и той же подсетью будут все хосты в диапазоне 10.0.0.1 - 10.255.255.254 . IP-адрес сервера находится в этом диапазоне. По этой причине хост из "Авторизованного" диапазона пытается напрямую связаться с сервером и (при условии, что они находятся в одной сети уровня 2) эта попытка успешна.

В этом случае, хотя сервер имеет другую маску подсети - он расположен в большей подсети (которая также является подсетью для "авторизованных" клиентов). Если у вашего сервера будет другой второй байт в IP-адресе (например, 10.150.0.1 ), он не сможет ответить хосту из диапазона "Авторизованный", поскольку с точки зрения сервера диапазон "Авторизованный" будет выглядеть по-другому подсеть и сервер должны будут отправлять трафик на маршрутизатор. Если бы не было роутера - тогда не было бы связи.

Если вы хотите разделить свою сеть на части "Гости" и "Авторизованные", то вам нужно, чтобы они были расположены в разных подсетях, которые не перекрываются.

Например:

  1. "Гости" - 10.10.0.1 , маска подсети 255.255.0.0
  2. "Разрешено" - 10.20.0.1 , маска подсети 255.255.0.0

Сервер будет находиться в "авторизованной" части сети, имеющей IP-адрес 10.20.0.100 , маску подсети 255.255.0.0 .

При такой настройке эти подсети будут эффективно отделены друг от друга, так как части IP-адресов, представляющих их подсеть, будут отличаться:

  1. 10.10 для гостей
  2. 10.20 для авторизованных

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

Также стоит упомянуть, что хотя все ваши компьютеры совместно используют одну и ту же сеть уровня 2, ничто не помешает гостям вручную назначать себе IP-адреса из диапазона "Авторизованные". Это эффективно сделает их частью Авторизованной сети.

5

Все "Авторизованные" и "Гостевые" машины находятся в одной подсети, поэтому неудивительно, что все они могут связаться друг с другом.

Ограниченная маска подсети сервера заставляет думать, что только "Авторизованные" компьютеры находятся в одной подсети, поэтому он ARP для них напрямую и может связаться с ними.

Сервер считает, что "гостевые" компьютеры находятся в другой подсети, поэтому он пытается отправить свои пакеты на свой шлюз по умолчанию (то есть на уровне Ethernet он направляет их на MAC-адрес шлюза по умолчанию; они все еще адресованы "Гостевые" компьютеры на уровне IP). Если на сервере не определен шлюз по умолчанию или если его шлюз по умолчанию недоступен или неправильно настроен, эти пакеты не смогут получить доступ к "гостевым" компьютерам.

3

Поскольку пакеты находятся за пределами диапазона локальной сети, они отправляют пакеты на маршрутизатор по умолчанию. Маршрутизатор по умолчанию перенаправляет их к месту назначения и отправляет ICMP-перенаправление источнику. Работает ли перенаправление ICMP, трафик все еще туда попадает.

Вы определенно не должны делать вещи таким образом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .