Mikrotik + VPN/iptables: как пробросить порт на внешний IP? На моем провайдере используются серые адреса + NAT, что не даёт возможности пробросить порт во внешний интернет, поэтому хочу пробросить порт через VPN с белым внешним IP. На Mikrotik настроен проброс портов следующим образом:/ip firewall nat add action=masquerade chain=srcnat out-interface=my-vpn /ip firewall add action=dst-nat chain=dstnat in-interface=my-vpn log=yes protocol=tcp to-addresses=169.254.1.251 to-ports=5000 где 169.254.1.251:5000 - адрес моего сервера в локалке, который нужно пробросить. На VPN-сервере настроен статический IP (10.201.0.6) для роутера, и по команде в консоли VPNа: curl http://10.201.0.6:5000 показывается нужный мне контент. Осталось добавить правило для редиректа трафика на VPN-сервере, пытаюсь сделать так:iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 5000 -j DNAT --to-dest 10.201.0.6:5000, где x.x.x.x - внешний IP VPNа, но по внешнему IP сайт не открывается, хотя вижу, что запрос на роутер приходит и правило dst-nat срабатывает. Что я делаю не так? Спасибо заранее. UPD: Получилось сделать через проксирование на базе nginx, но можно ли прокинуть напрямую, без него?server { listen 5000; location / { proxy_pass http://10.201.0.6:5000; } }
Убедитесь, что внешний IP VPN сервера x.x.x.x прописан корректно.
Проверьте, что на VPN-сервере разрешены входящие соединения на порт 5000. Для этого можно проверить правила фаервола на VPN-сервере.
Если после этих действий сайт по внешнему IP все равно не открывается, попробуйте проанализировать логи на VPN-сервере, микротике и клиентской машине для выявления возможных ошибок в настройках.
Для проброса порта на внешний IP через VPN без использования nginx можно попробовать следующий подход:
Проверьте правила NAT на микротике. Убедитесь, что правило masquerade для исходящего трафика через VPN работает корректно.
В iptables на VPN-сервере измените правило DNAT следующим образом:
iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 5000 -j DNAT --to-destination 10.201.0.6:5000Убедитесь, что внешний IP VPN сервера x.x.x.x прописан корректно.
Проверьте, что на VPN-сервере разрешены входящие соединения на порт 5000. Для этого можно проверить правила фаервола на VPN-сервере.
Если после этих действий сайт по внешнему IP все равно не открывается, попробуйте проанализировать логи на VPN-сервере, микротике и клиентской машине для выявления возможных ошибок в настройках.