Как связать несколько подсетей на одном интерфейсе?

Как связать несколько подсетей на одном интерфейсе?

Я пытаюсь разделить свою сеть, без использования VLAN. Я хочу создать следующие сети:

  • 10.0.0.1/24 - сеть0
  • 10.0.1.1/24 - сеть1
  • 10.0.3.1/24 - сеть2
  • 10.0.4.1/24 - сеть3

Все эти IP-адреса принадлежат одному интерфейсу, eth0. Я хочу, чтобы все устройства могли взаимодействовать друг с другом, но не уверен, как этого добиться. Стоит ли мне установить маску подсети 255.255.0.0вместо 255.255.255.0? Стоит ли мне маскироваться с помощью правил брандмауэра? Какова лучшая практика?

Спасибо

решение1

Если это подсеть /24, то маска сети будет /24, буквально. (Это 255.255.255.0 в длинном формате.)

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

Устройства, которые находятся в разных подсетях, будут взаимодействовать через маршрутизатор (шлюз). Это применимо даже если они находятся в одном физическом Ethernet. Маршрутизатор будет иметь четыре IP-адреса на одном интерфейсе — по одному для каждой сети, все они настроены как /24s.

(Если вы пытаетесь использовать сетевую маску /16 или /22, потому что хотите, чтобы устройства в разных подсетях взаимодействовали напрямую без шлюза, то вамне имею(Четыре сети больше — вы просто получаете одну большую сеть /16 без какого-либо разделения.)

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

Маскарадинг или NAT не должны быть задействованы в этом. Никогда не должно быть необходимости использовать маскарадинг внутри сети.

решение2

Я думаю, вам следует использовать большую подсеть:

10.0.0.1/22

поскольку /22 охватывает четыре сети, упомянутые вами в вашем вопросе.

Редактировать: Или это должно быть /21 (как вы перечислили 0, 1, 3 и 4, а не 0, 1, 2 и 3)?

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