Попытка понять взаимодействие между двумя разными подсетями в одной сети

У меня есть сеть 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 с маской класса A.
Файловый сервер в сети имеет IP-адрес 10.100.0.1 и маска класса B (255.255.0.0)

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

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

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

9 голосов | спросил Jared 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2015 03:56:47 +0300 2015, 03:56:47

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-адреса из «Авторизованного» диапазона. Это позволит им стать частью авторизированной сети.

ответил VL-80 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2015 04:50:54 +0300 2015, 04:50:54
5

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

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

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

ответил Spiff 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2015 04:47:52 +0300 2015, 04:47:52
3

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

Вы определенно не должны так поступать.

ответил David Schwartz 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 03 Sep 2015 04:25:50 +0300 2015, 04:25:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132