Назад | Перейти на главную страницу

Mikrotik: нет доступа к порту извне

Я выставил веб-сервис на моем локальном компьютере на внешний IP-адрес через Mikrotik и могу получить к нему доступ через MY_EXTERNAL_IP:5000.

Но мой nginx-сервер не может получить доступ к MY_EXTERNAL_IP:5000. Журналы:

14:09:53 firewall,info dstnat: in:bridge out:(none), src-mac 60:03:08:8c:a7:30, proto TCP (SYN), 192.168.1.19:50135->MY_EXTERNAL_IP:5000, len 64 
14:09:55 firewall,info input: in:ether1 out:(none), src-mac 04:62:73:a2:55:49, proto TCP (SYN), 188.196.62.73:47850->MY_EXTERNAL_IP:5000, len 60 

Журнал ошибок Nginx:

[error] 2048#0: *434 connect() failed (111: Connection refused) while connecting to upstream, client: MY_EXTERNAL_IP, server: MY_DOMAIN.com, request: "GET / HTTP/1.1", upstream: "http://MY_EXTERNAL_IP:5000/", host: "MY_DOMAIN.com"

Почему nginx-сервер не может получить доступ к MY_EXTERNAL_IP:5000 (Это вызывает ошибку 502), иначе я могу из браузера?

Я полагаю, мне нужно дополнительное правило фильтра межсетевого экрана. Который из?

Проблема была в настройках NAT: у меня был In. Interface остановился на «Мост» вместо «ether1» (правильный).

Вам также необходимо добавить разрешающее правило в цепочку FORWARD:

/ip firewall filter add chain=forward action=accept protocol=tcp dst-address=INTERNAL_IP dst-port=5000 log=no log-prefix=""

Правило должно быть выше любых общих правил блокировки, влияющих на цепочку FORWARD.