0 / 0 / 0
Регистрация: 29.08.2016
Сообщений: 17
1

Hairpin NAT и изоляция внутренних подсетей

25.05.2021, 09:04. Показов 2635. Ответов 12

Author24 — интернет-сервис помощи студентам
Интернет (2.2.2.2) и две локальные подсети (192.168.1.0/24 и 192.168.2.0/24) подключены к одному маршрутизатору. Необходимо сделать доступ к вебсерверу 192.168.2.10 из подсети 192.168.1.0/24 через внешний ip 2.2.2.2
На этом этапе все просто, Hairpin NAT:

Код
/ip firewall nat
add chain=srcnat out-interface=WAN action=masquerade
add chain=dstnat dst-address=2.2.2.2 protocol=tcp dst-port=80 action=dst-nat to-address=192.168.2.10
add chain=srcnat src-address=192.168.1.0/24 dst-address=192.168.2.10 protocol=tcp dst-port=80 action=masquerade
До этого момента все работает.

Теперь нужно изолировать друг от друга внутренние подсети, но при этом оставить возможность из первой подсети (192.168.1.0/24) через внешний адрес заходить на вебсервер (http://2.2.2.2).

Как только включаю фильтры на FW, например:
Код
/ip firewall filter
add action=drop chain=forward disabled=yes dst-address=192.168.3.0/24 src-address=192.168.1.0/24
add action=drop chain=forward disabled=yes dst-address=192.168.1.0/24 src-address=192.168.3.0/24
или правила маршрутизации:

Код
/ip route rule
add action=unreachable dst-address=192.168.3.0/24 src-address=192.168.1.0/24
add action=unreachable dst-address=192.168.1.0/24 src-address=192.168.3.0/24
доступ из сети 192.168.1.0/24 к вебсерверу по адресу http://2.2.2.2 пропадает, при этом доступ из «интернета» к http://2.2.2.2 остается.

Как изолировать подсети, так чтобы оставfлся доступ к вебсерверу из внутренней подсети?
0
Лучшие ответы (1)
25.05.2021, 09:04
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2021, 09:04
Ответы с готовыми решениями:

Проблемы с настройкой Hairpin NAT
Добрый день, есть необходимость подключаться к серверу по фтп протоколу по внешнему адресу из внутренней сети. Из сети Интернет доступ к...

Сети - статическое преобразование NAT для своих внутренних сетей
Нужна помощь с решением теста, эта один из вопросов в нем. Оба маршрутизатора, R1 и R2, выполняют статическое преобразование NAT для...

WPF: Не работают библиотеки Open.NAT, Mono.NAT
Доброго времени суток! Хочу витащить свой IP. У меня "серый ip". (кто не в курсе го в Википедию) Искал решение. Нашел библиотеку...

12
Эксперт по компьютерным сетям
 Аватар для insect_87
11433 / 7002 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
25.05.2021, 09:27 2
покажите
Код
export compact
0
Эксперт по компьютерным сетям
 Аватар для romsan
5318 / 2187 / 467
Регистрация: 17.10.2015
Сообщений: 9,316
25.05.2021, 09:34 3
Цитата Сообщение от ewgenik Посмотреть сообщение
доступ к вебсерверу 192.168.2.10
занести адрес 2.10/24 в address-list. В правилах блокировки между подсетями, прописать исключение на этот address-list
0
Эксперт по компьютерным сетям
 Аватар для insect_87
11433 / 7002 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
25.05.2021, 10:08 4
я один тут вижу три внутренних сети?
или так и есть?


Если сети все же две, тогда выше запрещающего весь трафик по цепочке forward правила поставить эти правила
Код
ip firewall filter
add action=accept chain=forward connection-state=established,related
add action=accept chain=forward dst-address=192.168.2.10 src-address=192.168.1.0/24
add action=drop chain=forward dst-address=192.168.2.0/24 src-address=192.168.1.0/24
add action=drop chain=forward dst-address=192.168.1.0/24 src-address=192.168.2.0/24

Цитата Сообщение от ewgenik Посмотреть сообщение
или правила маршрутизации:
там вообще ничего делать не надо, не для такого случая эти правила используются
1
Эксперт по компьютерным сетям
 Аватар для romsan
5318 / 2187 / 467
Регистрация: 17.10.2015
Сообщений: 9,316
25.05.2021, 10:43 5
Цитата Сообщение от insect_87 Посмотреть сообщение
я один тут вижу три внутренних сети?
скорее всего ТС ошибся - пишет о 2-х сетях, а в коде 3.0/24 указывает

Цитата Сообщение от insect_87 Посмотреть сообщение
add action=accept chain=forward dst-address=192.168.2.10 src-address=192.168.1.0/24
этим разрешаем "туда", а для обратных пакетов? Ведь "от туда" запрещено правилом:
Цитата Сообщение от insect_87 Посмотреть сообщение
add action=drop chain=forward dst-address=192.168.1.0/24 src-address=192.168.2.0/24
Добавлено через 6 минут
хотя, да, "от туда" - это уже established соединение будет.
0
Эксперт по компьютерным сетям
 Аватар для insect_87
11433 / 7002 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
25.05.2021, 10:50 6
Цитата Сообщение от romsan Посмотреть сообщение
этим разрешаем "туда", а для обратных пакетов? Ведь "от туда" запрещено правилом:
Цитата Сообщение от romsan Посмотреть сообщение
хотя, да, "от туда" - это уже established соединение будет.
0
0 / 0 / 0
Регистрация: 29.08.2016
Сообщений: 17
25.05.2021, 11:23  [ТС] 7
Цитата Сообщение от insect_87 Посмотреть сообщение
я один тут вижу три внутренних сети?
или так и есть?
Прошу прощения, в коде опечатался, на самом деле две сети.

Цитата Сообщение от insect_87 Посмотреть сообщение
Сообщение от ewgenik
или правила маршрутизации:
там вообще ничего делать не надо, не для такого случая эти правила используются
понял, благодарю.

Цитата Сообщение от insect_87 Посмотреть сообщение
ip firewall filter
add action=accept chain=forward connection-state=established,related
add action=accept chain=forward dst-address=192.168.2.10 src-address=192.168.1.0/24
Я понимаю, что если так сделать, то заработает. Но в этом случае сети уже будут менее изолированы.

Я думал, что если мы имеем
Код
add chain=srcnat out-interface=WAN action=masquerade
то при обращении из локальной сети 192.168.1.0/24 к адресу http://2.2.2.2 на вебсервер 192.168.2.10 придут пакеты с src-address=192.168.2.1 (маскарадинг же), и по идее правила firewall`а
Код
add action=drop chain=forward disabled=yes dst-address=192.168.2.0/24 src-address=192.168.1.0/24
add action=drop chain=forward disabled=yes dst-address=192.168.1.0/24 src-address=192.168.2.0/24
не должны дропнуть не исходящие не обратные пакеты.
0
Эксперт по компьютерным сетям
 Аватар для insect_87
11433 / 7002 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
25.05.2021, 11:35 8
Цитата Сообщение от ewgenik Посмотреть сообщение
то при обращении из локальной сети 192.168.1.0/24 к адресу http://2.2.2.2 на вебсервер 192.168.2.10 придут пакеты с src-address=192.168.2.1 (маскарадинг же), и по идее правила firewall`а
не правильно вы поняли,
на роутер придет пакет в виде S:192.168.1.x D:2.2.2.2,
сначала отработает dst-nat и пакет примет вид: S:192.168.1.x D:192.168.2.10,
далее пакет будет проходить цепочку filter forward, для которой мы и пишем правила accept/drop,
и уже только потом отработает src-nat и пакет примет вид S: 192.168.2.1 D: 192.168.2.10,
затем пакет выйдет из роутера

Цитата Сообщение от ewgenik Посмотреть сообщение
Но в этом случае сети уже будут менее изолированы.
чем это?
все так же и будут изолированы, но из сети 1.0 будет открыт доступ только к 2.10
0
Эксперт по компьютерным сетям
 Аватар для insect_87
11433 / 7002 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
25.05.2021, 11:43 9
вот так все это будет
Миниатюры
Hairpin NAT и изоляция внутренних подсетей  
1
Эксперт по компьютерным сетям
 Аватар для insect_87
11433 / 7002 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
25.05.2021, 11:49 10
Цитата Сообщение от ewgenik Посмотреть сообщение
add chain=srcnat out-interface=WAN action=masquerade
вообще не имеет отношения к пакетам между внутренними сетями, этот нат отработает, только если решением маршрутизации (3) пакет будет отправлен на интерфейс из списка WAN
у вас интерфейсы с адресами 192.168.1.1 и 192.168.2.1, в списке WAN как я полагаю, не присутствуют
0
0 / 0 / 0
Регистрация: 29.08.2016
Сообщений: 17
25.05.2021, 11:59  [ТС] 11
Цитата Сообщение от insect_87 Посмотреть сообщение
чем это?
все так же и будут изолированы, но из сети 1.0 будет открыт доступ только к 2.10
я так понимаю, что из сети 1.0 можно будет напрямую обратиться к http://192.168.2.10 и связь будет работать уже не через маскарадинг. Таким образом вебсервер на 192.168.2.10 увидит пакеты от 192.168.1.0/24. Это уже не изоляция. Или ошибаюсь?

Добавлено через 3 минуты
Цитата Сообщение от insect_87 Посмотреть сообщение
Сообщение от ewgenik
add chain=srcnat out-interface=WAN action=masquerade
вообще не имеет отношения к пакетам между внутренними сетями, этот нат отработает, только если решением маршрутизации (3) пакет будет отправлен на интерфейс из списка WAN
у вас интерфейсы с адресами 192.168.1.1 и 192.168.2.1, в списке WAN как я полагаю, не присутствуют
Я тут опять ошибся, я должен был вот это правило процитировать:
Код
add chain=srcnat src-address=192.168.1.0/24 dst-address=192.168.2.10 protocol=tcp dst-port=80 action=masquerade
Добавлено через 57 секунд
Цитата Сообщение от insect_87 Посмотреть сообщение
вот так все это будет
Снимаю шляпу!
0
Эксперт по компьютерным сетям
 Аватар для insect_87
11433 / 7002 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
25.05.2021, 12:54 12
Лучший ответ Сообщение было отмечено ewgenik как решение

Решение

Цитата Сообщение от ewgenik Посмотреть сообщение
я так понимаю, что из сети 1.0 можно будет напрямую обратиться к http://192.168.2.10 и связь будет работать уже не через маскарадинг.
да.
покажите
Код
export compact
в правилах файрволла есть флаг connection-nat-state=dstnat

вот так попробуйте:
Код
ip firewall filter
add action=accept chain=forward connection-state=established,related
add action=accept chain=forward dst-address=192.168.2.10 src-address=192.168.1.0/24 connection-nat-state=dstnat 
add action=drop chain=forward dst-address=192.168.2.0/24 src-address=192.168.1.0/24
add action=drop chain=forward dst-address=192.168.1.0/24 src-address=192.168.2.0/24

таким образом из сети 192.168.1.0/24 доступ к веб-серверу должен быть только по адресу 2.2.2.2
1
0 / 0 / 0
Регистрация: 29.08.2016
Сообщений: 17
26.05.2021, 04:07  [ТС] 13
Цитата Сообщение от insect_87 Посмотреть сообщение
в правилах файрволла есть флаг connection-nat-state=dstnat
Вот оно! Благодарю!
0
26.05.2021, 04:07
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2021, 04:07
Помогаю со студенческими работами здесь

Определить количество подсетей в сети, маску сети, диапазоны подсетей
Начальный адрес сети 199.117.13.0 количество компьютеров в подсети 6. Необходимо определить количество подсетей в сети, маску сети,...

Изоляция программы
итак, есть программа(.exe), необходимо её запустить, да только так, чтобы при её попытке доступа в интернет, обращения к консоли, изменения...

Изоляция MS Agent 2.0
Написал тестовую программу: Option Explicit Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Dim CharPath As...

Изоляция в транзакции
Добрый день. Вопрос простой. Есть некая последовательность: 1. Запрос на получение количество строк в одной из таблиц 2. Insert в...

Изоляция Российского интернета
Если вдруг этот законопроект дойдет до своего логического заключения, что нас ждет? Придумают ли путь обойти барьер?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
Laravel или Symfony: что лучше для старта?
Wired 18.02.2025
В веб-разработке выбор правильного фреймворка может стать определяющим фактором успеха проекта. Особенно это актуально для PHP - одного из самых распространенных языков программирования, где Laravel. . .
Что нового в Laravel 12
Wired 18.02.2025
С момента своего появления в 2011 году Laravel постоянно развивается, внедряя инновационные решения и совершенствуя существующие возможности. В начале 2025 года ожидается выход Laravel 12 - новой. . .
Роутер в Laravel: как работать с маршрутами
Wired 18.02.2025
Маршрутизация - один из основополагающих элементов любого веб-приложения на Laravel, определяющий как приложение отвечает на HTTP-запросы к различным URL-адресам. По сути, роутинг - это механизм. . .
Интеграция шаблона Bootstrap в Laravel PHP
Wired 18.02.2025
Разработка веб-приложений в современном мире требует не только надежного бэкенда, но и привлекательного, отзывчивого интерфейса. Laravel, как один из самых популярных PHP-фреймворков, отлично. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru