Две подсети в локальной сети: Основы компьютерных сетей. Тема №5. Понятие IP адресации, масок подсетей и их расчет
Основы компьютерных сетей. Тема №5. Понятие IP адресации, масок подсетей и их расчет
Приветствую вас на очередном выпуске. И сегодня речь пойдет о том, какие бывают IP-адреса, и как ими пользоваться. Что такое маска подсети, как она считается, и для чего она нужна. Как делить сети на подсети и суммировать их. Заинтересовавшихся приглашаю к прочтению.
Начнем, или уже продолжим, с самого популярного, заезженного и больного. Это IP-адреса. На протяжении 4-х статей это понятие встречалось по несколько раз, и скорее всего вы уже либо сами поняли для чего они, либо нагуглили и почитали о них. Но я обязан вам это рассказать, так как без ясного понимания двигаться дальше будет тяжело.
Итак IP-адрес — это адрес, используемый узлом на сетевом уровне. Он имеет иерархическую структуру. Что это значит? Это значит, что каждая цифра в его написании несет определенный смысл. Объясню на очень хорошем примере. Примером будет номер обычного телефона — +74951234567. Первой цифрой идет +7. Это говорит о том, что номер принадлежит зоне РФ. Далее следует 495. Это код Москвы. И последние 7 цифр я взял случайными. Эти цифры закреплены за районной зоной. Как видите здесь наблюдается четкая иерархия. То есть по номеру можно понять какой стране, зоне он принадлежит. IP адреса придерживаются аналогично строгой иерархии. Контролирует их организация IANA(англ. Internet Assigned Numbers Authority). Если на русском, то это «Администрация адресного пространства Интернет». Заметьте, что слово «Интернет» с большой буквы. Мало кто придает этому значение, поэтому объясню разницу. В англоязычной литературе термин «internet» используется для описания нескольких подключённых друг к другу сетей. А термин «Internet» для описания глобальной сети. Так что примите это к сведению.
Несмотря на то, что тема статьи больше теоретическая, нежели практическая, я настоятельно рекомендую отнестись к ней со всей серьезностью, так как от нее зависит понимание дальнейших тем, а особенно маршрутизации. Не для кого, я думаю, не секрет, что мы привыкли воспринимать числовую информацию в десятичном формате (в числах от 0-9). Однако все современные компьютеры воспринимают информацию в двоичном (0 и 1). Не важно при помощи тока или света передается информация. Вся она будет воспринята устройством как есть сигнал (1) или нет (0). Всего 2 значения. Поэтому был придуман алгоритм перевода из двоичной системы в десятичную, и обратно. Начну с простого и расскажу, как выглядят IP адреса в десятичном формате. Вся эта статья посвящена IP адресам версии 4. О версии 6 будет отдельная статья. В предыдущих статьях, лабах, да и вообще в жизни, вы видели что-то вроде этого «193.233.44.12». Это и есть IP адрес в десятичной записи. Состоит он из 4-х чисел, называемых октетами и разделенных между собой точками. Каждое такое число (октет) может принимать значение от 0 до 255. То есть одно из 256 значений. Длина каждого октета равна 8 битам, а суммарная длина IPv4 = 32 битам. Теперь интересный вопрос. Каким образом этот адрес воспримет компьютер, и как будет с ним работать?
Можно конечно набить это в калькулятор, коих навалом в Интернете, и он переведет его в двоичный формат, но я считаю, что переводить вручную должен уметь каждый. Особенно это касается тех, кто планирует сдавать экзамен. У вас не будет под рукой ничего, кроме бумаги и маркера, и полагаться придется только на свои навыки. Поэтому показываю, как это делать вручную. Строится таблица.
Вместо «x» записывается либо 1, либо 0. Таблица разделена на 8 колонок, каждая из которых несет в себе 1 бит (8 колонок = 8 бит = 1 октет). Расположены они по старшинству слева направо. То есть первый (левый) бит — самый старший и имеет номер 128, а последний (правый) — самый младший и имеет номер 1. Теперь объясню, откуда эти числа взялись. Так как система двоичная, и длина октета равна 8-ми битам, то каждое число получается возведением числа 2 в степень от 0 до 7. И каждая из полученных цифр записывается в таблицу от большего к меньшему. То есть слева направо. От 2 в 7-ой степени до 2 в 0-ой степени. Приведу таблицу степеней 2-ки.
Думаю теперь понятно, каким образом строится таблица. Давайте теперь разберем адрес «193.233.44.12» и посмотрим, как он выглядит в двоичном формате. Разберем каждый октет отдельно. Возьмем число 193 и посмотрим, из каких табличных комбинаций оно получается. 128 + 64 + 1 = 193.
Те числа, которые участвовали в формировании комбинации получают 1, а все остальные получают 0.
Берем первый октет 233. 128 + 64 + 32 + 8 + 1.
Для 44 — это 32 + 8 + 4.
И напоследок 12. 8 + 4.
Получается длинная битовая последовательность 11000001.11101001.00101100.00001100. Именно с данным видом работают сетевые устройства. Битовая последовательность обратима. Вы можете так же вставить каждый октет (по 8 символов) в таблицу и получить десятичную запись. Я представлю совершенно случайную последовательность и приведу ее к десятичному виду. Пусть это будет 11010101.10110100.11000001.00000011. Строю таблицу и заношу в нее первый блок.
Получаю 128 + 64 + 16 + 4 + 1 = 213.
Вычисляю второй блок.
Считаю 128 + 32 + 16 + 4 = 180.
Третий блок.
128 + 64 + 1 = 193.
И напоследок четвертый.
2 + 1 = 3
Собираем результаты вычислений и получаем адрес 213.180.193.3. Ничего тяжелого, чистая арифметика. Если тяжело и прям невыносимо трудно, то попрактикуйтесь. Сначала может показаться страшным, так как многие закончили учебу лет 10 назад и многое позабыли. Но уверяю, что как только набьете руку, считать будет гораздо легче. Ну а для закрепления дам вам несколько примеров для самостоятельного расчета (под спойлером будут ответы, но открывайте их только когда прорешаете сами).
Задача №1
1) 10.124.56.220
2) 113.72.101.11
3) 173.143.32.194
4) 200.69.139.217
5) 88.212.236.76
6) 01011101.10111011.01001000.00110000
7) 01001000.10100011.00000100.10100001
8) 00001111.11011001.11101000.11110101
9) 01000101.00010100.00111011.01010000
10) 00101011.11110011.10000010.00111101
Ответы
1) 00001010.01111100.00111000.11011100
2) 01110001.01001000.01100101.00001011
3) 10101101.10001111.00100000.11000010
4) 11001000.01000101.10001011.11011001
5) 01011000.11010100.11101100.01001100
6) 93.187.72.48
7) 72.163.4.161
8) 15.217.232.245
9) 69.20.59.80
10) 43.243.130.61
Теперь IP-адреса не должны быть чем-то страшным, и можно углубиться в их изучение.
Выше мы говорили о структуре телефонных номеров и их иерархии. И вот на заре рождения Интернета в том представлении, в каком мы его привыкли видеть, возник вопрос. Вопрос заключался в том, что IP-адреса нужно как-то сгруппировать и контролировать выдачу. Решением было разделить все пространство IP-адресов на классы. Это решение получило название классовая адресация (от англ. Classful). Она уже давно устарела, но практически в любой книге на нее отводятся целые главы и разделы. Cisco тоже не забывает про это и в своих учебных материалах рассказывает про нее. Поэтому я пробегусь по этой теме и покажу, чем она блистала с 1981 по 1995 год.
Пространство было поделено на 5 классов. Каждому классу был назначен блок адресов.
Начнем с класса A. Если внимательно посмотреть на таблицу, то можно заметить, что этому блоку дан самый большой блок адресов, а если быть точным, то половина всего адресного пространства. Предназначался данный класс для крупных сетей. Структура этого класса выглядит следующим образом.
В чем суть. Первый октет, то есть 8 бит, остаются за адресом сети, а 3 последних октета (то есть оставшиеся 24 бита) назначаются хостам. Вот для того, чтобы показать, какой кусок относится к сети, а какой к хостам, используется маска. По структуре записи она аналогична записи IP-адреса. Отличие маски от IP-адресов в том, что 0 и 1 не могут чередоваться. Сначала идут 1, а потом 0. Таким образом, там где есть единица, значит это участок сети. Чуть ниже, после разбора классов, я покажу, как с ней работать. Сейчас главное знать, что маска класса A — 255.0.0.0. В таблице еще упомянут какой-то первый бит и для класса A он равен 0. Этот бит как раз нужен для того, чтобы сетевое устройство понимало, к какому классу оно принадлежит. Он же еще задает начальный и конечный диапазон адресов. Если в двоичном виде записать на всех октетах единицы, кроме первого бита в первом октете (там всегда 0), то получится 127.255.255.255, что является границей класса A. Например, возьмем адрес 44.58.63.132. Мы знаем, что у класса A первый октет отдается под адрес сети. То есть «44» — это адрес сети, а «58.63.132» — это адрес хоста.
Поговорим про класс B
Этому классу был дан блок поменьше. И адреса из этого блока предназначались для сетей средних масштабов. 2 октета отданы под адрес сети, и 2 — под адрес хостов. Маска у B класса — 255.255.0.0. Первые биты строго 10. А остальные меняются. Перейдем к примеру: 172.16.105.32. Два первых октета под адрес сети — «172.16». А 3-ий и 4-ый под адрес хоста — «105.32».
Класс C
Этот класс обделили адресами и дали ему самый маленький блок. Он был предназначен для мелких сетей. Зато этот класс отдавал целых 3 октета под адрес сети и только 1 октет — под хосты. Маска у него — 255.255.255.0. Первые биты 110. На примере это выглядит так — 192.168.1.5. Адрес сети «192.168.1», а адрес хоста «5».
Классы D и E. Я неcпроста объединил их в один. Адреса из этих блоков зарезервированы и не могут назначаться сетям и хостам. Класс D предназначен для многоадресной рассылки. Аналогию можно привести с телевидением. Телеканал вещает группе лиц свой эфир. И те, кто подключены, могут смотреть телепередачи. То есть в распоряжение администраторов могут попасть только 3 первых класса.
Напомню, что первые биты у класса D — это 1110. Пример адреса — 224.0.0.5.
А первые биты у класса E — это 1111. Поэтому, если вдруг увидите адрес вида 240.0.0.1, смело говорите, что это адрес E класса.
Про классы обмолвились. Теперь озвучу вопрос, который мне недавно задали. Так зачем тогда маски? У нас итак хосты понимают в каком они классе. Но суть вот в чем. Например, у вас есть маленький офис, и вам нужен блок IP-адресов. Никто не будет вам выдавать все адреса класса C. А дадут только его кусок. Например 192.168.1.0 с маской 255.255.255.0. Так вот эта маска и будет определять вашу границу. Мы уже говорили, что октет варьируется в значении от 0 до 255. Вот этот 4 октет полностью в вашем распоряжении. За исключением первого адреса и последнего, то есть 0 и 255 в данном случае. Первый адрес — это адрес сети (в данном случае 192.168.1.0), а последний адрес — широковещательный адрес (192.168.1.255). Напомню, что широковещательный адрес используется в том случае, когда надо передать информацию всем узлам в сети. Поэтому есть правило. Если вам надо узнать номер сети, то все биты относящиеся к хосту обращаете в 0, а если широковещательный, то все биты — в 1. Поэтому, если из 256 адресов забирается 2 адреса, то на назначение хостам остается 254 адреса (256 — 2). На собеседованиях и экзаменах часто любят спрашивать: «Количество IP-адресов в сети?» и «Сколько доступных IP-адресов в сети для назначения хостам?». Два разных вопроса, которые могут поставить в тупик. Ответом на первый будет — все адреса, включая адрес сети и широковещательный адрес, а на второй вопрос — все адреса, кроме адреса сети и широковещательного адреса.
Теперь углубимся в изучении маски.
Я записал адрес класса C 192.168.1.1 с маской 255.255.255.0 в десятичном и двоичном формате. Обратите внимание на то, как выглядит IP-адрес и маска в двоичном формате. Если в IP-адресе 0 и 1 чередуются, то в маске сначала идут 1, а потом 0. Эти биты фиксируют адрес сети и задают размер. По таблице выше можно сделать вывод, что в двоичном виде маска представлена последовательностью 24 единиц подряд. Это говорит о том, что целых 3 октета выделено под сеть, а 4 октет свободен под адресацию для хостов. Здесь ничего необычного. Это стандартная маска класса C.
Но вот в чем загвоздка. Например, в вашем офисе 100 компьютеров, и расширяться вы не планируете. Зачем плодить сеть из 250+ адресов, которые вам не нужны?! На помощь приходит разделение на подсети. Это очень удобная вещь. Объясню принцип на примере того же класса C. Как бы вы не хотели, но трогать 3 октета нельзя. Они фиксированы. Но вот 4 октет свободен под хосты, поэтому его можно трогать. Заимствуя биты из хостового куска, вы дробите сеть на n-ое количество подсетей и, соответственно, уменьшаете в ней количество адресов для хостов.
Попробуем это воплотить в реальность. Меняю маску. Заимствую первый бит из хостовой части(то есть 1-ый бит 4-ого октета выставляю в единицу). Получается следующая маска.
Данная маска делит сеть на 2 части. Если до дробления у сети было 256 адресов(от 0 до 255), то после дробления у каждого куска будет по 128 адресов(от 0 до 127 и от 128 до 255).
Теперь посмотрю, что изменится в целом с адресами.
Красным цветом я показал те биты, которые зафиксированы и не могут изменяться. То есть маска ей задает границу. Соответственно биты помеченные черным цветом определены для адресации хостов. Теперь вычислю эту границу. Чтобы определить начало, надо все свободные биты(помеченные черным цветом) обратить в ноль, а для определения конца обратить в единицы. Приступаю.
То есть в четвертом октете меняются все биты, кроме первого. Он жестко фиксирован в рамках этой сети.
Теперь посмотрим на вторую половину сети и вычислим ее адреса. Деление у нас производилось заимствованием первого бита в 4-ом октете, значит он является делителем. Первая половина сети получалась, когда этот бит принимал значение 0, а значит вторая сеть образуется, когда этот бит примет значение 1. Обращаю этот бит в 1 и посмотрю на границы.
Приведу в десятичный вид.
Соответственно .128 и .255 назначать хостам нельзя. Значит в доступности 128-2=126 адресов.
Вот таким образом можно при помощи маски управлять размером сети. Каждый заимствованный бит делит сеть на 2 части. Если откусить 1 бит от хостовой части, то поделим на 2 части (по 128 адресов), 2 бита = 4 части (по 64 адреса), 3 бита = 8 (по 32 адреса) и так далее.
Если вы рассчитали количество бит, отдаваемые под хосты, то количество доступных IP-адресов можно вычислить по формуле
В книге У. Одома по подготовке к CCNA R&S приведена хорошая формула для расчета битов, отдаваемых на подсеть и хосты:
N + S + H = 32, где N — кол-во битов сети (класс A — 8 бит, B — 16 бит, C — 24 бита), S — кол-во заимствованных битов на подсеть (это то, что мы делали выше, когда заимствовали 1 бит из хостовой части), H — кол-во бит отводимых хостам.
Внесу ясность и объясню, как и где применять эти формулы.
Возьмем пример:
Нам выдали сеть 172.16.0.0 и попросили создать 120 подсетей со 180 хостами и записать маску. Приступим.
В качестве шпаргалки, и для быстроты вычисления, я ниже подготовил таблицу степеней двойки.
Двигаемся дальше. Первое главное условие, при использовании классовой адресации — это то, что должна использоваться одна маска для всех подсетей. То есть, если у вас для одной подсети маска 255.255.255.0, то для другой подсети она не может быть 255.255.255.128.
Теперь смотрим на выданную сеть. Путем логических размышлений понимаем, что это адрес класса B. А значит его N (кол-во битов сети) = 16. Ок. Значит на хосты выделено тоже 16 бит. Вспоминаем условия задачи. Нужно создать 120 подсетей. «Откусывать» биты от сетевой части запрещено, значит кусаем от хостовой части.
Теперь нужно взять такое кол-во бит, чтобы хватило для 120 подсетей, однако оставляло достаточное кол-во под биты для хоста. Смотрим на таблицу выше. Если взять 7 бит, то получим 128. 128>120, следовательно попадаем под условие. Если возьмем 6 бит, то получим 64. 64<128, поэтому не попадаем под условие и отбрасываем этот вариант.
Ок. Выяснили, что S надо выделить не меньше 7 бит. Теперь посмотрим, что осталось под хосты.
Если N + S + H = 32 => H = 32 — (N + S) => H = 32 — (16 + 7) = 9. Смотрим на таблицу выше (или возводим 2 в 9 степень в уме) и получаем число 512. Отнимаем 2 (адрес сети и широковещательный адрес) и получаем 510 адресов. Нам нужно 180, а значит под условие мы попадаем причем с большим запасом. В таких случаях вам предоставляется право выбора. Сделать больше подсетей или хостов на подсеть. Объясняю, что это значит. У нас есть 9 бит на хосты. Если мы возьмем 8 бит, то получим число 256. 256 — 2 = 254 адреса. Этот вариант нам тоже подходит. Возьмем 7 бит. Получаем 128. Даже не отнимая 2 адреса, становится понятно, что это меньше 180 => данный вариант отбрасывается сразу. Итого получаем, что минимальное количество для подсети — 7 бит, а для хостов — 8 бит. Поэтому свободный бит можно отдать либо на подсеть, либо на хосты. Маска получается сложением N и S. В нашем случае получаем, если под подсеть отдаем 7 бит, то получаем 23. В десятичном виде маска будет выглядеть 255.255.254.0. А если отдадим под подсеть 8 бит, то получим 24 (или в десятичном виде 255.255.255.0). Иногда бывает, что под задачу существует всего одна маска. Ну и, конечно, могут быть случаи, когда маска не попадает не под какие условия. В этих случаях нужно брать сеть другого класса или доказывать заказчику, что это невозможно.
Думаю теперь понятно, как работала классовая адресация, и как ее рассчитывали. Возможно с первого раза голова не переварит этого, поэтому перечитывайте еще раз и повнимательнее. Как только начнет что-то проясняться, потренируйтесь на задачках, которые я оставлю.
Задача №2
1) Записать маску для проекта: сеть 172.16.0.0. 250 подсетей и 220 хостов.
2) Записать маску для проекта: сеть 10.0.0.0. 2000 подсетей и 1500 хостов.
3) Записать маску для проекта: сеть 192.168.0.0. 4 подсети и 60 хостов.
Ответы на задачи
1) 24 бита или 255.255.255.0
2) 19 бит (255.255.224.0), 20 бит (255.255.240.0), 21 бит (255.255.248.0)
3) 26 бит или 255.255.255.192
На этом разговор про классовые сети начну закруглять и подведу итоги. Классовая адресация — это зарождение сегодняшнего интернета, и именно с нее все началось. Поэтому плюсов у нее много, и за это создателям спасибо. Но, как вы могли заметить, у нее было жесткая привязка к одной маске. За счет этого IP-адреса использовались не экономно и расточительно. А в связи с бурным ростом Интернета адресов стало не хватать, и срочно нужно было вносить изменения.
Поняли ведущие умы, что использовать классовые сети не удобно и нужно от них отказываться. Это привело к созданию бесклассовой адресации и маскам переменной длины, о чем мы ниже поговорим. Но перед этим пару слов о видах IP-адресов. Несмотря на то, что переход от классовой адресации к бесклассовой предполагал экономию IP-адресов, на деле эта проблема все равно решалась не полностью. Все упиралось в саму технологию IPv4. Объясню почему. Выше я говорил, что длина IP адреса равна 32 бита. Каждый бит может принимать значение 0 или 1, то есть два значения. Соответственно, чтобы вычислить все комбинации, надо возвести 2 в 32-ую степень. Получаем 4294967296 адресов. Если вычесть отсюда зарезервированные для специальных нужд и прочего, то останется примерно 4.2 млрд. адресов, когда на Земле проживает около 7.3 млрд. человек. Поэтому ведущие умы быстро просекли эту фишку и начали искать решение. Они решили выделить некое адресное пространство, которое будет использоваться только в пределах локальной сети и не будет использоваться в Интернете. Это разделило адреса на 2 лагеря: белые или публичные (англ. public) и серые или частные (англ. private).
Привожу диапазон адресов, которые выделены под локальные сети:
1) 10.0.0.0 — 10.255.255.255 с маской 255.0.0.0 (или кратко 10/8).
2) 172.16.0.0 — 172.31.255.255 с маской 255.240.0.0 (или кратко 172.16/12).
3) 192.168.0.0 — 192.168.255.255 (или кратко 192.168/16).
Если честно, я мало где видел применение адресации 172.16.X.X. Обычно в корпоративной среде всегда используется 10.X.X.X, а в домах/квартирах и мелких офисах 192.168.X.X.
Теперь прошу обратить внимание на очень важную вещь, которую многие путают. Не путайте классовую адресацию и диапазон частных адресов. Очень много людей наступают на эти грабли и свято верят, что диапазон частных адресов 10.0.0.0 — 10.255.255.255 — это диапазон A класса.
Разобрались, что такое частные адреса или private адреса. Но это еще не все. Есть еще список зарезервированных адресов, которые не могут светиться в Интернете. По ним написана целая документация на IETF. Привожу ссылку, где можете прочитать оригинал. Я кратко опишу часто встречающиеся.
1) 0.0.0.0/8 — диапазон адресов, используемый хостами для самоидентификации. Обычно это можно увидеть, когда хост пытается получить IP-адрес от DHCP сервера. Так как изначально у него нету IP-адреса, то в поле источника он вставляет адрес из данного диапазона.
2) 127.0.0.0/8 — loopback или localhost адреса. Это IP-адреса, используемые компьютером, чтобы обратиться к самому себе. Очень полезно для проверки работы TCP/IP. Дело в том, что независимо от наличия соединения с Интернетом или локальной сетью, адреса из этого пула должны всегда пинговаться. Если этого не происходит, значит система накрылась или накрывается медным тазом.
3) 169.254.0.0/16 — link-local address или локальные адреса. Автоматически используются хостами при отсутствии DHCP-сервера или его недоступности. Это позволяет быстро организовать локальную сеть и проверить работу узлов. Однако данный пул адресов не маршрутизируется. Следовательно, выйти в Интернет с них не получится.
4) 224.0.0.0/4 — блок адресов, зарезервированный под многоадресную рассылку или multicast. Для тех, кто хочет побольше узнать про multicast, оставляю ссылку.
Бесклассовая адресация (англ. Classless Inter-Domain Routing или CIDR). Описана была в стандарте RFC1519 в 1993 году. Она отказалась от классовых рамок и фиксированной маски. Адреса делятся только на публичные и зарезервированные, о которых написано выше. Если в классовой адресации маска нарезалась единой для всех подсетей, то в бесклассовой — у каждой подсети может быть своя маска. На теории все хорошо и красиво, но нет ничего лучше, чем практика. Поэтому перехожу к ней и объясню, как можно делить на подсети с разным количеством хостов.
В качестве шпаргалки приведу список всех возможных масок.
Представим ситуацию. Вам выдали сеть 192.168.1.0/24 и поставили следующие условия:
1) Подсеть на 10 адресов для гостей.
2) Подсеть на 42 адреса для сотрудников.
3) Подсеть на 2 адреса для соединения 2 маршрутизаторов.
4) Подсеть на 26 адресов для филиала.
Ок. Данная маска показывает, что в нашем распоряжении находятся 256 адресов. По условию эту сеть надо каким-то образом разделить на 4 подсети. Давайте попробуем. 256 очень хорошо делится на 4, давая в ответе 64. Значит один большой блок в 256 адресов можно поделить на 4 равных блока по 64 адреса в каждом. И все было бы прекрасно, но это порождает большое число пустых адресов. Для сотрудников, которым нужно 42 адреса, ладно, может в дальнейшем компания еще наймет. Но вот подсеть для маршрутизаторов, которая требует всего 2 адреса, оставит 60 пустых адресов. Да, вы можете сказать, что это private адреса, и кому дело до них. А теперь представьте, что это публичные адреса, которые маршрутизируются в Интернете. Их и так мало, а тут мы еще будем их отбрасывать. Это не дело, тем более, когда мы можем гибко управлять адресным пространством. Поэтому возвращаемся к примеру и нарежем подсети так, как нам нужно.
Итак, какие подсети должны быть нарезаны, чтобы вместились все адреса, заданные по условию?!
1) Для 10 хостов, наименьшей подсетью будет блок из 16 адресов.
2) Для 42 хостов, наименьшей подсетью будет блок из 64 адресов.
3) Для 2 хостов, наименьшей подсетью будет блок из 4 адресов.
4) Для 26 хостов, наименьшей подсетью будет блок из 32 адресов.
Я понимаю, что не все могут с первого раза в это вникнуть, и в этом нет ничего страшного. Все люди разные и по-разному воспринимают информацию. Для полноты эффекта покажу деление на картинке.
Вот у нас блок, состоящий из 256 адресов.
После деления на 4 части получается следующая картинка.
Выше мы выяснили, что при таком раскладе адреса используются не рационально. Теперь обратите внимание, как стало выглядеть адресное пространство после нарезки подсетей разной длины.
Как видите, в свободном доступе осталось куча адресов, которые мы в дальнейшем сможем использовать. Можно посчитать точную цифру. 256 — (64 + 32 + 16 + 4) = 140 адресов.
Вот столько адресов мы сэкономили. Двигаемся дальше и ответим на следующие вопросы:
— Какими будут сетевые и широковещательные адреса?
— Какие адреса можно будет назначить хостам?
— Как буду выглядеть маски?
Механизм деления на подсети с разной маской получил название VLSM (от англ. Variable Length Subnet Mask) или маска подсети переменной длины. Дам важный совет! Начинайте адресацию с самой большой подсети. Иначе вы можете попасть на то, что адреса начнут перекрываться. Поэтому сначала планируйте сеть на бумаге. Нарисуйте ее, изобразите в виде фигур, просчитайте вручную или на калькуляторе и только потом переходите настройке в боевых условиях.
Итак, самая большая подсеть состоит из 64 адресов. С нее и начнем. Первый пул адресов будет следующий:
Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.63.
Пул адресов для назначения хостам от 192.168.1.1 до 192.168.1.62.
Теперь выбор маски. Тут все просто. Отнимаем от целой сети нужный кусок и полученное число записываем в октет маски. То есть 256 — 64 = 192 => маска 255.255.255.192 или /26.
Дальше идет подсеть поменьше. Состоит она из 32 адресов. Если первая заканчивалась на .63, то эта будет начинаться с .64:
Адрес подсети — 192.168.1.64.
Широковещательный адрес — 192.168.1.95.
Пул адресов для назначения хостам будет от 192.168.1.65 до 192.168.1.94.
Маска: 256 — 32 = 224 => 255.255.255.224 или /27.
3-я подсеть, которая предназначена для филиала, начнет старт с .96:
Адрес подсети — 192.168.1.96.
Широковещательный адрес — 192.168.1.111.
Пул адресов для назначения хостам будет от 192.168.1.97 до 192.168.1.110.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.
Ну и для последней подсети, которая уйдет под интерфейсы, соединяющие роутеры, будет начинаться с .112:
Адрес подсети — 192.168.1.112.
Широковещательный адрес — 192.168.1.115.
Разрешенными адресами будут 192.168.1.113 и 192.168.1.114.
Маска: 256 — 4 = 252 => 255.255.255.252 или /30.
Замечу, что адрес 192.168.1.115 является последним используемым адресом. Начиная с 192.168.1.116 и до .255 свободны.
Вот таким образом, при помощи VLSM или масок переменной длины, мы экономно создали 4 подсети с нужным количеством адресов в каждой. Думаю это стоит закрепить задачкой для самостоятельного решения.
Задача №3
Разделите сеть 192.168.1.0/24 на 3 разные подсети. Найдите и запишите в каждой подсети ее адреса, широковещательный адрес, пул разрешенных к выдаче адресов и маску. Указываю требуемые размеры подсетей:
1) Подсеть на 120 адресов.
2) Подсеть на 12 адресов.
3) Подсеть на 5 адресов.
Ответ1) Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.127.
Пул адресов для назначения хостам будет от 192.168.1.1 до 192.168.1.126.
Маска: 256 — 128 = 128 => 255.255.255.128 или /25.
2) Адрес подсети — 192.168.1.128.
Широковещательный адрес — 192.168.1.143.
Пул адресов для назначения хостам будет от 192.168.1.129 до 192.168.1.142.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.
3) Адрес подсети — 192.168.1.144.
Широковещательный адрес — 192.168.1.151.
Пул адресов для назначения хостам будет от 192.168.1.145 до 192.168.1.150.
Маска: 256 — 8 = 248 => 255.255.255.248 или /29.
Теперь, когда вы знаете, как делить сети на подсети, самое время научиться собирать подсети в одну общую подсеть. Иначе это называется суммированием или summarization. Суммирование чаще всего используется в маршрутизации. Когда у вас в таблице маршрутизатора несколько соседних подсетей, маршрутизация которых проходит через один и тот же интерфейс или адрес. Скорее всего этот процесс лучше объяснять при разборе маршрутизации, но учитывая то, что тема маршрутизации и так большая, то я объясню процесс суммирования в этой статье. Тем более, что суммирование это сплошная математика, а в этой статье мы ею и занимаемся. Ну что же, приступлю.
Представим, что у меня компания состоящая из главного здания и корпусов. Я работаю в главном здании, а в корпусах коллеги. Хоть у меня и главное здание, но в нем всего 4 подсети:
— 192.168.0.0/24
— 192.168.1.0/24
— 192.168.2.0/24
— 192.168.3.0/24
Тут коллеги с соседнего здания очухались и поняли, что у них слетела конфигурация на маршрутизаторе, а бекапов нет. Наизусть они не помнят, какие в главном здании подсети, но помнят, что они находятся рядом друг с другом, и просят прислать одну суммированную. Теперь у меня возникает задача, как их суммировать. Для начала я переведу все подсети в двоичный вид.
Посмотрите внимательно на таблицу. Как видите, у 4 подсетей первые 22 бита одинаковые. Соответственно, если я возьму 192.168.0.0 с маской /22 или 255.255.252.0, то покрою свои 4 подсети. Но обратите внимание на 5 подсеть, которую я специально ввел. Это подсеть 192.168.4.0. 22-ой бит у нее отличается от предыдущих 4-х, а значит выше выбранное не покроет эту подсеть.
Ок. Теперь я отправлю коллегам суммированную подсеть, и, если они все правильно пропишут, то маршрутизация до моих подсетей будет работать без проблем.
Возьмем тот же пример и немного изменим условия. Нас попросили прислать суммарный маршрут для подсетей 192.168.0.0 и 192.168.1.0. Я не поленюсь и создам еще одну таблицу.
Обратите внимание, что у 2 первых подсетей одинаковые не 22 бита, а 23 бита. Это значит, что их можно просуммировать еще компактнее. В принципе работать будет и так, и так. Но как говорилось в одной рекламе: «Если нет разницы — зачем платить больше?». Поэтому старайтесь суммировать, не задевая при этом соседние подсети.
Таким образом, переводя подсети в двоичный формат и находя одинаковые биты, можно их суммировать.
Вообще суммирование полезно применять, когда надо объединить несколько подсетей, расположенных вблизи друг с другом. Это позволит сэкономить ресурсы маршрутизаторов. Однако это не всегда возможно. Просуммировать, например, подсеть 192.168.1.0 и 192.168.15.0, не захватив при этом соседние подсети, невозможно. Поэтому перед суммированием стоит подумать над ее целесообразностью. Поэтому повторюсь еще раз, что начинать какую-либо революцию надо на бумажке. Ну и для закрепления материала оставлю небольшую задачу.
Задача №4
Даны 4 подсети:
1) 10.3.128.0
2) 10.3.129.0
3) 10.3.130.0
4) 10.3.131.0
Просуммируйте подсети и найдите маску, которая сможет покрыть их, не задевая при этом соседние подсети.
Ответ
Исходя из этого, ответом будет 10.3.128.0/22 (255.255.252.0)
Пришло время закругляться. Статья получилась не очень длинной. Я бы даже сказал наоборот. Но все, что требует знать Cisco про IPv4, мы рассмотрели. Самое главное, что требуется от вас — это научиться работать с адресами и масками и уметь конвертировать их из десятичной в двоичную и обратно. Ну и, конечно, правильно делить на подсети и распределять адресное пространство. Спасибо, что дочитали. А если еще и задачки все сами прорешали, то цены вам нет) А если еще не прорешали, то приятного времяпровождения.
Mikrotik настройка двух подсетей — Вэб-шпаргалка для интернет предпринимателей!
# DHCP server can not run on slave interface!
Видимо из-за этого не работает. Только не пойму почему. Воторой dhcp выделен красным(
вот мой конфиг:
/interface bridge
add admin-mac=E4:8D:8C:A1:88:ED auto-mac=no comment=defconf name=bridge
/interface ethernet
set [ find default-name=ether2 ] name=ether2-master
set [ find default-name=ether3 ] master-port=ether2-master
set [ find default-name=ether4 ] master-port=ether2-master
set [ find default-name=ether5 ] master-port=ether2-master
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-onlyn channel-w > country=russia2 disabled=no distance=indoors frequency=2427 mode=ap-bridge
ss > /ip neighbor discovery
set ether1 discover=no
set br > /interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa-psk,wpa2-psk group-ciphers=
tkip,aes-ccm mode=dynamic-keys unicast-ciphers=tkip,aes-ccm
wpa-pre-shared-key=CorteC2010 wpa2-pre-shared-key=CorteC2010
/ip pool
add name=dhcp ranges=192.168.1.10-192.168.1.254
add name=pool2 ranges=192.168.2.10-192.168.2.100
/ip dhcp-server
add address-pool=dhcp disabled=no interface=br > # DHCP server can not run on slave interface!
add address-pool=pool2 disabled=no interface=ether2-master name=server1
/interface bridge port
add br > add br > /ip address
add address=192.168.1.1/24 comment=defconf interface=ether2-master network=
192.168.1.0
add address=192.168.2.1/24 interface=ether2-master network=192.168.2.0
/ip dhcp-client
add comment=defconf dhcp-options=hostname,client > /ip dhcp-server network
add address=192.168.1.0/24 comment=defconf gateway=192.168.1.1 netmask=24
add address=192.168.2.0/24 gateway=192.168.2.1 netmask=24
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.1.1 name=router
/ip firewall filter
add action=accept chain=input comment=»defconf: accept ICMP» protocol=icmp
add action=accept chain=input comment=»defconf: accept established,related»
connection-state=established,related
add action=drop chain=input comment=»defconf: drop all from WAN» in-interface=
ether1
add action=fasttrack-connection chain=forward comment=»defconf: fasttrack»
connection-state=established,related
add action=accept chain=forward comment=»defconf: accept established,related»
connection-state=established,related
add action=drop chain=forward comment=»defconf: drop inval > invalid
add action=drop chain=forward comment=
«defconf: drop all from WAN not DSTNATed» connection-nat-state=!dstnat
connection-state=new in-interface=ether1
/ip firewall nat
add action=masquerade chain=srcnat comment=»defconf: masquerade» out-interface=
ether1
/system clock
set time-zone-name=Asia/Krasnoyarsk
/tool mac-server
set [ find default=yes ] disabled=yes
add interface=bridge
/tool mac-server mac-winbox
set [ find default=yes ] disabled=yes
add interface=bridge
Функция VLAN (Virtual Local Area Network) позволяет создать несколько виртуальных интерфейсов на одном физическом сетевом интерфейсе. С помощью VLAN можно разделять или объединять сегменты локальной сети, независимо от ее физической топологии. О том, что такое виртуальная локальная сеть, доступно написано в статье что такое VLAN.
В этой статье мы рассмотрим пример разделения гостевой Wi-Fi сети и Wi-Fi сети предприятия с помощью VLAN. Будет подробно описана настройка VLAN в роутере MikroTik и Wi-Fi точке доступа EnGenius.
Описание задачи: Есть локальная сеть предприятия, к которой подключены компьютеры по кабелю и ноутбуки по Wi-Fi. В комнате для совещаний нужно предоставить свободный доступ (HotSpot) к интернету по Wi-Fi, но в целях безопасности требуется изолировать гостей от сети предприятия.
Для решения задачи понадобится оборудование с поддержкой функции VLAN. В примере будет использоваться следующее оборудование:
Рассмотрим упрощенную схему локальной сети предприятия.Кабель провайдера с интернетом подключается к роутеру. К роутеру по сетевому кабелю подключены компьютеры предприятия . Также к маршрутизатору подключена физически одна Wi-Fi точка доступа. На ней созданы две виртуальные Wi-Fi точки с названиями Office и HotSpot. К Office будут подключаться по Wi-Fi ноутбуки предприятия, а к HotSpot — гостевые ноутбуки для выхода в интернет.
Wi-Fi точка HotSpot изолирована в отдельную виртуальную сеть с названием VLAN2. Сеть предприятия не будем выносить в отдельный VLAN, чтобы не усложнять схему и настройку.
1. Настройка MikroTik VLAN
Приступим к настройке оборудования. В первую очередь настроим роутер MikroTik RB750.
1.1 Сброс настроек роутера
Настройку роутера MikroTik будем выполнять с чистой конфигурации. Поэтому полностью сбросим конфигурацию роутера через программу Winbox:
- Откройте в меню New Terminal;
- Введите команду systemreset;
- Нажмите кнопку y на клавиатуре, чтобы подтвердить сброс настроек.
После перезагрузки роутера откройте Winbox, и в появившемся окне нажмите кнопку Remove Configuration для очистки конфигурации.
1.2 Настройка WAN порта
Настроим WAN порт роутера, к которому подключен кабель провайдера. Как выполнить статические настройки или PPPoE можете посмотреть в статье настройка роутера MikroTik. В нашем случае маршрутизатор получает настройки от провайдера автоматически по DHCP, поэтому делаем динамическую настройку:
- Откройте меню IP — DHCP Client;
- В появившемся окне нажмите красный плюсик;
- В новом окне в списке Interface: выбираем WAN интерфейс ether1;
- Нажимаем кнопку OK для сохранения настроек.
После этого в столбце IP Adress появится IP адрес WAN порта, полученный от провайдера.
Проверяем наличие соединения с интернетом:
- Откройте New Terminal;
- Введите команду ping ya.ru, чтобы пропинговать сайт ya.ru.
Пошли пинги по 20ms, значит есть соединение с интернетом. Завершаем выполнение ping нажатием клавиш Ctrl+C.
1.3 Объединение LAN портов в Br >Чтобы компьютеры офисной сети, подключенные по кабелю к разным LAN портам роутера, могли связываться друг с другом, объединим порты роутера в мост Bridge.
Добавляем интерфейс Bridge:
- Откройте меню Br >
Добавляем LAN порты в Bridge:
- Перейдите на вкладку Ports;
- Нажмите «красный плюсик»;
- В списке Interface выберите второй порт роутера ether2;
- В списке Br >
Добавьте аналогичным образом в bridge_main порты ether3, ether4 и ether5. В итоге у вас должен появиться список портов, как на рисунке ниже.
1.4 Добавление VLAN интерфейса
Создадим на интерфейсе bridge_main виртуальный интерфейс с названием vlan2, который позволит изолировать Wi-Fi точку HotSpot от сети предприятия.
- Откройте меню Interfaces;
- Перейдите на вкладку VLAN;
- Нажмите «красный плюсик»;
- В появившемся окне в поле Name указываем название интерфейса vlan2;
- В поле VLAN >
Назначение IP адресов локальным сетям
Компьютеры сети предприятия и гостевой будут находиться в разных подсетях. Сеть предприятия будет использовать подсеть 192.168.88.1/24, а гостевая сеть 192.168.10.1/24. Настроим IP адреса локальных сетей.
Настройка IP адреса сети предприятия:
- Откройте меню IP — Addresses;
- Нажмите «красный плюсик»;
- В поле Address введите 192.168.88.1/24;
- В списке Interface выберите интерфейс br >
Настройка IP адреса гостевой сети:
- Откройте меню IP — Addresses;
- Нажмите «красный плюсик»;
- В поле Address введите 192.168.10.1/24;
- В списке Interface выберите виртуальный интерфейс vlan2;
- Нажимаем кнопку OK.
1.5 Настройка пула адресов
Компьютерам сети предприятия и гостевой сети будем по DHCP присваивать IP адреса из разных подсетей. Сеть предприятия будет использовать диапазон 192.168.88.2–192.168.88.254, а гостевая сеть 192.168.10.2–192.168.10.254. Зададим с помощью пула диапазоны IP адресов.
Добавляем диапазон IP адресов предприятия:
- Откройте меню IP — Pool;
- Нажмите «красный плюсик»;
- В появившемся окне в поле Name укажите название dhcp_pool_main;
- В поле Addresses пропишите диапазон 192.168.88.2–192.168.88.254 ;
- Нажмите кнопку OK для сохранения пула адресов.
Добавляем диапазон IP адресов гостевой сети аналогичным образом:
- Нажмите «красный плюсик»;
- В появившемся окне в поле Name указываем название dhcp_pool_vlan2;
- В поле Addresses прописываем диапазон 192.168.10.2–192.168.10.254 ;
- Нажимаем кнопку OK для сохранения пула адресов.
1.6 Настройка DHCP серверов
Чтобы компьютеры получали сетевые настройки автоматически, необходимо настроить DHCP сервера. Поскольку у нас будут две сети, то нужно настроить два DHCP сервера.
Настраиваем DHCP сервер внутренней сети предприятия:
- Откройте меню IP — DHCP server;
- Нажмите «красный плюсик»;
- В появившемся окне в поле Name укажите название dhcp_server_main;
- В списке Interface выберите интерфейс офисной сети br >
Настраиваем DHCP сервер гостевой сети аналогичным образом:
- Нажмите «красный плюсик»;
- В появившемся окне в поле Name укажите название dhcp_server_vlan2;
- В списке Interface выберите виртуальный интерфейс гостевой сети vlan2;
- В списке Address Pool выберите пул IP адресов dhcp_pool_vlan2, которые будут присваиваться гостевым ноутбукам;
- Нажмите кнопку OK.
Теперь переходим на вкладку Networks и добавляем наши сети:
Добавляем сеть предприятия:
- Нажмите «красный плюсик»;
- В поле Address укажите сеть предприятия 192.168.88.0/24;
- В поле Gateway укажите адрес шлюза 192.168.88.1;
- В поле Netmask укажите маску 24;
- В поле DNS Servers укажите адрес DNS сервера 192.168.88.1;
- Нажмите кнопку OK.
Добавляем гостевую сеть:
- Нажмите «красный плюсик»;
- В поле Address укажите сеть предприятия 192.168.10.0/24;
- В поле Gateway укажите адрес шлюза 192.168.10.1;
- В поле Netmask укажите маску 24;
- В поле DNS Servers укажите адрес DNS сервера 192.168.10.1;
- Нажмите кнопку OK.
1.7 Настройка DNS сервера
- Откройте меню IP — DNS и нажмите кнопку Settings;
- Поставьте галочку Allow Remote Request;
- Нажмите кнопку OK.
1.8 Включение NAT
Чтобы компьютеры имели выход в интернет, нужно настроить NAT для двух сетей.
Настройка NAT для внутренней сети предприятия:
- Откройте меню IP — Firewall;
- Перейдите на вкладку NAT;
- Нажмите «красный плюсик»;
- В списке Chain выберите srcnat;
- В поле Src. Address укажите диапазон IP адресов сети предприятия 192.168.88.0/24;
- В списке Out Interface выберите WAN порт ether1, на который приходит интернет от провайдера;
- Перейдите на вкладку Action;
- В списке Action выберите masquerade;
- Нажмите кнопку OK.
Настройка NAT для гостевой сети выполняется аналогичным образом, только используется другой диапазон IP адресов и порт vlan2:
- Нажмите «красный плюсик»;
- В списке Chain выберите srcnat;
- В поле Src. Address укажите диапазон IP адресов гостевой сети 192.168.10.0/24;
- В списке Out Interface выберите WAN порт ether1, на который приходит интернет от провайдера;
- Перейдите на вкладку Action;
- В списке Action выберите masquerade;
- Нажмите кнопку OK.
1.9 Изоляция подсетей
Чтобы компьютеры из офисной сети и сети хотспота не видели друг друга, нужно изолировать подсети. Это можно сделать двумя способами: через Firewall или правила маршрутизации Route Rules. Мы опишем, как изолировать подсети в MikroTik с помощью Route Rules.
- Откройте меню IP — Routes;
- Перейдите на вкладку Rules;
- Нажмите «красный плюсик»;
- В поле Src. Address укажите офисную подсеть 192.168.88.0/24;
- В поле Dst. Address укажите гостевую подсеть 192.168.10.0/24;
- В списке Action выберите unreachable;
- Нажмите кнопку OK.
Добавляем второе правило аналогичным образом, только меняем местами подсети.
- Нажмите «красный плюсик»;
- В поле Src. Address укажите офисную подсеть 192.168.10.0/24;
- В поле Dst. Address укажите гостевую подсеть 192.168.88.0/24;
- В списке Action выберите unreachable;
- Нажмите кнопку OK.
Настройка роутера MikroTik для использования VLAN выполнена. Теперь приступим к настройке точки доступа EnGenius EAP150 с поддержкой VLAN.
2 Настройка EnGenius VLAN
Подробная инструкция по настройке точки доступа EnGenius EAP150 описана в статье настройка точки доступа EnGenius EAP150. Мы остановимся на основных моментах настройки устройства.
Подключаем точку доступа к компьютеру, заходим в ее Web-интерфейс по IP адресу 192.168.1.1. Вводим Username: admin, Password: admin и приступаем к настройке.
2.1 Создание двух виртуальных Wi-Fi точек
Чтобы устройство работало беспроводной точкой доступа, перейдите в меню System — Operation Mode и выберите режим Access Point. Нажмите кнопку Apply для применения настроек.
Переходим в меню Wireless — Basic и настраиваем две Wi-Fi точки Office и HotSpot.
- В списке Enabled SS >
2.2 Настройка безопасности
На Wi-Fi точку Office нужно установить пароль для подключения к внутренней сети предприятия.
- Откройте меню Wireless — Security;
- В списке ESS >
Ко второй Wi-Fi точке HotSpot будем предоставлять доступ без пароля.
Также не забудьте в меню Management — Admin изменить пароль для входа в настройки точки доступа EnGenius.
2.3 Настройка VLAN виртуальной точки HotSpot
Как вы помните, в роутере MikroTik создан виртуальный интерфейс vlan2 с идентификатором 2. Чтобы связать Wi-Fi точку HotSpot с интерфейсом роутера vlan2 , нужно точке HotSpot также присвоить идентификатор 2.
- Откройте меню Wireless — VLAN;
- Выберите Virtual LAN: Enable;
- Напротив SS >
2.4 Настройка LAN
Можно использовать статические или динамические сетевые настройки LAN порта. Мы введем статические настройки сети, чтобы сразу знать, на каком IP адресе будет находиться точка.
- Откройте меню Network — LAN;
- Br >
Если вы настроили EnGenius на получение автоматических настроек по DHCP, то после подключения точки доступа к роутеру, нужно посмотреть в роутере, какой IP адрес присвоился точке EnGenius. Это можно сделать в меню IP — DHCP Server на вкладке Leases. Посмотрите по MAC адресу устройства, какой ей присвоен IP адрес.
Теперь можно отключить Wi-Fi точку доступа EnGenius от компьютера и подключить в любой порт роутера MikroTik.
Подключитесь по очереди к Wi-Fi точкам Office и HotSpot, проверьте работу интернета и какие IP адреса присваиваются клиентам.
Описанная задача и процесс настройки разделенной гостевой сети и сети организации часто применяется в кафе, ресторанах, торговых центрах и гостиницах. Надеемся, данная инструкция поможет вам в решении аналогичных задач.
Одной из довольно распространенных задач, встающих перед администраторами сетей, например на предприятиях, является задача по объединению двух различных сетей, с полноценной маршрутизацией.
Если в качестве маршрутизаторов для этих сетей, используются оборудование компании Mikrotik, то реализация этой задачи, не займет много времени.
Предположим, что у нас есть две локальные сети. 192.168.0.0/24 и 192.168.2.0/24, частью которых, являются роутеры под управлением Mikrotik RouterOS level 6, с IP адресами 192.168.0.1 и 192.168.2.1 соответственно. Для объединения их в одну маршрутизируемую сеть, в качестве передающей среды, мы будем использовать виртуальную сеть VLAN, где в качестве шлюза для соседней сети, будет использоваться соответствующий интерфейс имеющий адрес с сетевой маской /32. Топологически, это будет выглядеть так:
Предположим, что мы соединили оба роутера RouterBoard Mikrotik через порты ether5.
Начнем настройку с Router A, который работает в сети 192.168.0.0/24, и имеет IP адрес 192.168.0.1.
Первое, что мы делаем, это создаем виртуальную сеть VLAN. Открываем раздел Interfaces и переходим на вкладку VLAN. Добавляем новую запись с такими параметрами: Name — можем оставить без изменений vlan1, VLAN ID — 2, ставим 2 или любое другое число. И Interface — ether5, так как мы решили, что роутеры у нас будут объединены портами №5.
Далее в разделе IP Addresses мы добавляем новый адрес для только что созданного виртуального интерфейса. В поле Address мы вписываем IP нашего роутера с маской /32 — 192.168.0.1/32, в поле Network мы указываем IP второго роутера Router B — 192.168.2.1 и в качестве интерфейса, выбираем vlan1.
Последнее, что нам надо сделать, это добавить новый маршрут в разделе IP Routes.
Здесь на вкладке Routes, добавляем новое правило маршрутизации, где в качестве Dst.Addresses мы укажем префикс соседней сети — 192.168.2.0/24, а в качестве Gateway — 192.168.2.1, IP адрес соседнего роутера.
На этом настройку Router A, можно считать законченной. Переходим к настройке второго роутера Router B. В принципе, нам надо сделать точно такие же операции, только с другими IP адресами.
Открываем раздел Interfaces и на вкладке VLAN, добавляем новую запись с такими же параметрами, как и в первый раз. Name — оставляем без изменений vlan1, VLAN ID — 2, должен совпадать с этим же значением Router A, и Interface — ether5.
Как и в первом случае, следующий шаг, это назначение IP адреса для интерфейса vlan1. В разделе IP Addresses, добавляем новый адрес. В поле Address мы вписываем IP нашего роутера с маской /32 — 192.168.2.1/32, а вот в поле Network мы указываем IP первого роутера Router A — 192.168.0.1, в качестве интерфейса, выбираем vlan1.
И закончим настройку, добавлением нового маршрута. В разделе IP Routes, на вкладке Routes, добавляем новое правило маршрутизации, где в качестве Dst.Addresses мы укажем префикс соседней сети — 192.168.0.0/24, а в качестве Gateway — 192.168.0.1, IP адрес первого роутера.
Теперь наши две сети объединены и мы можем иметь доступ с одной сети к ресурсам другой.
Рекомендуем к прочтению
Объединение двух локальных сетей с одинаковым номерами сетей на Linux-шлюзе / Хабр
При создании локальной сети не каждый администратор подходит с ответственностью к выбору диапазона адресов. А может и не каждый догадывается о наличии частных диапазонов кроме 192.168.0.0/24. И со временем такая бомба замедленного действия может дать о себе знать. Локальные сети объединяются, возникает потребность в коммуникации между хостами разных сетей. И тут выясняется, что номера сетей совпадают. И менять их по каким либо причинам проблематично или невозможно.
В таком случае, серверу, маршрутизирующему пакеты между сетями, остается сделать вид, что номера сетей различны и выдавать желаемое за действительное. В богатом арсенале Linux есть средства для таких манипуляций: iptables с NETMAP и утилита ip.
Цель
Из сети LAN1 мы хотим послать пакет в сеть LAN2. Но мы не можем послать его в сеть, номер которой одинаков с нашим. В самом частом случае 192.168.0.0/24. Если такой пакет появится в LAN1, он не будет знать, что есть LAN2, он будет искать такую машину в LAN1. Таковы правила маршрутизации по умолчанию.
Значит, надо посылать пакеты с другими адресами, которые уйдут в роутер.
Как это должно вглядеть для наблюдателя из LAN1
Например, пользователь сети LAN1 будет видеть сеть LAN2 как 10.8.1.0/24. Тут уже никакого пересечения адресов. LAN1 доволен.
Как это выглядит с обеих сторон
Из LAN1 приходит пакет с адресом отправителя 192.168.0.100 и адресом назначения 10.8.1.200. Из роутера с интерфейса LAN2 выходит тот же пакет с адресом отправителя 10.8.1.100 и с адресом назначения 192.168.0.200. Пакет проходит до адреса назначения и тот шлет в ответ на адрес отправителя со своим адресом. Пакет уходит в роутер. В нем происходит обратное преобразование и пользователь LAN1 получает ответ с того адреса, на который отправил пакет.
Теория. Путь пакета в ядре роутера: netfilter
Здесь я попытаюсь рассказать о путешествии транзитного трафика через наш Linux-роутер. Для полного понимания процесса путешествия пакета лучше видеть схему его прохождения из Википедии по цепочкам netfilter.
Наш пакет с [источником|назначением] [192.168.0.100|10.8.1.200] попадает на сетевой интерфейс роутера и первой его цепочкой будет PREROUTING.
PREROUTING
Проходя по цепочке он попадает в таблицу PREROUTING mangle. В которой посредством iptables мы определяем интерфейс, с которого он пришел, и адрес источника. Если это наш пациент, мы его помечаем действием MARK.
После чего пакет [192.168.0.100|10.8.1.200|(marked)] попадает в таблицу nat. Эта таблица предназначена для трансляции адресов. Поскольку не существует реального адреса 10.8.1.200, то на последующем этапе маршрутизации пакет будет отброшен или уйдет в неизвестном направлении. Поэтому заменяем ему адрес назначения на тот, на который он действительно должен пойти именно тут: [192.168.0.100|192.168.0.200|(marked)]. Делается это действием NETMAP, которое заменяет номер сети по маске.
ROUTING
Наш пакет пакет попадает на этап принятия решения, куда он должен идти дальше. Он промаркирован, поэтому можем отправить его в специальную таблицу маршрутизации, которую мы создали для такого случая. Там принимается решение, что пакет не предназначен для локального компьютера и должен идти в LAN2.
Пакет успешно проходит цепочку FORWARDING. Попадает опять на этап маршрутизации. Если в FORWARDING с ним ничего не случилось, а по идее не должно было. Он идет тем же путем. После чего попадает в POSTROUTING.
POSTROUTING
Без изменений доходя до таблицы nat. Мы должны изменить адрес источника. Ведь ответ на пакет [192.168.0.100|192.168.0.200] будет отправлен в локальную сеть, а не в роутер. Чтоб он попал обратно в роутер, меняем адрес источника на несуществующий [10.8.1.100|192.168.0.200]. Опять же NETMAP. После этого пакет выходит в LAN2.
С ответным пакетом проделываем обратную процедуру, чтоб он дошел до изначального источника.
Реализация
iptables -t mangle -A PREROUTING -i tun0 -d 10.8.1.0/24 -j MARK --set-mark 8
Метим входящие пакеты на нашу несуществующую сеть для дальнейшего их опознавания в netfilter. Можно обойтись и без меток, использовать в качестве критериев адрес источника, входной интерфейс и адрес назначения, но в случае сложной маршрутизации с отдельными таблицами маршрутизации решить куда отправить пакет будет проще всего по метке.
iptables -t nat -A PREROUTING -m mark --mark 8 -j NETMAP --to 192.168.0.0/24
Узнаем пакет по метке и действием NETMAP в таблице PREROUTING подменяет номер сети.
iptables -t nat -A POSTROUTING -m mark --mark 8 -j NETMAP --to 10.8.2.0/24
В POSTROUTING NETMAP подменяет адрес источника.
После этого все обращения на подсеть 10.8.1.0/24 будут выглядеть внутри LAN2, как обращения из подсети 10.8.2.0/24.
ROUTING
Чтобы маршрутизировать пакеты по метке необходимо создать свою таблицу маршрутизации.Редактируем /etc/iproute2/rt_tables, добавляя уникальное число и название новой таблицы.256 netmap
Далее надо добавить правило, по которому в эту таблицу будут направляться пакеты на маршрутизацию.
ip ru add fwmark 8 lookup netmap
Теперь помеченные пакеты будут уходить на маршрутизацию в таблицу netmap.
И последним шагом нужно определить маршруты в таблице netmap.
ip route add default dev eth2 table netmap
Или можно указать в особом случае отдельный шлюз, если в эту сеть трафик от роутера идет через него. Что-то в духе:
ip route add default via 192.168.1.254 dev eth2 table netmap
Пока рано радоваться, к нам придет ответ из LAN2 [192.168.0.100|10.8.2.200].
Надо сделать все тоже самое, но только преобразовать обратно. Увы, netfilter сам этого не делает. Все действия уже описаны, приведу только последовательность команд для преобразования адресов в одну и в обратную сторону. (В первой таблице маршрутизации необходимости в данном случае нет, но при иных обстоятельствах может понадобиться.)
ip rule add fwmark 8 lookup netmap
ip route add 192.168.0.0/24 dev eth2 table netmap
iptables -t mangle -A PREROUTING -i tun0 -d 10.8.1.0/24 -j MARK --set-mark 8
iptables -t nat -A PREROUTING -m mark --mark 8 -j NETMAP --to 192.168.0.0/24
iptables -t nat -A POSTROUTING -m mark --mark 8 -j NETMAP --to 10.8.2.0/24
# в обратную сторону
ip rule add fwmark 9 lookup netmap2
ip route add 192.168.0.0/24 dev tun0 table netmap2
iptables -t mangle -A PREROUTING -i eth2 -d 10.8.2.0/24 -j MARK --set-mark 9
iptables -t nat -A PREROUTING -m mark --mark 9 -j NETMAP --to 192.168.0.0/24
iptables -t nat -A POSTROUTING -m mark --mark 9 -j NETMAP --to 10.8.1.0/24
Результаты
Вот что пишет tcpdump (первый пример с vnc, второй с пингом):
tcpdump -i any port 5900
12:46:46.358969 IP 192.168.0.100.41930 > 10.8.1.200.5900: Flags [P.], seq 647:657, ack 261127, win 1213, options [nop,nop,TS val 460624 ecr 171318], length 10
12:46:46.358978 IP 10.8.2.100.41930 > 192.168.0.200.5900: Flags [P.], seq 647:657, ack 261127, win 1213, options [nop,nop,TS val 460624 ecr 171318], length 10
12:46:46.505847 IP 192.168.0.200.5900 > 10.8.2.100.41930: Flags [.], ack 657, win 64879, options [nop,nop,TS val 171320 ecr 460624], length 0
12:46:46.505861 IP 10.8.1.200.5900 > 192.168.0.100.41930: Flags [.], ack 657, win 64879, options [nop,nop,TS val 171320 ecr 460624], length 0
tcpdump -i any icmp
12:47:46.363905 IP 192.168.0.100 > 10.8.1.200: ICMP echo request, id 2111, seq 1, length 64
12:47:46.363922 IP 10.8.2.100 > 192.168.0.200: ICMP echo request, id 2111, seq 1, length 64
12:47:46.364049 IP 192.168.0.200 > 10.8.2.100: ICMP echo reply, id 2111, seq 1, length 64
12:47:46.364054 IP 10.8.1.200 > 192.168.0.100: ICMP echo reply, id 2111, seq 1, length 64
Tcpdump отлично демонстрирует, как происходит преобразование адресов на входе в один интерфейс и на выходе в другой и в обратную сторону.
Так же отлично работают остальные сервисы, типа Samba и ее аналог на Windows.
Note
Если соединение между сетями организовано посредством туннеля OpenVPN, то для правильной маршрутизации со стороны клиента в конфиг сервера необходимо добавить дополнительный маршрут через туннель.push "route 10.8.1.0 255.255.255.0"
Warning!
При отладке конфигурации не пытайтесь законнектиться к серверу, на котором шлюз. Соединяйтесь с машинами за ним в LAN2.
И вот почему. Правила расчитаны, что пакет будет проходить через шлюз, i. e.
PREROUTING -> Маршрутизация -> FORWARD -> Маршрутизация -> POSTROUTING
Если пакеты будут адресованы 10.8.2.1 (серверу), то они в результате маршрутизации пойдут в цепочку INPUT и преобразование адреса источника в POSTROUTING не будет выполнено.
PREROUTING -> Маршрутизация -> INPUT -> Приложение
Соответственно, адрес источника не будет измненен и ответ будет послан не на 10.8.2.xy, а на 192.168.0.xy — на маршрут по умолчанию для этого диапазона, т. е. в LAN2, а не в LAN1.
Самая полная и лучшая шпаргалка по делениям сетей на подстети. В ней есть всё.
В эту шпаргалку Я постарался внести всё, что может потребоваться при делении сети: таблица масок подсети, префиксы масок, количество возможных адресов, часто встречающиеся комбинации двоичных чисел с переводом в десятичные, степени двойки, формулу количества хостов и сети, пример, как считать ip-адрес, таблица «классовая адресация», зарезервированные диапазоны ip-адресов, специальные ip-адреса, vlsm и cidr.
Шпаргалка сделана в виде PDF файла (241 КБ), внутри которого 2 странички с цветными табличками.
А теперь шпаргалка из PDF переведена в HTML!
А теперь шпаргалка из PDF переведена в HTML (в двух частях)!
Процесс деления сети на подсети проще объяснить на конкретном примере.
Представим, что у нас есть сеть из трех маршрутизаторов, трех коммутаторов и нескольких компьютеров, которую требуется разделить на 6 подсетей. Схема сети показана на рисунке ниже.
На всю сеть нам выделили один IP-адрес 192.168.0.0/24, который нам и требуется разделить на 6 подсетей. В двоичном виде этот IP-адрес выглядит так (порцию сети я выделю более жирным шрифтом): 11000000.10101000.00000000.00000000 .
- Требуемое количество узлов (хостов, в данном случае компьютеров) в каждой подсети:
- Подсеть A — 100 узлов
- Подсеть B — 50 узлов
- Подсеть C — 20 узлов
- Подсеть D — 2 узла
- Подсеть E — 2 узла
- Подсеть F — 2 узла
Запомните, начинать делить сеть требуется с сети с максимальным количеством узлов.
«/24» — это префикс маски подсети (краткая запись маски). Полная запись маски подсети 255.255.255.0. В двоичном отображении маска подсети выглядит так: 11111111.11111111.11111111.00000000 — это значит, что нам доступно 8 бит для деления сети.
Воспользуемся шпаргалкой выше (а именно таблицей «BIN to DEC»). Первой подсети A нам требуется выделить IP-адреса для 100 узлов. В таблице «BIN to DEC» мы видим, что заняв в маске один бит из восьми, мы получим 1 бит к порции сети (а это 2 подсети) и 7 битов в порции адреса (01111111 = 127). 127 вместе с нулем по количеству равен 128, это полное количество адресов, что удовлетворяет требованиям (и даже остается несколько адресов про запас).
И так, меняем маску с «/24» на «25» (в двоичном формате будет 11111111.11111111.11111111.10000000). Применим новую маску к нашей сети и получим 2 подсети (порцию сети я выделю более жирным шрифтом):
1 — 11000000.10101000.00000000.00000000 (сеть 192.168.0.0/25)
2 — 11000000.10101000.00000000.10000000 (сеть 192.168.0.128/25)
В новых двух сетях порция сети составляет 7 битов. По формуле (которая есть в шпаргалке) проверим, хватит ли нам 7 битов для сети со 100 узлами. 2^7-2=128-2=126, это значит что 7 битов даёт нам 126 адресов для узлов. (Напомню формулу: 2^X-2=количество адресов для узлов, где X равен количеству нулей, а «-2» — это под специальные адреса, которые нельзя назначать узлам.)
Осталась у нас одна сеть 192.168.0.128/25, и требуется для подсети B 50 адресов для узлов. Как и в предыдущий раз, мы видим в таблице «BIN to DEC» 00111111 = 63, это больше 50, а значит удовлетворяет требованиям. Занимаем еще один бит у порции адреса, остается 6 (2^6-2=62). Маска становится на единицу больше /26, применяем её к нашей сети и получаем две новых подсети (порцию сети я выделю более жирным шрифтом):
1 — 11000000.10101000.00000000.10000000 (сеть 192.168.0.128/26)
2 — 11000000.10101000.00000000.11000000 (сеть 192.168.0.192/26)
Таким же образом отделяем еще 1 бит от порции адреса узла (00011111 = 31, что больше 20, и следовательно нам подходит), маска уже /27. Снова две сети:
1 — 11000000.10101000.00000000.11000000 (сеть 192.168.0.192/27)
2 — 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/27)
Осталось нам выделить 3 подсети по 2 адреса для узлов. По таблице видим, что нам достаточно для порции адреса узла всего двух битов (00000011 = 3), 2^2-2=2 адреса для двух узлов.
В свою очередь для трех, одинаковых по размеру, подсетей достаточно тоже двух битов (2^2=4, формула из шпаргалки). Всего в IP-адресе 32 бита, вычитаем требующиеся нам 2 и получаем 30, следовательно используем маску /30. Для нашей оставшейся сети это выглядит так (порцию сети я выделю более жирным шрифтом): 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/30) .
Делим нашу новую сеть на 3 подсети:
1 — 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/30) .
2 — 11000000.10101000.00000000.11100100 (сеть 192.168.0.228/30) .
3 — 11000000.10101000.00000000.11101000 (сеть 192.168.0.232/30) .
- Готово, задача выполнена:
- Подсеть A — 192.168.0.0/25
- Подсеть B — 192.168.0.128/26
- Подсеть C — 192.168.0.192/27
- Подсеть D — 192.168.0.224/30
- Подсеть E — 192.168.0.228/30
- Подсеть F — 192.168.0.232/30
Это не простой пример деления сети на подсети, поэтому если Вам требуется попроще пример для понимания — пишите письма на [email protected].
Отдельные сети IP в одной локальной сети | Журнал сетевых решений/LAN
Все большее количество деловых приложений, включая телефонию и удаленное обслуживание, используют преимущества сетей IP. Посредством виртуализации маршрутизатора (другое название: расширенная маршрутизация и продвижение — Advanced Routing and Forwarding, ARF) многие производители предоставляют удобную возможность направлять все приложения IP через центральный маршрутизатор и при этом надежно изолировать различные коммуникационные каналы.
Широкое распространение простых для администрирования сетей IP привело к тому, что приложения, имевшие раньше соб-ственную сеть (к примеру, телефония) теперь стали использовать сети IP в качестве технической платформы (технология передачи голоса по IP — Voice over IP, VoIP). К тому же в сетях IP появляются новые приложения: обмен данными между управляющими информационными системами (Management Information System, MIS), управление отопительными или климатическими системами (управление основными фондами — Facility Management, FM) или обновление роликов в рекламных терминалах. Подобные структуры,
в которых все приложения реализованы с помощью одной сети, получили название «сети All IP».
Однако до сих пор все возможности полномасштабных сетей IP не были задействованы полностью, поскольку это означало бы предоставление доступа к локальной сети (Intranet) внешним пользователям, что во многих случаях нежелательно по соображениям безопасности. А вот ARF предлагает все необходимое для надежной реализации сетей All IP через единственный центральный маршрутизатор. Главное в ARF — создание отдельного контекста IP для различных приложений.
Каждый контекст IP настраивается как самостоятельная сеть (к примеру, с сервером DHCP или DNS), и его можно изолировать от других сетей. В результате администратор может допустить в корпоративную сеть IP внешних участников и учесть различные их требования, не предоставляя доступа к собственной сети Intranet. В результате отдельные коммуникационные сети не понадобятся, а обслуживание и настройка будут осуществляться централизованно.
Кроме того, эту технологию можно использовать для предоставления гостевого доступа клиентов и посетителей в беспроводную локальную сеть (Wireless Local Area Network, WLAN), для разделения деловых и частных сетей IP в домашних офисах или совместного использования доступа в Internet в помещениях, где находятся офисы различных компаний.
КАК ФУНКЦИОНИРУЕТ ARF?
Технология ARF отличается следующими особенностями:
маршрутизатор позволяет настроить несколько сетей IP;
отдельные сети IP изолированы друг от друга;
маршрутизация разных сетей IP осуществляется раздельно.
Возможность настройки нескольких сетей IP в одном маршрутизаторе зависит от технической оснащенности устройства. В зависимости от модели различные маршрутизаторы могут поддерживать до 64 сетей IP. При этом для каждой сети настраивается свой набор IP-адресов, IP-адрес маршрутизатора и такие важные функции, как серверы DHCP или DNS.
Важная предпосылка для безопасной эксплуатации нескольких сетей IP на одном устройстве — изоляция трафика отдельных сетей друг от друга. Сети связаны с маршрутизатором по-средством физических интерфейсов. Для локального соединения участников сети разные модели маршрутизаторов оснащены одним или несколькими портами Ethernet, а иногда и модулями WLAN. Однако эти физические интерфейсы, как правило, не используются напрямую для маршрутизации: чтобы добиться максимальной гибкости, физические интерфейсы соотносятся с интерфейсами логическими.
В проводной локальной сети (LAN) это распределение осуществляется путем отображения портов Ethernet (Ethernet Port Mapping): для каждого порта Ethernet администратор может настроить желаемое функционирование в качестве логического порта локальной сети; некоторые модели допускают альтернативное использование в качестве подключения глобальной сети (WAN). В результате построения трактов «точка-точка» (Point-to-Point, P2P) или применения множественных SSID на каждом беспроводном интерфейсе (модули WLAN) возникает несколько интерфейсов WLAN. К примеру, до восьми сетей WLAN (множественные SSID) и до шести трактов P2P на один модуль, которые маршрутизатор воспринимает как логические интерфейсы WLAN и P2P, соответственно.
Так, у маршрутизаторов от Lancom Systems каждая сеть IP может использовать один из логических интерфейсов LAN, WAN или P2P, а через них — соответствующий физический интерфейс. Таким образом, сеть находится в отдельном широковещательном домене (Broadcast Domain), и через этот логический интерфейс она взаимодействует только с модулем маршрутизатора — прямая передача данных в другие сети невозможна. Широковещательный домен представляет собой область в локальной сети, в пределах которой широковещательное сообщение рассылается всем участникам. Кроме того, сообщения передаются через коммутаторы и мосты. Широковещательный домен ограничивается лишь маршрутизатором или разделением локальной сети на виртуальные (VLAN).
Таким образом, передача данных между отдельными сетями IP возлагается на модуль маршрутизатора, куда стекаются потоки данных из всех сетей IP. Как правило, маршрутизация между различными локальными сетями IP разрешена.
Ping или соединение по IP-адресу правильно распознается маршрутизатором и пропускается. А вот доступ к сетевым устройствам посредством сетевого окружения Windows невозможен, поскольку требуемые для этого широковещательные сообщения NetBIOS не покидают предела широковещательного домена IP. Правда, доступ через сетевое окружение Windows можно организовать с помощью общего сервера WINS или общей структуры Active Directory.
РЕГУЛИРОВАНИЕ МАРШРУТИЗАЦИИ С ПОМОЩЬЮ ТЕГОВ ИНТЕРФЕЙСА
Помимо полного отключения маршрутизации между сетями IP, с помощью встроенного брандмауэра можно регулировать доступ из сетей IP к определенным областям. Правда, при большом количестве сетей придется задавать множество правил для бранд-мауэра. Чтобы упростить маршрутизацию между логическими интерфейсами, маршрутизатор может использовать так называемый тег интерфейса для внутренней маркировки сетей IP (см. Рисунок 1). Такой ярлык позволяет легко регулировать взаимодействие сетей IP при помощи маршрутизатора:
сетевые устройства сети IP имеют доступ лишь к сетям с таким же ярлыком интерфейса;
тег интерфейса «0» обозначает «главную» сеть — устройства этой сети имеют доступ к ресурсам всех других сетей.
Тег интерфейса регулирует взаимную видимость сетей IP типа Intranet. Помимо этого, сеть можно сконфигурировать в качестве демилитаризованной зоны (Demilitarized Zones, DMZ). Это позволяет создавать сети IP, доступ к ресурсам которых будет открыт для участников из всех остальных сетей IP, независимо от используемых тегов интерфейсов.
ВИРТУАЛЬНЫЕ ИНТЕРФЕЙСЫ
В некоторых случаях необходимо расширить однозначное соответствие между сетями IP и логическими интерфейсами. Тогда применяется отображение логических интерфейсов на виртуальные. В зависимости от доступности логических интерфейсов возможны два варианта.
Один виртуальный интерфейс объединяет несколько логических интерфейсов: в одной сети IP требуется объединить не только компьютеры из проводной локальной сети, но и станций WLAN. Для решения этой задачи следует включить нужные логические интерфейсы (к примеру, LAN и WLAN для Intranet) в одну так называемую «мостовую группу» (Bridge Group, BRG) (см. Рисунок 2).
Эта мостовая группа образует собственный широковещательный домен. Она определяет, какие логические интерфейсы к ней относятся, и воспринимается маршрутизатором как отдельный виртуальный интерфейс. Между связанными логическими интерфейсами мостовой группы возможна простая передача данных в режиме моста (Bridge Mode), а все остальные логические интерфейсы будут взаимодействовать с этой группой через маршрутизатор.
Несколько виртуальных интерфейсов используют один логический интерфейс: обратный случай имеет место быть, если устройство не предоставляет достаточное количество логических интерфейсов для однозначного распределения всех сетей IP. В этом случае можно определить несколько VLAN, которые будут использовать один и тот же логический интерфейс (см. Рисунок 3). Каждой сети IP помимо логического интерфейса присваивается также идентификационный номер VLAN ID.
VLAN воспринимается маршрутизатором как отдельный виртуальный интерфейс, где трафик изолирован. Каждая VLAN является обособленным широковещательным доменом. Так, например, на одном логическом интерфейсе локальной сеть можно организовать две сети для отделов «развитие» и «сбыт» с разными VLAN ID. Маршрутизатор позаботится о правильном внутреннем отождествлении и использовании тегов VLAN. Разделение пакетов данных в локальной сети осуществляется на основе тегов VLAN, либо в сетевых картах рабочих станций, либо во включенном перед маршрутизатором коммутаторе VLAN.
Благодаря такому гибкому распределению, сети IP располагают не только логическими интерфейсами, но и многочисленными VLAN и мостовыми группами в качестве виртуальных интерфейсов, поэтому для любого приложения можно изолировать потоки данных отдельных сетей.
ВИРТУАЛЬНЫЕ МАРШРУТИЗАТОРЫ
Определение сетей IP и разделение потоков данных (в результате назначения интерфейсов, мостовых групп или VLAN ID) позволяют обеспечить функционирование нескольких локальных сетей на центральном маршрутизаторе. За связь с другими сетями отвечает маршрутизатор IP. Маршруты, указанные в таблице маршрутизации, действительны для всех локальных сетей, подключенных к устройству, в отличие от настроек DHCP, которые задаются для каждой сети IP.
Реализовать отдельный (виртуальный) маршрутизатор для каждой сети можно и с помощью тега интерфейса. Эти теги помогают сетям IP «видеть» друг друга, а кроме того, они позволяют управлять использованием таблицы маршрутизации: для каждой сети IP сначала просматриваются те записи о маршрутизации, чей тег маршрутизации совпадает с тегом интерфейса сети IP. Особое положение занимает ярлык маршрутизации «0»: маршруты с таким тегом действительны для всех сетей, независимо от тега интерфейса. В результате такой специфической выборки маршрутов из таблицы для каждой сети IP создается собственный виртуальный маршрутизатор.
Преимущество виртуальных маршрутизаторов становится понятно на следующем примере: брандмауэр обычно присваивает пакету данных от кон-кретного отправителя определенный тег маршрутизации, который маршрутизатор IP использует для определения подходящего маршрута. Если же маршрутизатору приходится управлять несколькими сетями IP с одинаковым набором адресов, однозначное присвоение тега на основе адреса отправителя невозможно. Однако идентификация вызываемой станции благодаря тегам интерфейса и в этом случае возможна. Виртуальная маршрутизация осуществляется исключительно в результате обработки тега интерфейса; настройки дополнительных правил брандмауэра не требуется. Для каждой локальной сети, к примеру, можно организовать отдельный доступ к провайдеру по-средством тегированного маршрута, заданного по умолчанию в таблице маршрутизации.
Брандмауэр требуется лишь в том случае, если в локальных сетях с одинаковыми IP-адресами находятся серверы, которые должны быть доступны из Internet. В этом случае соединение строится извне внутрь. Пакеты данных, поступающие на модуль маршрутизатора из сети Internet, не поддаются идентификации по тегам интерфейса, поскольку не располагают такой внутренней маркировкой. Но определить внешний источник пакетов можно: к примеру, выяснить, что данные поступили с сервера внешнего делового партнера. С помощью подходящего правила брандмауэра разрешаются соединения с сетью, исходящие из этой точки, через соответствующий порт (к примеру, 80 для сетевого сервера), а запись о переадресации порта указывает на предопределенный сервер Web.
ГИБКИЙ СЕТЕВОЙ ПЕРЕХОД
Технология ARF позволяет реализовать на центральном маршрутизаторе полностью разделенные сети IP. Однако некоторые инфраструктурные ресурсы должны быть доступны нескольким сетям или всем сразу, к примеру, сетевой принтер — не только для пользователей сети Intranet, но и для посетителей «общедоступной» сети. Для этого сначала создается собственная сеть IP под названием SHARE для общих ресурсов, привязанная к интерфейсам, через которые подключаются устройства. Кроме того, как и Intranet, сеть снабжается однозначным тегом (к примеру, 99). Пока эта сеть еще изолирована от всех остальных.
Подходящее правило для брандмауэра позволяет обеспечить целевой доступ со всех других станций из других сетей в общую сеть SHARE. В качестве тега маршрутизации это правило получает тег интерфейса сети SHARE. Иначе говоря, все пакеты данных, на которые распространяется правило для брандмауэра, снабжаются тегом 99 и таким образом соотносятся с сетью SHARE. При необходимости в правиле для брандмауэра администратора дополнительно указываются службы, разрешенные в сети SHARE.
Экхарт Трабер — менеджер Lancom Systems.
© AWi Verlag
Поделитесь материалом с коллегами и друзьями
Как подключить два сетевых интерфейса в одной подсети?
Окружающая среда
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Несколько сетевых интерфейсов, каждый с IP-адресом в одной подсети
Выпуск
- Как подключить два сетевых интерфейса в одной подсети?
В нашей среде есть три скрепляющих устройства, подключенных к одному сегменту.
+ --------------------- + | Linux | | .168 .169 | + ----- + -------- + ------ + │ │ + ----- + -------- + ------ + | Переключатель | + --------- + ----------- + │ + --------- + ----------- + | .1 | | Шлюз | + --------------------- +
Мы захватили пакет и обнаружили, что пакет должен быть передан с bond0, на самом деле был передан с bond1
- Также было подтверждено, что порт передачи смещен, даже если не было настройки соединения.
Разрешение
Is обычно не является хорошей идеей для соединения двух интерфейсов с использованием одной и той же подсети в системе, так как вы можете столкнуться с проблемами, представленными на следующих двух страницах:
Рекомендуемое решение — использовать единый интерфейс или единый интерфейс связи / команды, а затем добавить другие IP-адреса к этому интерфейсу в форме псевдонима IP-адреса . Если на уровне сетевого интерфейса требуется отказоустойчивость и / или балансировка нагрузки, то следует использовать псевдоним для связи или группы.Обратите внимание, что объединение в группу не поддерживается в Red Hat Enterprise Linux 6 или более ранней версии. Если отказоустойчивость и / или балансировка нагрузки не требуются на уровне интерфейса, вы можете добавить псевдоним IP-адреса к одному интерфейсу.
На следующей странице описаны действия по добавлению псевдонима IP-адреса: Как назначить псевдоним IP-адреса сетевой карте (NIC) ?.
На следующей странице представлены шаги по настройке интерфейса связывания: Как настроить устройство связывания в Red Hat Enterprise Linux (RHEL)?
На следующих страницах представлена документация по объединению в группы:
Если ваша среда требует многоинтерфейсного решения с той же подсетью и вышеупомянутый подход к интерфейсу псевдонима не работает для вашей среды, вы можете выполнить действия, описанные в разделе Разрешение на следующих двух страницах, чтобы избежать наиболее распространенных проблем при настройке до нескольких интерфейсов в одной подсети:
Основная причина
- Когда есть 2 интерфейса в одной подсети, нет гарантии, какой интерфейс будет использоваться для передачи трафика, и машина будет принимать трафик для любого IP на любом интерфейсе.
- Это связано с тем, что в Linux IP-адрес принадлежит хосту и не связан с интерфейсом.
- Если вы пингуетесь с
-I DEV
, пытаясь использовать данный интерфейс, нет гарантии, что ответный пакет (если он вообще есть) вернется к тому же интерфейсу, поэтому эхо-запросы, выполненные с-I DEV
, могут не работает.
Этапы диагностики
- Настройка системы с 2 интерфейсами в одной подсети.
- Пингует цель и захватывает пакеты с помощью
tcpdump
.
Это решение является частью программы ускоренных публикаций Red Hat, предоставляя огромную библиотеку решений, которые инженеры Red Hat создали при поддержке наших клиентов. Чтобы дать вам необходимые знания сразу же, как только они станут доступны, эти статьи могут быть представлены в необработанном и неотредактированном виде.
.
Знакомство с сетями — Адресация IPv4 и подсети — Центр поддержки и поддержки Ubiquiti Networks
В этой статье дается краткое введение в IPv4, публичные и частные адреса, как разбивается IP-адрес и как происходит разбиение на подсети.
ПРИМЕЧАНИЯ:
Полное вводное руководство по маршрутизации и коммутации можно найти в нашем руководстве для специалистов по широкополосной маршрутизации и коммутации Ubiquiti (UBRSS), которое можно загрузить в разделе «Обучение».
Содержание
- Знакомство с сетями IPv4
- Частные и публичные адреса
- Схема IP-сети
- Введение в разбиение на подсети
- Статьи по теме
Знакомство с сетями IPv4
В начало
Узел , желающий обмениваться данными в сети, получает уникальный сетевой адрес и формально называется узлом . IPv4 определяет систему адресации для хостов , чтобы идентифицировать себя в сети.
IPv4-адресов задают четыре октета суммированных значений битов, где каждое битовое значение представляет позицию в октете со степенью 2. Слева направо в октете биты несут значение от 2 до степени 8, вплоть до 2 до степени 0. Например, адрес 0.0.0.0 будет содержать все 8 нулевых битов в каждом октете, а адрес 255.255.255.255 будет содержать 8 единичных битов в каждом октете.
Таблица с адресом IPv4 10.5.37.156 (десятичная запись), выраженная в двоичной системе счисления.
Частные и публичные адреса
В начало
Вообще говоря, существует два типа адресов IPv4. Частные адреса (обычно называемые RFC 1918 адресами ) назначаются хостам IPv4 в каждой локальной сети . Частные IPv4-адреса состоят из трех диапазонов n etwork , перечисленных ниже от наибольшего до наименьшего:
-
10.0.0.0 / 8
10.0.0.0 до 10.255.255.255
(00001010.00000000.00000000.00000000 — 00001010.11111111.11111111.11111111) -
172.16.0.0/12
172.16.0.0 — 172.31.255.255
(10101100.00010000.00000000.00000000 — 10101100.00011111.11111111.11111111) -
192.168.0.0/16
192.168.0.0 — 192.168.255.255
(11000000.10100100.00000000.00000000 — 11000000.10100100.11111111.11111111)
IP-адресов, выходящих за пределы этих диапазонов, считаются либо «зарезервированными», либо общедоступных адресов для использования в общедоступном Интернете.По сравнению с частными IP-адресами, которые повторно используются во всех локальных сетях, общедоступные IPv4-адреса обычно назначаются уникальным интерфейсам , обращенным к глобальной сети.
Схема IP-сети
В начало
Первый адрес в каждой сети называется Network ID , а последний адрес в каждой сети называется Broadcast ID . Хотя ни один из них никогда не должен использоваться для адресов Host , на них ссылается Hosts как для локальной, так и для межсетевой связи, а также для администраторов при создании сетей.
Сетевые диапазоны обычно определяются идентификатором сети и сетевой маской . Также известная как префикс, маска сети похожа на IPv4-адрес хоста, но содержит определенное количество 1 бит слева направо.
Таким образом, префикс сокращается как косая черта и общее количество 1 бит. Для следующих сетевых диапазонов используются следующие обозначения:
-
10.0.0.0 - 10.255.255.255
Сокращенно 10.0.0.0 ( Network ID ) с префиксом /8, как 10.0.0.0/8. -
172.16.0.0 - 172.31.255.255
Сокращенно 172.16.0.0 ( идентификатор сети ) с префиксом /12, как 172.16.0.0/12. -
192.168.0.0 - 192.168.255.255
Сокращенно 192.168.0.0 (идентификатор сети ) с префиксом /16, 192.168.0.0/16.
Введение в подсети
В начало
Префикс или маска сети могут содержать от нуля до 32 бит.По мере увеличения префикса размер Network Range уменьшается, и наоборот. Увеличение префикса также является способом создания подсетей, жизненно важной частью сети, посредством которой большая сеть делится на меньшие сети.
Напомним, что 192.168.0.0/16 представляет все адреса от 192.168.0.0 до 192.168.255.255.
После применения префикса / 17 к тому же сетевому диапазону 192.168.0.0/16 два sma
.