Доступ к внутренним ресурсам из изолированной подсети?
Ситуация следующая:
1. Оборудование: Mikrotik
2. Основная сеть: 10.10.10.0/24 gtw: 10.10.10.1
3. Остевая сеть: 10.10.22.0/24 gtw: 10.10.22.1
4. В основной подсети на адресе 10.10.10.10 есть web сервис к которому необходимо предоставить доступ из гостевой подсети через внешний адрес: 192.168.100.2.
5. Гостевая сеть имеет доступ к глобальной. Гостевая сеть изолирована от основной: ip route rule add src-address=10.10.22.0/24 dst-address=10.10.10.0/24 action=unreachable
6. Добавлено правило dst-nat: ip firewall nat add chain=dstnat dst-address=192.168.100.2 protocol=tcp dst-port=80 action=dst-nat to-addresses=10.10.10.10
7. Добавлено правило src-nat: ip firewall nat add chain=srcnat src-address=10.10.22.0/24 out-interface=bridge_10.10.10.0 action=src-nat to-addresses=10.10.10.1
8. В итоге нет прохождения пакетов из подсети 10.10.22.0/24 до хоста 10.10.10.10. При отключении правила маршрутизации пакеты проходят, при снятии дампа на хосте 10.10.10.10 в качестве src. address выступает 10.10.10.1. То есть отрабатывают и dst-nat и src-nat.
Необходимо предоставить доступ к этому веб сервису из гостевой подсети через внешний ip адрес. Гостевая сеть должна быть изолирована без исключений.
Посмотрите диаграмму прохождения пакетов.
У вас сначала пакет с 10.10.22.x на 192.168.100.2
Дальше dst nat и пакет становится с 10.10.22.x на 10.10.10.10
Потом он попадает в форвард и там должен словить ваше правило с unreachable.
Добавлено правило src-nat: ip firewall nat add chain=srcnat src-address=10.10.22.0/24 out-interface=bridge_10.10.10.0 action=src-nat to-addresses=10.10.10.1 . Пакеты на хост с веб сервисом приходят с src. address=10.10.10.1. Снимал дамп Wireshark. Но конечно явно проблема с этим правилом. Либо нужно переконфигурировать src и dst nat.
Richard Querman, вы уверены, что это те самые пакеты доходят до веб сервиса?
По идее они не должны доходить совсем и должны отбрасываться на роутере с ответом в виде icmp unreachable.
src-nat обрабатывается уже в цепочек out, по идее до этой цепочки пакет вообще добраться на должен.
И зачем у вас вообще в данном случае src-nat?
Без очень хитры конструкции вы не сможете сделать правило тип drop all между этими сетями.
Вам нужно dst-nat.
Дальше правило разрешающее трафик между этими сетями по 80 порту.
Дальше правило разрешающее обратный трафик для уже установленных соединений( если необходимо его можно еще сузить по портам, адресу веб сервера и nat признаку ).
После чего drop all. Которое сделает drop для остального трафика.
В общем случае веб сервер вообще лучше вынести в dmz зону отдельно от всех сетей.