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

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

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

Студворк — интернет-сервис помощи студентам
Интернет (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:

Code
1
2
3
4
/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, например:
Code
1
2
3
/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
или правила маршрутизации:

Code
1
2
3
/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)
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
11438 / 7007 / 1903
Регистрация: 25.12.2012
Сообщений: 29,402
25.05.2021, 09:27
покажите
Code
1
export compact
0
Эксперт по компьютерным сетям
 Аватар для romsan
5605 / 2215 / 474
Регистрация: 17.10.2015
Сообщений: 9,403
25.05.2021, 09:34
Цитата Сообщение от ewgenik Посмотреть сообщение
доступ к вебсерверу 192.168.2.10
занести адрес 2.10/24 в address-list. В правилах блокировки между подсетями, прописать исключение на этот address-list
0
Эксперт по компьютерным сетям
 Аватар для insect_87
11438 / 7007 / 1903
Регистрация: 25.12.2012
Сообщений: 29,402
25.05.2021, 10:08
я один тут вижу три внутренних сети?
или так и есть?


Если сети все же две, тогда выше запрещающего весь трафик по цепочке forward правила поставить эти правила
Code
1
2
3
4
5
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
5605 / 2215 / 474
Регистрация: 17.10.2015
Сообщений: 9,403
25.05.2021, 10:43
Цитата Сообщение от 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
11438 / 7007 / 1903
Регистрация: 25.12.2012
Сообщений: 29,402
25.05.2021, 10:50
Цитата Сообщение от romsan Посмотреть сообщение
этим разрешаем "туда", а для обратных пакетов? Ведь "от туда" запрещено правилом:
Цитата Сообщение от romsan Посмотреть сообщение
хотя, да, "от туда" - это уже established соединение будет.
0
0 / 0 / 0
Регистрация: 29.08.2016
Сообщений: 20
25.05.2021, 11:23  [ТС]
Цитата Сообщение от 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
Я понимаю, что если так сделать, то заработает. Но в этом случае сети уже будут менее изолированы.

Я думал, что если мы имеем
Code
1
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`а
Code
1
2
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
11438 / 7007 / 1903
Регистрация: 25.12.2012
Сообщений: 29,402
25.05.2021, 11:35
Цитата Сообщение от 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
11438 / 7007 / 1903
Регистрация: 25.12.2012
Сообщений: 29,402
25.05.2021, 11:43
вот так все это будет
Миниатюры
Hairpin NAT и изоляция внутренних подсетей  
1
Эксперт по компьютерным сетям
 Аватар для insect_87
11438 / 7007 / 1903
Регистрация: 25.12.2012
Сообщений: 29,402
25.05.2021, 11:49
Цитата Сообщение от 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
Сообщений: 20
25.05.2021, 11:59  [ТС]
Цитата Сообщение от 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 как я полагаю, не присутствуют
Я тут опять ошибся, я должен был вот это правило процитировать:
Code
1
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
11438 / 7007 / 1903
Регистрация: 25.12.2012
Сообщений: 29,402
25.05.2021, 12:54
Лучший ответ Сообщение было отмечено ewgenik как решение

Решение

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

вот так попробуйте:
Code
1
2
3
4
5
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
Сообщений: 20
26.05.2021, 04:07  [ТС]
Цитата Сообщение от insect_87 Посмотреть сообщение
в правилах файрволла есть флаг connection-nat-state=dstnat
Вот оно! Благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru