Я пытаюсь предоставить общий доступ извне моей сети к определенному устройству (10.1.1.12) внутри моей сети, используя порт 5000.
У меня есть компьютер, работающий как брандмауэр между моим шлюзом и устройствами в моей сети, поэтому мне нужно изменить iptables этого ПК. Этот ПК, действующий как брандмауэр, имеет два интерфейса: eth0 (10.1.1.1) и eth1 (192.168.1.5).
Входящий трафик извне будет поступать с eth1 (192.168.1.5), и мне просто нужно перенаправить его на eth0 (10.1.1.1), потому что на данный момент я уже установил пересылку с 10.1.1.1 на 10.1.1.12 ( последнее устройство), и он работает нормально.
Поискав в Интернете, я безуспешно попытался установить следующие два правила iptables:
iptables -A FORWARD -p tcp --destination-port 5000 --in-interface eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --destination-port 5000 --out-interface eth0 -j MASQUERADE
Затем я попытался установить следующее правило iptables, также безуспешно:
iptables -t nat -A PREROUTING -p tcp --destination-port 5000 --in-interface eth1 -j MASQUERADE
В заключение, если я наберу в браузере 10.1.1.1:5000 изнутри своей сети, я могу получить доступ к 10.1.1.12, так что пересылка работает нормально. Но если я наберу в браузере my.public.i.p: 5000 из-за пределов моей сети, я получаю ERR_ADDRESS_UNREACHABLE, поэтому пересылка между eth1 и eth0 не работает нормально.
Некоторая помощь будет оценена. Спасибо.
Знаете ли вы, что 192.168.0.0/16 и 10.0.0.0/8 являются частными сегментами и поэтому недоступны из Интернета? Если ваш "маршрутизатор" имеет IP 192.168.1.5, он уже во внутренней сети. Внешний IP-адрес будет другим, и пограничный маршрутизатор должен иметь возможность маршрутизировать весь трафик из-за пределов Интернета на ваш внутренний IP-адрес 192.168.1.5, чтобы иметь возможность перенаправить порт. Если это брандмауэр входящего трафика, то вы не можете получить ни один пакет на порт 5000 из Интернета.