No Image

Шлюз в другой подсети

СОДЕРЖАНИЕ
0 просмотров
22 января 2020

Два микротика. Соединены GRE-туннелем. Хосты из обеих подсетей (192.168.99.0/24 и 192.168.77.0/24) друг друга видят.
Возникла необходимость перенаправлять http-трафик на squid (192.168.99.55). Добавил в таблицу mangle и в маршруты (c соответствующими изменениями адресов подсетей):

В родной для squid-сервера подсети все отлично. В подсети 192.168.77.0 статус шлюза unreachable, соотвественно трафик игнорируется.
С самого роутера пинг до 192.168.99.55 идёт. (Да и вообще, файрволы на обоих роутерах выключил временно.)
Насколько я понял в ip routes при создании маршрута нельзя указывать в качестве адреса шлюза, адрес который не принадлежит подсетям существующих на роутере интерфейсов.
Вобщем, вопрос, как правильно перенаправить http-трафик на squid находящийся в другой подсети?
Простой SNAT не нужен, так как в статистике squid будет только один хост — сам squid.

  • Вопрос задан более трёх лет назад
  • 765 просмотров

В общем разобрался, прочитав в мануале.
Value of gateway can be specified as an interface name instead of the nexthop IP address. Such route has following special properties:
Unlike connected routes, routes with interface nexthops are not used for nexthop lookup.

И так как имел давнюю привычку (для удобства перенстройки адресации) указывать в качестве шлюза до впн-подсетей имя интерфейса, а не IP-адрес, возник такой затык.
В общем, заоаботало как только я изменил:

А также изменил значение target-scope=30 в маршруте маркированного трафика до сквида:

Файрвол все правила выключены на обоих роутерах.
Сквид видит сеть 192.168.77.0. Вобщем, все хосты видят друг друга из обеих подсетей. Оба роутера, также пингуют хосты удаленных подсетей.
Трассировка до сквида из Mik1:

172.16.0.13 и .14 — это адреса GRE-интерфейсов.

satoo: маску подсети сюда добавил сам, чтобы понятнее было. В общем, сейчас для наглядности удалил кучу всего. оставив, только то, что требеутся и изменил адресацию. (это всё, чтобы не запутать вас, на верхнее не смотрите.) Поехали.
Mik1 LAN-адрес 192.168.77.1
ip route export

ip firewall export

Mik2 LAN-адрес 192.168.99.1
ip route export

ip firewall export

Некоторые детали: Мик1 получает от прова серую динамику. Поэтому в экспорте маршрутов ее нет. Вот на всякий случай ip route print detail

Все хосты в обеих подсетях друг друга видят, как уже говорил, роутеры то же видят. HTTP-трафик с хостов локальной сети Мик2 192.168.99.0/24 заворчивается на сквид, то есть тут всё норм работает, как и задумывалось. А вот завернуть http-трафик из локальной сети роутера Мик1 (192.168.77.0/24) не получается. Он тупо недоходит до сквида (tcpdump src host 192.168.77.11 and dst port 80 — молчит).
При этом в логах Мик1 трафик маркируется, но продолжает ходить через сеть провайдера.
И маршрут неактивен

Шлюз по умолчанию в другой подсети

В процессе очередной сессии общения с @hellt_ru по поводу одного из его проектов встал вопрос правомерности существования шлюза по умолчанию в другой подсети. Резкое и категоричное “НЕТ, ГРЕШНО” плавненько сменилось на “oh, snap”.

Изучение RFC (в частности 1122) выявило следующие забавные факты:

  • Хост обязан передавать пакеты напрямую если адрес назначения находится в той же подсети.
  • Хост обязан передавать пакеты шлюзу по умолчанию, если адрес назначения находится в иной подсети.
  • Но нигде не сказано, что шлюз по умолчанию должен находится в той же подсети. Достаточно, чтобы эта сеть была connected 🙂

Так и получается:

R1 рассылает на широковещательный адрес запрос о том, есть ли в connected сети 192.168.0.140. R2 отвечает ему – “да, это я, вот мой mac”. Больше этих ребят ничего не интересует:

В комментариях к статье возник небольшой спор по поводу работы всей этой радости на shared сегменте. Возьмем следующую схему:

Допустим мы хотим с R1 достичь lo0 на R5.

Ситуация в точности такая же. R1 с Fa0/0 отправит броадкаст всем соседям на L2 сегменте с вопросом у кого есть IP 10.1.1.1, на что получит ответ от R3 – “я знаю, выберете меня, вот мой mac”. В этом случае default gateway в явном виде вообще не задан.

Доброго дня, ребят. Нынче тема нашего выпуска будет ориентирована на ту немногочисленную категорию подписчиков, которая уже работает на предприятиях. Ибо связана она с насущной практической проблемой, с которой за этот год, мне пришлось столкнуться уже дважды. Чтобы там не говорили по телевизору, но финансирование многих государственных учреждений каждый год понемножку урезают. Делается это в разных сферах. В том числе и в компьютерно-информационной области. Поэтому если раньше многие зажиточные предприятия могли позволить иметь в своём распоряжении основной канал доступа в Интернет, резервный канал, отдельную линию для начальства, чтобы не загружать основной и из соображений безопасности. То сейчас ситуация постепенно меняется.

Читайте также:  Установка twrp recovery 4pda

Как правило, дополнительные каналы отключают, оставляя один быстрый. Следовательно, все компьютеры для доступа к Интернету используют один шлюз. Но как в такой ситуации можно обеспечить безопасность данных? Если и директор филиала Газпрома и простой эникейщик Васька находятся в одной сети, то рано или поздно может случиться страшное. Перечитает наш Вася на досуге очередной номер «Хакера» и начнёт удалённо проверять компьютер вышестоящего начальства на прочность. Для того чтобы избежать в будущем подобных ситуаций системному администратору требуется разделить единую сеть на подсети. Сделать это можно, например, в соответствии с названиями структурных подразделений.

Для лучшего понимания, давайте немного упростим. Допустим, разобьём сеть небольшого офиса на «Общую сеть» и «сеть бухгалтерии». Пускай первая сеть будет 192.168.1.X, а вторая 192.168.2.X. Тогда для компьютеров общей сети в качестве шлюза мы пропишем 192.168.1.1 (это IP адрес нашего роутера), а для бухгалтерии… Вот тут самое интересное. Что прописать для бухгалтерии в качестве шлюза, чтобы и интернет работал напрямую и подсетка, была отдельная? Да ничего. Нахрапом этот вопрос не решить. Однако существуют несколько проверенных способов решения данной задачи, о которых я и собираюсь вам сегодня рассказать. У каждого из них есть свои плюсы и минусы. Можно задействовать исключительно аппаратные средства, а также комбинировать их в связке с программным решением.

Сюжет будет полезен всем без исключения начинающим и более-менее опытным сисадминам. Ну а для тех, кто ещё не занимает почётную должность старшего системного администратора или техника в филиале Газпрома, но прикладывает все свои силы, чтобы в будущем попасть в высшую лигу, я предлагаю вмести с нами, разобрать по полочкам интересную ситуационную задачку и посмотреть варианты решения.

Задача «Раздача Интернета двум подсетям»

В небольшом офисе есть 2 локальные сети, не объединенные друг с другом (общая сеть и сеть для бухгалтеров). Две этих сети разделены в целях безопасности, чтобы никто из общей сети не мог попасть в сеть бухгалтерии. После сокращения финансирования на предприятии было решено оставить один канал, для доступа к Интернету. Данный канал с недавнего времени используется в качестве основного для всех пользователей общей сети. Бухгалтерская сеть после отключения собственного отдельного канала осталась без Интернета.

Найти:

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

Решение 1. Прокси-сервер

Первое, что лично мне пришло в голову это прокси-сервер. Аппаратный или программный. Например, на базе User Gate 2.8, который мы рассматривали пару месяцев назад. Тут всё просто. Находим слабенький компьютер, даём на него интернет, накатываем проксю, прописываем пользователей и вводим в общую сеть. Подсетка бухов получает контролируемый инет. А мы вроде бы решили проблему. Но не тут то было! Во-первых, инет этот будет не такой быстрый, как на прямую с роутера. Во-вторых, если у вас не купленная навороченная прокся, а старый крякнутый гейт, то вы получите массу проблем с HTTPs сайтами и специализированными программами, использующими в своей работе хитрые протоколы. И в третьих, самое прискорбное то, что наш прокси-сервер будет выступать в роли моста между общей сетью и выделенной подсетью, а это в свою очередь влечёт за собой возможность доступа к общим ресурсам со всех компьютеров. Да я знаю, что можно ещё поднять и произвести тонкую настройку фаервола. Это уже совсем лютый вариант. Он вряд ли подойдёт новичкам.

В таких ситуациях мне всегда вспоминаются знаменитые слова Наполеона. «Самые простые решения – одновременно самые лучшие». Переосмыслив всё вышесказанное можно сделать вывод, что для маленькой офисной сети прокси-сервер в связке с фаерволом не самое лучшее решение, хотя и реализуемое при должном опыте.

Решение 2. VLANы на коммутаторе

Второй способ подойдёт тем, кто изначально грамотно спроектировал свою сеть или уже попал на предприятие с правильным расположением объектов сетевой инфраструктуры. Что лично я подразумеваю под правильным расположением? Это наличие серверной комнаты с ограниченным для посторонних лиц доступом. И расположение в этой комнате центральных узлов сети: контроллера домена, роутера и центрального коммутатора. Именно связка, в которой возможно подключение роутера в центральный управляемый коммутатор и будет являться основой для следующего решения. Ибо в нём мы будем создавать VLANы (виртуальные локальные сети) на свитче. О том к чему это приведёт, и какие недостатки имеет подобный подход, сейчас разберёмся.

Читайте также:  24Klad ru в обход блокировки роскомзазор

Для демонстрации я буду использовать роутер ASUS DSL-N12U и коммутатор D-LINK DGS-1224T. Ничего особенного. Вполне посредственный роутер и устаревший управляемый свитч с минимумом настроек. Подключаем кабель от роутера в 23 порт, кабель от компьютера из общей сети в 1, а кабель от одного из ПК выделенной подсети в порт №9. Все настройки я буду выполнять с ещё одного дополнительного компьютера, который подключу в 24 порт, чтоб не запутаться.

Шаг 1. Как только вся возня с проводами окончена, можем заходить на свитч. По умолчанию веб-интерфейс срабатывает по адресу 192.168.0.1 и положительно реагирует на пароль admin.

Шаг 2. Сразу рекомендую поменять IP адрес. Делается это во вкладке «System». В качестве примера изменю последнюю цифру на 24, затем пропишу IP адрес роутера и сохраню настройки, кликнув на «Apply».

Шаг 3. Ну что. Пора взяться за VLANы. Переходим в соответствующую вкладку и жмём «Add new VID (VLAN ID)».

Шаг 4. В появившемся окне присваиваем правилу номер (например 2) и выделяем какие порты будут видеть друг друга в случае работы по второму правилу. Допустим с 1 по 8 и 23 (порт роутера). Должны же они как то инет получать. Первые восемь портов для компьютеров в нашем случае это общая сеть.

Шаг 5. По аналогии создаём третье правило. В котором портам с 9 по 16 открываем доступ к друг дружке и роутеру. Это будет наша подсеть. Она ни в коем случае не будет пересекаться с общей сетью, но при этом будет иметь доступ к Интернету. Сохраняемся.

Шаг 6. Далее в раскрывающемся вверху списке выбираем параметр «Port VID Setting» и прописываем какие из портов по какому правилу будут работать. Как мы уже определились ранее порты с 1 по 8 будут работать по правилу №2, с 9 по 16 возьмут за основу 3 правило, а с 17 по 24 останутся работать на дефолте и будут видеть всех. Подразумевается, что сеть у нас маленькая и последний диапазон портов будет свободен, и если уж и будет использоваться, то только админом и только для настройки.

Шаг 7. Со свитчом всё. Полезли на роутер. По умолчанию он тоже имеет IP адрес 192.168.0.1. Меняем его на уникальный. Делается это во вкладке ЛВС. Такс. Раз уж он подключён в 23 порт, то пусть и IP имеет 192.168.0.23.

Шаг 8. Осталось настроить компьютеры. На первом компьютере (из общей сети) прописываем IPшник (192.168.0.1), стандартную маску (255.255.255.0) и в качестве основного шлюза и DNS — адрес роутера, который мы изменили шагом выше (192.168.0.23).

Шаг 9. Аналогичным образом поступаем с компьютером подключённым в 9 порт. Не волнуйтесь о том, что третий блок в их IP адресе совпадает. В сети они всё равно друг друга не увидят.

Шаг 10. Или увидят? Давайте убедимся в этом. Но сначала проверим интернет. Для этого пошлём PING с первого компьютера на роутер. Уф. Прошёл. А теперь проверим пинганёт ли он своего собрата из другой подсети. Тааак. Кажись не пинганёт. Значит со стороны компьютера общей сети всё отлично.

Шаг 11. Убеждаемся в правоте наших доводов со стороны бухгалтерского компьютера. Инет работает, общую сеть не видит. PROFIT!

Однако не всё так безоблачно. Работоспособность данного способа возможна лишь в ситуации, когда компьютеры сети и роутер подключены в один управляемый свитч. В случае же, если между рабочими станциями и связкой роутер-свитч натыкано ещё Nое количество коммутаторов или хабов, такой вариант не сработает. Поэтому такой метод решения подойдёт лишь в той ситуации, когда сеть маленькая и её можно чуточку модернизировать, заведя всех в один свитч. Или в случае, если вы проводите большую сеть с нуля и подключаете все провода от компьютеров в серверной комнате.

Решение 3. Второй дополнительный роутер

Ну, хорошо. А что же делать тем, кто имеет в своём распоряжении относительно крупную сеть, щупальцы которой охватывают несколько зданий? Ведь и ежу понятно, что перепроводка всех участков этого монстра опасна для нервной системы всех работников предприятия. Всюду беспорядочно натыканы свитчи, не о какой серверной комнате и речи не идёт, а роутер находится вообще в курилке под потолком. Страшно представить? Да такое случается сплошь и рядом. И дабы не ударить в грязь лицом и показать себя как специалиста, нам нужно суметь решить поставленную задачу даже в подобных условиях.

Читайте также:  1С упп отчет по себестоимости

Для начала нам понадобится второй роутер. Я возьму роутер той же модели, что и в прошлом случае. Подключаем к простеньким свитчам все компьютеры. Один будет играть роль ПК из общей сети, другой роль компьютера из подсети. В один из свитчей подключаем роутер имеющий подключение к Интернету по оптоволокну (или ADSL). А второй, дополнительный роутер ставим поближе к подсети и подключаем его WANом в общую сеть, а LANом в подсеть. После того, как все работы по коммутации произведены, переходим к настройке оборудования.

Шаг 1. Заходим на дополнительный роутер и в настройках Ethernet WAN активируем функцию «Включить Ethernet WAN на порту». Далее выбираем из списка порт, в который будет вставлен провод из общей сети. В типе подключения указываем «Static IP» для того, чтобы можно было в настройках IP адреса вручную задавать IP, маску и шлюз. Чем мы собственно сейчас и займёмся. Прописываем IP адрес из диапазона общей сети, например 192.168.0.2, маска оставляем по умолчанию, а в качестве шлюза указываем адрес нашего основного интернет-роутера 192.168.0.1. Чуть ниже не забываем прописать DNSку. Её адрес будет такой же как и адрес роутера. Сохраняем все настройки, нажав внизу на кнопочку «применить».

Шаг 2. Интернет на дополнительный роутер мы дали. Но компьютеры в подсети до сих пор его не видит. А нам нужно сделать так, чтобы для выделенной сети он выступал в качестве устройства для выхода в Интернет. Для этого на вкладочке «ЛВС» задаём роутеру адрес из диапазона сети бухгалтерии. Например, 192.168.123.45. Этот адрес мы будем указывать в качестве шлюза и DNS-сервера на всех тачках подсети.

Шаг 3. В принципе можно уже проверять. Давайте пропишем все настройки для одного из компьютеров подсети. Пусть IP адрес будет 192.168.123.1, маска стандартная, шлюз и DNS как мы уже обговаривали ранее 192.168.123.45.

Шаг 4. Сохраняем и пробуем пропинговать сначала новоиспечённый роутер, а затем один из компьютеров, который находится в общей сети. В первом случае результат, как видим положительный. А вот во втором, никак. Значит и со стороны общей сети в сетевом окружении нас не видно.

Шаг 5. Для полной гарантии того, что всё получилось, запустим браузер и удостоверимся в наличии Интернет-соединения. Всё работает. Отлично.

Вывод:

Таким образом, мы разобрали три реально работающих решения для конкретной ситуационной задачи, с которой может столкнуться каждый начинающий и более-менее опытный системный администратор. Можно ли ответить какой из способов самый лучший? Наверное, нет. Тут всё зависит от дополнительных условий, поставленных перед вами. А также ресурсов, которыми вы на момент постановки задачи располагаете.

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

Второй подойдёт тем, кто имеет в своём распоряжении более-менее приличную серверную с коммутационным центром. Или тем, у кого просто в шкафу завалялся старенький управляемый свитч, а сеть которую вы обслуживаете очень маленькая.

Третий же вариант подойдёт абсолютно всем. Он применим в любой ситуации. Однако требует дополнительных расходов на роутер. Либо, если уж берёте из того же дряхлого шкафа, старый, то обязательно убедитесь, что в нём есть минимум 2 порта RJ-45 и его прошивка поддерживает возможность назначения одного из них в качестве WAN-интерфейса.

Всё друзья. Я как всегда затянул выпуск. Хотя прекрасно понимаю, что ваше время это самый ценный ресурс. Но ребят. По опыту знаю, что лучше 1 раз потратить 15-20 минут и получить ценную информацию. Чем неделями сидеть на форумах и по чайной ложке вычерпывать из разных постов крупицы полезной инфы. Так, что не серчайте. До встречи через недельку. Всем добра и хорошего новогоднего настроения!

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector