Помогите разобраться в чем может быть проблема ? Не работает Web сервер из локальной сети, прописал правила NAT все по инструкции, снаружи работает, а вот внутренний нет. вот такие два правила для внутренних , замена назначенца и источника ip=1.1.1.1 - адрес внешнего интерфейса роутера ip=2.2.2.2- адрес web сервера ;;; Web 1 chain=dstnat action=dst-nat to-addresses=2.2.2.2 protocol=tcp src-address=192.168.0.0/24 dst-address=1.1.1.1 dst-port=80 log=no log-prefix="" 4 ;;; Web 2 chain=srcnat action=masquerade protocol=tcp src-address=192.168.0.0/24 dst-address=2.2.2.2 dst-port=80 log=no log-prefix="" Может какие-то правила из Filter Rules этот вариант каким трафиком считается forward ? или input, output ? куда еще смотреть. Если на локальном ПК в hosts прописать домен и ip web то работает, значит сервак доступен из локалки. Таким же образом и видеорегистратор нужно будет прописать !
Если web сервер и локальная сеть в разных подсетях (2.2.2.2 и 192.168.0.0/24) - должно работать без Hairpin NAT Иначе примерно так: /ip firewall nat add chain=dstnat dst-address=внешний_IP protocol=tcp dst-port=80 action=dst-nat to-address=web_сервер (вероятно уже есть) add chain=srcnat out-interface=WAN action=masquerade (вероятно уже есть) add chain=srcnat src-address=локальная_сеть dst-address=web_сервер protocol=tcp dst-port=80 out-interface=LAN action=masquerade
Не работает ! Web сервер и ПК локалки в разных подсетях. Здесь засады нет я так понимаю, Если на локальном ПК в hosts прописать домен и ip web то работает, значит сервак доступен из локалки. 194.226.129.142-внешний ip 192.168.49.11 web сервер bridge1- vlan локалки вот такие правила прописаны в этом правиле подменяется назначенец (т.е. юзер идет на внешний ip=194.226.129.142, а он подменяется на web=192.168.49.11) ;;; Web 1 chain=dstnat action=dst-nat to-addresses=192.168.49.11 protocol=tcp src-address=192.168.0.0/24 dst-address=194.226.129.142 dst-port=80 log=no log-prefix="" а в этом правиле подменяется отправитель на адрес роутера 4 ;;; Web 2 chain=srcnat action=masquerade protocol=tcp src-address=192.168.0.0/24 dst-address=192.168.49.11 out-interface=bridge1 dst-port=80 log=no log-prefix="" это для внешних клиентов 5 ;;; WEB chain=dstnat action=dst-nat to-addresses=192.168.49.11 to-ports=80 protocol=tcp src-address-list=!haker-web in-interface=bridge0 dst-port=80 log=no log-prefix="" если включить service port80 то перебрасывает на web морду микротика
Так сделали? chain=dstnat action=dst-nat to-address=192.168.49.11 protocol=tcp dst-address=194.226.129.142 dst-port=80 to-port=80 log=no log-prefix="" src-address=192.168.0.0/24 chain=dstnat action=dst-nat to-address=192.168.49.11 protocol=tcp dst-address=194.226.129.142 dst-port=80 src-address-list=!haker-web to-port=80 chain=srcnat src-address=192.168.0.0/24 dst-address=192.168.49.11 protocol=tcp dst-port=80 out-interface=bridge0 action=masquerade А разве не должен?
разобрался, оказывается если ПК , который идет на сайт и web сервер в разных подсетях достаточно одного правила, аналогичного внешнему пробросу chain=dstnat action=dst-nat to-addresses=ip_web protocol=tcp dst-address=ip_внешний in-interface=vlan dst-port=80 log=no log-prefix="" vlan именно тот , в котором торчит ПК внутреннего клиента, причем Apache видит именно ip конкретного клиента! у меня несколько подсетей отдельных, с которых нужно ходить на сайт местного web сервера, vlan-ы внутренние объединены в bridge1, но я пробовал прописывать in-interface=bridge1 -НЕ РАБОТАТЕТ ! Пришлось прописать это правило для всех vlan -нов ! Если web сервер и ПК внутренне сети в одной подсети (у меня видеосервер так торчит), то нудно добавить еще одно правило маскарадное! chain=srcnat action=masquerade protocol=tcp dst-address=ip_web out-interface=vlan-web dst-port=80 log=no log-prefix="" здесь важно, чтобы out-interface=vlan-we это та подсеть куда торчить именно web сервер и тогда Apache видит именно ip роутера на этом vlan-е. Короче прописал по этому принципу видеорегистраторы , все работает !