Разные маски подсети на маршрутизаторе и DHCP-сервере

Разные маски подсети на маршрутизаторе и DHCP-сервере

Сегодня столкнулся с чем-то забавным и все еще чешу голову, почему это произошло. Я пытался увеличить количество IP-адресов, доступных с моего сервера dhcp, изменив сетевую маску с /24 на /20.

Это былопервый сценарий, я изменил маску подсети маршрутизатора на /20, чтобы она соответствовала маске подсети моего сервера dhcp. Однако я не менял маску подсети ни одной из рабочих станций со статическими IP-адресами, и они остались на /24. Я подключил несколько рабочих станций и беспроводных устройств к сети, и все они получили правильный диапазон с /20 и смогли получить доступ к сети.

Мой вопрос по этому первому сценарию: Разве все устройства не должны иметь одинаковую маску подсети, чтобы работать? Почему рабочие станции со статическими IP-адресами и сетевой маской /24 все еще работают?

Затем я попробовалвторой сценарий. На этот раз маска подсети маршрутизатора осталась на /24, и я только изменил маску подсети DHCP-сервера на /20. Результат? Устройства со статическими IP-адресами с маской подсети /24 работают. Устройства, обслуживаемые динамическими IP-адресами с маской подсети /20, не могут получить доступ к сети.Мой вопрос: если предыдущий сценарий работает с обеими подсетями, то почему в этой ситуации он не работает?

Не уверен, стоит ли об этом упоминать, но DHCP-сервер работает под управлением Ubuntu DHCP Server.

решение1

В этом ответе предполагается, что ваш маршрутизатор имеет IP-адрес 192.169.1.100 (или любой IP-адрес в диапазоне 192.168.1.0-255).

При использовании маски подсети /24 диапазон ваших IP-адресов составляет 192.168.1.0–192.168.1.255 (включая сетевые и широковещательные адреса).

При использовании маски подсети /20 диапазон ваших IP-адресов составляет 192.168.0.0–192.168.15.255 (включая сетевые и широковещательные адреса).

С точки зрения хостов с любой маской подсети, 192.168.1.100 является допустимым локальным адресом. Он существует как в подсетях /20, так и в подсетях /24. Хост не знает, какую маску подсети использует любой другой хост, он знает только свою собственную маску подсети и использует ее для определения того, какие IP-адреса являются локальными, а какие нет. Любой хост с IP-адресом в диапазоне /24 будет отображаться belongв локальной подсети для любого из хостов и, что более важно в этом сценарии, для маршрутизатора,НОхосты в подсети /24 смогут общаться только с другими хостами, чьи IP-адреса также попадают в диапазон 192.168.1.0-192.168.1.255. Вот почему первый сценарий работает, а второй — нет. В первом сценарии все хосты могут общаться с маршрутизатором, поскольку маршрутизатор использует маску подсети /20НОего IP-адрес попадает в обе подсети с точки зрения хостов с любой маской подсети. Во втором сценарии маршрутизатор может взаимодействовать только с теми IP-адресами, которые попадают в подсеть /24, он не может взаимодействовать ни с какими хостами с IP-адресами выше 192.168.1.255, поскольку эти IP-адреса попадают за пределы 192.168.1.0/24, которая является подсетью маршрутизатора во втором сценарии.

решение2

Маска подсети в основном используется для определения того, можно ли получить доступ к другому IP-адресу в локальной сети или ему нужно пройти через маршрутизатор. Ваши рабочие станции со старой маской подсети /24 смогут получить доступ ко всему остальному, что было внутри старой сети /24, потому что неправильная маска все равно даст правильный ответ для этих адресов. Они не смогут общаться с IP-адресами в новой сети /20, которых не было в старой сети /24, поэтому мы говорим, что старая маска не работает в новой сети.

Во втором сценарии, поскольку маска маршрутизатора осталась равной /24, он не сможет получить доступ к устройствам с IP-адресами за пределами старой сети, и поэтому эти устройства не будут иметь доступа к маршрутизатору.

Связанный контент